Let’s continue our #WhyZK series:
In our last thread, we used a Sudoku game to explain some terms and the properties of ZK. In this thread, we’ll keep using Sudoku to explain the concept of Interactive Proof and Non-Interactive Proof.
Dr. Strange proved that he could solve a Sudoku puzzle without telling Hulk how he solved it. The next day, Hulk said, 'Why don't we live stream the game online?' Dr. Strange thought it was a great idea, so they started a Youtube channel and asked Iron Man to join as ops manager.
Their channel soon drew many followers. One day, Dr. Strange forgot the solution to the puzzle right before live streaming. He had nothing to do but tell Hulk to fake the verification process with him. Iron Man, after witnessing this, was disappointed at this behavior.
Days after, Iron Man came to Dr. Strange and Hulk with a machine. It's a machine that can verify the sudoku puzzles automatically. Once the cards are placed on a moving conveyor belt, the machine can randomly verify Dr. Strange's solutions.
This machine is like a #zkp Simulator. It generates random numbers and chooses a verification approach. But if Iron Man designs the program, he must know the rules and could cheat. Now it's time to introduce Trusted Setup.
When zk-SNARK first initiates, private keys will be generated with the creation of proofs and the verification process, including a Common Reference String. A Trusted Setup is a decentralized way to destroy the CRS and secure the whole scheme.
Every participant in a Trusted Setup will get a piece of the CRS. If at least one person is being honest and destroys their piece of the secret, no one will know the secret key.
In practice, the Trusted Setup Client will automatically delete the public reference string for the user. Completing Trusted Setups often represents the official launch of the zk-SNARK network.
Essentially this: every participant holds a piece of the secret. If one person deletes theirs, the secret key can't be recovered, and the whole scheme will be secured. After completing the Trusted Setup, the verification result of the Simulator becomes trustworthy and reliable.
Non-Interactive Proofs have almost completely replaced Interactive Proofs in the blockchain field. Both zk-SNARK and zk-STARK are Non-Interactive Proofs. Incidentally, zk-STARKs do not require a Trusted Setup to launch the network.
The technical terms are a tricky part of learning ZK. What's the relevance between Halo2, Plonk, Groth16, zk-SNARK, and zk-STARK? We will talk about these technical terms in detail in the next thread.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
#WhyZK continued:
This thread is the first part of the “Simple explanation of Zero-Knowledge Proof” series. In this series, we’ll try our best to explain concepts and terms related to zero-knowledge proof in a Sudoku example that’s easy to understand.
In classic Sudoku, we play it on a grid of 9x9 space. There will be nine boxes made up of 3x3 spaces. Each box, each column, and each row should be filled out with numbers from 1 to 9 exactly once each.
Both Doctor Strange and Hulk love playing the Sudoku game.
Dr. Strange challenges Hulk with a hard Sudoku puzzle. ‘This is so hard. Does it have a solution?’ Hulk asks. ‘Yes, I already figured it out.’ Dr. Strange wants to prove that he knows how to solve the puzzle w/o letting Hulk see the answer. This is the ‘zero-knowledge’ proof.
During the @VitalikButerin's ZK talk on day 1 of Devcon, @VitalikButerin emphasized that ZK is the preferred scaling method for blockchain. The censorship-resistant feature that blockchain provides sacrificed ‘scalability’ and ‘privacy:’ this is where ZK-SNARKs fit in.
#ZKP is getting lots of traction from VCs. VCs are paying more attention to ZKP projects, making large investments in ZKP technology with high expectations of its future. A ZKP project can raise $10m, and many of the ZKP projects have a valuation of more than $100m.
The Unspent Transaction Output (UTXO) Model is a fundamental element of Bitcoin that stops double-spending. It defines where a blockchain transaction starts and finishes. We don’t actually own “tokens:” each of our wallets is made of a collection of UTXOs.
For example, Bob has 0.4 BTC in his wallet. We see this as a fraction of a coin, but actually what Bob may own is 2 UTXOs worth .25 and .15 BTC. If Bob wants to send .2 BTC to Alice, he will need to send his UTXO unit of .25, which then will break up into .2 and .05.
The newly formed .2 UTXO goes to Alice and the .05 UTXO goes back to Bob. The original UTXO of .25 gets burned since there are now two new UTXOs totaling .25 (removing double spending).
🤩 We've been seeing so much amazing content from our community this past month highlighting @MantaNetwork's technology and achievements through #MantaTech. We're highlighting some of the most exciting content. See them below!
@ajagbealexandra wrote a thread covering our achievements this past quarter.
We had a great panel in partnership with @fuellabs_ at @ETHBerlin last week on how privacy+modularity bring the next billion users to Web 3. Catch the video play here or read along the thread for a TLDR crowdcast.io/e/fuel-x-manta…
Modularity lets dapps easily spin up blockchains for very specific use cases, and a multi-chain world will allow them to communicate to each other seamlessly. @Yazanator
Optional privacy will help users feel safe to explore web3. New users want to feel their data is safe and protected after the privacy invasion of web 2 @toghrulmaharram
zkAssets are natively (on-chain) private crypto assets, guarded by zero-knowledge proofs. They contain all properties of normal crypto assets, and add a layer of configurable privacy. Some properties:
🤸 Flexible Asset Types
zkAssets can be any asset type: fungible (eg tokens), non-fungible (eg #NFTs), and non-transferrable non-fungible (eg #soulbound)
🔒 Private by Default
The asset holder’s address, the nomination of the assets of each holder, and asset type are all natively encrypted on-chain, only to be seen if the holder chooses to show.