Your personal data like your contact information,

your tastes or even your behavior patterns are very valuable. A lot of companies try to collect as much

information about you as they can, so they’ll be able to sell more ads, give you better

recommendations or keep you longer on their platforms. With so many companies and services collecting

our data, it almost seems impossible to keep it private. Now of course you could say: don’t use services

that collect personal data. If you don’t agree with the way Facebook

uses your data for example, you could just decide to not sign up for it or even delete

your account. But it’s not that simple, we don’t always

have a choice. Try for instance to get a loan from a bank

without revealing your financial history. We do have the ultimate control over our personal

data but in reality we’re often forced to reveal more than we actually want. So that got me looking into alternative ways

of sharing data. Is there a way to provide companies with the

data they need, without actually revealing the data itself? Kind of like proving that something is true

without revealing the thing we’re proving… Well such a technique does exist and it’s

called Zero Knowledge Proof. Let me demonstrate how it works. Imagine you have a friend who is colorblind

and can’t see the difference between a green and red ball. To him, the balls have the same color and

you want to prove to him that they are in fact different. He doesn’t need to know which is red and

which is green, just whether or not they are different. So you give the balls to your friend and take

note which ball is in which hand. Then your friend puts the balls behind his

back and chooses to either switch them around or not. After that, he shows them again to you and

now you have to tell him whether or not the balls have switched hands. If you aren’t color blind, this is very

easy to do because you can see the difference in color. You can clearly tell when the red ball was

moved from his left to right hand for instance. In fact we can determine that with an accuracy

of 100%, because, again we see the difference in colors.. But hang on! Your friend is suspicious, the balls look

the same to him and he thinks that you’re trying to fool him. After all, you have a 1 in 2 chance of correctly

guessing whether he switched the balls. Those are pretty good odds, so you decide

to run the experiment again. Your friend hides the balls behind his back,

randomly chooses to switch them or not and then presents them again to you. Again, you can see straight away if he switched

them or not. But if the balls would be the same color,

you would have to guess again. And now your chances of guessing correctly

are halved and are now just 1 in 4 or 25%. Repeat this process 10 times and the chance

of you guessing correctly drops drops to just 0,09%. This probability is small enough to convince

your friend that the balls are indeed a different color, you just can’t be that lucky. But of course you could keep going. Each time you repeat the process, the probability

that you’re cheating decreases further. So that’s it! We have “proven” to our friend that the

balls have a different color. But this proof does not convey the actual

colors of the balls to our friend. Hence the name “zero knowledge”. Oh and it’s interesting to point out that

a “zero knowledge proof” doesn’t give you an airtight proof. It’s about minimizing the probability that

someone is lying to you. You can get that probability very small but

it can never reach 0. There are two forms of zero knowledge proof:

interactive and non-interactive. The example of you and your friend with the

colored balls is interactive. Because you, the prover, had to perform a

series of actions to convince your friend, the verifier of a certain fact. It’s almost like an interrogation! However there is one drawback to this technique:

the proof is limited in transferability. We convinced our friend that the balls have

a different color, but if we want to do the same with someone else, who’s also color

blind we have to repeat the entire process. The other form is “non-interactive” and

allows you to deliver a proof that anyone can verify by themselves. No need to juggle balls around! In fact, you might have heard about zk-SNARKS,

which is used by some cryptocurrencies to protect the privacy of their users. You see traditional projects like Bitcoin

make all transactions public, meaning everyone can see everyone’s balance and how they

spend their coins. Other projects, like Zcash use a non-interactive,

zero-knowledge proof to hide all of this. That’s where SNARK’s come in, which is

short for “succinct non-interactive arguments of knowledge”. For blockchains, we have to use a non-interactive

proof because transactions have to be verifiable by every node on the network. That’s how blockchains reach consensus. It would be very time consuming to prove our

transactions to every node on the network. That’s a neat application of zero knowledge

proofs! But what else? Well, here are 2 more examples. Aside from cryptocurrencies, traditional banks

could also make use of this technology. The Dutch bank ING has built a variation of

this concept called “Zero Knowledge Range Proof”. The system is designed to prove that a number

is within a given range, without revealing the actual number. ING’s blockchain team notes that this can

be used for instance to verify if your salary is sufficient to get a loan, without actually

revealing how much you make. Now of course you have to pick a large enough

range, otherwise you can accurately guess the real number and then it’s not a zero

knowledge proof anymore. Techniques like this could allow the financial

world to embrace blockchain technology. Right now that’s very tricky for them because

they have to meet a lot of regulatory requirements, especially concerning privacy. With that issue being solved, we could see

banks adopting blockchain technology more quickly, which could make their processes

faster, more efficient and perhaps even cheaper. The final example I’m going give is a bit

unconventional: nuclear disarmament. Powerful countries that are in possession

of nuclear weapons agree that they’re dangerous and the number of weapons should be reduced. However, the problem is verifying that weapons

have been destroyed! But big nations don’t really trust each

other. When one says that they’ll reduce the number

of nuclear warheads, how can the other be sure of it? Sending a crew of “independent” verifiers

to confirm if the weapons have been destroyed is tricky. The designs of these warheads are often top-secret

to prevent other countries from copying them. So it’s unlikely that a country will trust

a group of people to actual see and verify these nuclear warheads. After all, they might leak the sensitive designs

to other nations. In 2016 however a new technique was proposed

that uses a zero knowledge proof to say whether or not two objects are the same, without revealing

their geometry or composition. This technique is a physical application of

zero-knowledge protocols allowing nations to verify their warheads without seeing classified

information. Granted, it’s a bit of a weird use case,

but it is a cool one! These are just a few ways you could put zero

