Zero Proof of Faith – Hacker Noon

In deterministic mathematics, solutions hold true with absolute certainty. But probabilistic math is more of a religious experience. Logic cannot defeat doubt entirely, so at its core, drawing conclusions to probabilistic problems is a function of faith.

The necessity of faith is a timeless truth, one that goes back in human lore thousands of years. Take, for example, the story of Moses. Through a series of plagues — from frogs to the murdering of first-born sons — Moses tried to prove to Pharaoh that God exists. But because Pharaoh lacked faith, assuaging his doubts and unlearning his preconceived notions of the ways of the world required a slow and arduous ascension of proof — one of increasing violence and consequence.

I’m reminded of this story any time I think of the blockchain, and more specifically, the eminent question presently on the mind of blockchain participants: how does one prove to another party in a financial transaction that they possess the knowledge — or key, or wallet — that they purport to possess, all without sacrificing their anonymity or security?

Although this is a feature of the blockchain, things are further complicated by the fact that participants on a decentralized ledger have no third-party authority they can turn to for validation. Counterparties completing transactions in the world of banking can determine whether the other party is legitimate by consulting their bank. But how can we obtain that validation in a genuinely peer-to-peer system that itself depends on anonymity?

The question is probabilistic. And the answer resides in something called zero proof knowledge, which, above all things, requires faith.

What is zero proof knowledge?

Put in blockchain terms, zero-knowledge proofs allow users to verify transactions while at the same time protecting that transaction’s privacy.

More specifically, a zero-knowledge proof enables a “prover” to assure a “verifier” that they have knowledge of a secret or statement — without revealing the secret itself.

Here’s how it works: imagine you and I are standing across from each other in a windowless room. You are colorblind. I hand you two billiard balls — one is red and one is green, but otherwise, they are identical.

My job is to prove to you that I know the balls are, in fact, different, which I do by telling you when you switch them. That’s it. I do not need to prove which one is red and which one is green — just that I know if and when you switch the balls in your hand.

In order to do so, I ask you to hold the balls behind your back. Next, I ask you to shuffle the balls, select one, and display it to me. By looking at the color of the ball displayed, I can of course say with absolute certainty whether or not you switched them. On the other hand, if they were the same color — and were therefore indistinguishable — there is no way I could guess correctly with a probability higher than 50 percent.

So, if you and I repeat this proof multiple times, you should become convinced that I know the balls are indeed differently colored. But all the while, you will gain no knowledge about how exactly I distinguish the billiard balls. You will only ascertain that I know they’re different.

The billiards ball instance illuminates how people with knowledge can prove they have that knowledge without the counterparty learning what the knowledge is. And it’s for this reason that zero-knowledge proofs can be used to safely conduct financial transactions on the blockchain. They give users the ability to prove, continually, that they own the tokens or key that they purport to own without sacrificing the anonymity that guarantees their security.

But here’s the catch: zero-knowledge proofs only work if participants have faith.

In the billiards example, I (as the color-blind holder) will never know with absolute certainty whether you’re telling the truth about the balls being differently colored. Fractionally, it will remain possible that you’re lying. Just as Moses could not prove without a fraction of a doubt that God existed, zero-knowledge proofs cannot confirm with 100 percent certainty that the “prover” is not, in fact, a cheat.

The process requires some probabilistic amount of faith.

Choice is itself always a function of faith. At a certain point, you have to take a step forward into a sort of philosophical unknown. Faith is what allows you to take that step. When you grant someone faith, what you’re really granting them is credit. You are saying that you believe them to be credible.

Credit is critical to transacting inside any human system, on or off the blockchain. All such systems rely on faith.

The film The Matrix articulates this point well.

In The Matrix, the protagonist, Neo, meets with a man named The Architect, and he learns about the machine world The Architect has built to manage the lives of humans. But he also learns that, in order for the machine world to function properly, it was required for The Architect to render the world imperfect — which is to say, to lend humans the ability to make their own choices.

He wanted to build a perfect world — one in which the human mind could live in perfect harmony — but he saw that choice is required in all human interactions. He found that the ability to choose is paramount to humans’ ability to survive.

You have to be able to trust in order to choose. You have to decide what to put your faith in. Trust cannot be built algorithmically or automatically — there remains a necessary human element.

Such is the case with the mechanisms we build in real life, too. No matter how elegant or beautiful they might be, to some extent, they require some amount of faith. This is true of cryptographic mechanisms just as it is true of other systems we build and rely on — even systems like banking, in which we rely on centralized, third-party authorities to act as sources of truth for us.

Zero-knowledge proofs do not yet have widespread use — but they will soon.

Through zero-proof mechanisms, one can probabilistically prove that they’re trustworthy. And that’s why zero-knowledge proofs will soon become critical components of the blockchain-powered economy. They provide us a way of proving ownership in a decentralized system that has no entities of trust.

Of course, probabilistic, cryptographic, zero-knowledge proofs are not perfect. But they do help us establish credit in a peer-to-peer system for which there is no centralized source of truth. They do bring counterparties close enough together so that one can believe that what the other is saying is true — that they do possess the key or tokens they claim to possess. It enables this in a way that does not necessitate one party giving away their key and sacrificing the security of their funds.

Still, for zero-knowledge proofs to work, the participants using them must have faith. We must recognize faith as an integral component of this powerful tool we’ve built.

The logic is at our feet. Now we just have to choose. Let us not replicate Pharaoh’s disastrous mistakes.

read original article here