Trusted setups are fading: Halo on Zcash and Kimchi on Mina
Quote696 words47 likes
Corrects an earlier thread: Zcash's Halo proof system removes the trusted setup and supports recursion. Mina's Kimchi, a PLONK variant with bulletproof-style commitments, is also trustless and enables the fixed 22KB chain.
Key claims
Halo is live on Zcash mainnet with no trusted setup and recursion
Kimchi uses a bulletproof-style polynomial commitment
Mina's chain stays around 22KB
🧵 on the state of #zkSNARKs & why trusted setups will soon be a thing of the past
as @zooko & @MinaDevelopers pointed out, zkSNARKs don't necessarily need a trusted setup anymore
learn more on the trustless proof systems used by $ZEC & $MINA below ✨👇
x.com/expctchaos/status/1611398681890283521
let's start with @zcash. In yesterday's thread I mentioned that it was $ZEC that pioneered zkSNARKs. I also said that the $ZEC proof system relies on a trusted setup, which is not entirely true anymore since @zcash has implemented #Halo on mainnet
wtf is #Halo you ask?
Halo was the first zero-knowledge-proof system ever discovered that supported two key features...
- no trusted setup
- recursion
...in one system
this proof system was discovered and is maintained by the @ElectricCoinCo
as metioned above, one key feature of #Halo is its lack of a trusted setup
this means that the security of the system is not reliant on the integrity of a setup ceremony and thus is not vulnerable to exploitation in the event of a compromise of that ceremony
the absence of a trusted setup enables greater protocol agility and allows for the development of novel zero-knowledge protocols removing a major complexity / risk factor that was inherent to non-interactive zero knowledge proof systems in the past
the second key property that makes #Halo stand out is recursion
this means that the protocol is scalable and capable of proving arbitrarily complex facts, making it a "general purpose" protocol that can be used for a wide range of zero-knowledge applications (zkApps)
@zcash's #Halo implementation has been audited by multiple independent experts and is already live on #Zcash mainnet
there are a couple of projects using the 100% free and open source #Halo2 implementation to build novel zk applications
one prominent example that I have mentioned in previous threads is @Scroll_ZKP, that is building a #zkEVM
x.com/expctchaos/status/1569717615282782209
but let's also have a quick look at @MinaProtocol too. In my thread I didn't dive into the proof system much. However, @MinaProtocol's Kimchi proof system is definitely worth discussing too
Kimchi is based on #PLONK, a proof system introduced in 2019. Since its release, various ameliorations and extensions have been proposed, including fflonk, turbo PLONK, ultra PLONK, plonkup and more recently, plonky2
#PLONK stands for "Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge" and is a form of general-purpose zero-knowledge proof scheme
one of the improvements that #PLONK introduces, is that while it still requires a trusted setup procedure similar to that needed for the #SNARKs in @Zcash's old (pre-Halo) proof system, it is a "universal and updateable" trusted setup
all the above mentioned #PLONK systems, which we can broadly refer to as "plonkish protocols", are variations of the original PLONK system. #Kimchi is one example of such a plonkish protocol
generally, #PLONK is currently regarded as one of the most ambitious general-purpose ZK proof systems
a number of projects has already implemented PLONK proof systems, including @aztecnetwork, @DuskFoundation, @the_matter_labs' @zksync, @AstarNetwork or @zcash (Halo is plonkish)
but back to $MINA & #Kimchi
#Kimchi is a collection of improvements and optimizations that were made to the PLONK protocol
one key improvement is that #Kimchi overcomes the trusted setup limitation of #PLONK by using a bulletproof-style polynomial commitment inside the protocol
hence, similar to @zcash, there is no need to trust that the participants of the trusted setup were honest, making the proof system what some might call "trustless"
#Kimchi is also the proof system that $MINA uses to generate the recursive proofs that allow #Mina blockchain to remain of a fixed size of only about 22KB. Kimchi's recursion property also enables both privacy & local execution of smart contracts in the context of #zkApps
in conclusion, zero knowledge proof systems are constantly evolving & improving. The progress that has been made in recent years is absolutely mind-blowing with these cryptographic innovations allowing us to build more private & scalable applications
zk = privacy + compression = magic 🧙♂️✨
in any case, stay tuned for more on privacy-preserving technologies that will shape the future of crypto! 🧙♂️✨
if you liked this thread, please support by retweeting the first tweet (linked below) 🙏
x.com/expctchaos/status/1611718176202715139
QUOTING @zerokn0wledge_
0/ What are SNARKs and STARKs? 🧙♂️✨ feat. $ZEC, $MINA, $DUSK, $MANTA, #Starknet, @zkSync (0/26) 🧵👇
0/ What are SNARKs and STARKs? 🧙♂️✨ feat. $ZEC, $MINA, $DUSK, $MANTA, #Starknet, @zkSync (0/26) 🧵👇