knowledge proofs to use. It’s a cool concept that could greatly enhance

our privacy but there are some downsides as well. For starters, it can’t produce a 100% airtight

proof. That’s something we discussed earlier in

this video. It can only infinitely reduce the probability

that someone is faking a proof. Secondly, the algorithm is rather intensive,

requiring either a large number of interactions between verifier and prover or, in case of

SNARK’s, requiring a lot of computations that could make it impossible to run on slow

or mobile devices. But that limitation can be overcome. The Zcash team for instance has been at hard

at work to improve their algorithm so it can also run on lower powered devices such as

a smartphone. And finally, zero knowledge proofs are so

good at keeping secrets that we might lose access to them altogether. Let’s say only 3 people know a secret recipe. Thanks to zero knowledge proofs they can prove

to each other that they do indeed know the recipe. But if all three of them die, the secret it

lost forever. If they have been using SNARK’s, the only

thing that remains is the proof that they knew the secret. But the secret itself is lost. Before ending this video I just want to mention

that Zero knowledge Proof isn’t a brand new idea. Nowadays it’s getting a lot of attention

because of how certain blockchain projects are implementing it, but it was first proposed

in a paper from 1985 called “The Knowledge Complexity of Interactive Proof-Systems”. Personally I’m really happy that after all

these years, it’s finally getting some more attention. So that was it for this video. Time for a conclusion! Zero knowledge proof could unleash a revolution

when it comes to our online privacy. We can limit on how much information a certain

company has on us, while the company has just enough information to offer you a service

or to comply with regulations. Is it perfect? No, of course not, it does have certain limitations. Like the fact that it uses a lot of computational

power. But it’s a lot better then just giving all

our data away and let it be collected in huge databases. I hope you like this video. If you did, consider getting subscribed and

hitting that like button. Thank you very much for watching and I see

you in the next video!

Zero Knowledge Proof = logan paul?…

I still don't get it ðŸ˜€ How does the ball example transfer to atomic weapons? How does the non-interactive proof work?

Happy new year to you and all your family Xavier ðŸ™‚

All the best for 2019! Keep it up the great job <3

I need to review this again. I'm lost!

Next video: Garlic routing vs Onion routing

In colorblind balls example, what if I always lie to friend and always say that ball is green for example? He may switch hands however he wants but he will reach conclusion that both balls are same.

Well explained, Savjee ??

Can you do a video on Mimble Wimble, please? I have a hard time with it

You should make a part 2 because I am still confused. How does the non-interactive zk proof work?

love having quite some Ethereum therefore.

Great

Can you provide clear example of non interactive knowledge proof ? Specifically the ING bank application

Could you explain Monero

Kurwa, nie kumam

I don't understand.

At 2:45 if the balls would be the same color… This i do not understand. How does probability of 1/2 changes to 1/4 o.0

The probability is now low enough to convince the friend? This is confusing

I really liked the example using color blindness, it was a neat solution. An alternative to repeating the shuffle and question process to get higher probability of correctness would be to cut a piece out of one ball, then cut up the other ball into many pieces, then mix the pieces in such a way that the person doing the mixing knew where the one piece was, while the person asserting that the balls are a different color does not. This is more destructive, and more complex, but possibly faster if you needed high probabilities of correctness quickly.

As many other comments have said, Iâ€™d be interested in further videos on this topic.

Awesome, but can you please explain about non interactive zero knowledge proof in another video?

Thanks~

How ING verifies that the salary indeed inside that range? they'll have to know the number!

I Like your video explanation

Not everything is correct on this video… Ergo content quality is quite bad… It's a shame because graphics and exposition is quite well designed.

I liked the zero knowledge proof explanation. Ask the currency Zcash and BitcoinZ already do this?

Great Explanation. Waiting for part 2, maybe more in-depth on non-interactive zk Proof

I agree with the other commenters, a part 2 would be appreciated. I'd also like to see something on DAOs. Loving your content, keep it up.

So cool to see that you are a metalhead also, Hail bro!, what genres and bands? you seem as polite as most of my thrash and death metal friends, as heavier the genre the nicer the people haha, I could be wrong…

can you please give us the link of "The Knowledge Complexity of Interactive Proof-System"?

A possible use on patents?

start a frontend framework series please man. Angular would be nice ðŸ™‚

Great video, Xavier! I can't wait to see your IOT devices.

Most people don't realize that even if you delete your Facebook account, Facebook will still have ALL of your data. This is because, when you delete your account, the Fb database will simply mark it as "Inactive".

In other words, there is likely a "users" table, in the Fb database, which contains a boolean (True/False) or binary (0/1) column, titled "active"(or something similar). When you create a Facebook account, this column will either be set as "True" (boolean) or "1" (binary). When you delete your account, the boolean/binary value will simply be flipped (to either "False" or "0"). This merely tells the Facebook program not to display the user's information any longer, since the account is no longer active.

However, all of your information (Profile, Media, etc) is still stored in the database, which Facebook can still utilize and sell, as it deems fit.

Confused.. Not a good explanation!!

Great video. Thanks a lot!

It is a huge advantage of the currency if it has this feature. Some users focus on basic things like consensus or algorithm, but they forget that other coin features are extremely vital and should be taken under consideration when you choose a coin to invest in. I have invested in two currencies (PIVX and PSC) that use Zerocoin Protocol which improves the method of enabling private transactions. The underlying technology utilizes Zero-Knowledge Proof function. PIVX is known by everyone, but the PrimeStone Coin (PSC) is a quite new currency "well-equipped" with additional functions. Both coins are worth considering.

The start of this video sounded like a sponsored segment for a vpn.