Beyond-zero-knowledge
- Published on
What’s Next in Programmable Cryptography?
💡Key Ideas:
Two ideas
- Secure Multi-Party Computation(MPC) is a protocol that allows multiple entities to jointly compute a function without revealing their individual inputs.
- Fully Homomorphic Encryption (FHE) is a technology that allows computation over encrypted data, where only the owner of the key can decrypt the result of the computation.
MPC would enable for example: figuring out a potential disease risk in a population by aggregating completely encrypted data, finding out the optimal buy/sell price of a property without parties agreeing or showing them beforehand, collaborating in cross-regional entities for military or humanitarian assistance without revealing it beforehand.
FHE would enable for example:
Running a private AI model into encrypted data that you've sent over a server (for example to detect a disease without revealing your health data)
Encrypted searchers on the internet
Data Protection Policy Compliance by companies operating over data without ever seeing it
🔗 Links:
Introduction of Programmable Cryptography by Brian Gu (Gubsheep)
Beyond Zero-Knowledge: What’s Next in Programmable Cryptography?
- MPC
- FHE
- TLSNotary
- ZKEmail
FHE (Fully Homomorphic Encryption) and friends
🔗Links:
Homomorphic encryption for IQ < 200 by Lauri Peltonen
🛠️ Build and Practice:
Try out Fhenix, an Ethereum L2 built using FHE.
MPC (Secure Multi-Party Computation)
🔗Links:
Secure Multi-Party Computation by PSE 🛠️ Build and Practice:
Try to follow Circom-2-arithc, a Circom to MPC framework in development.
Fiat-Shamir transformation
💡 Key Ideas:
- The Fiat-Shamir transformation, or heuristic, is a way to make interactive protocols non-interactive.
- This means that, instead of having to verify many times that something is true (probabilistic approach), we can verify it with a single check.
- This is a key element part of constructing proving systems.
- More to read: Fiat Shamir Secret Sharing
🔗 Links:
- Fiat-Shamir transformation for IQ < 200 by Lauri Peltonen
🛠️ Build and Practice:
- Run by hand (and calculator) the example of Fiat Shamir heuristic
Create a new wallet and extract the private key. Now split the key using Fiat Shamir Secret Sharing and then try to reconstruct it using a base code implementation like privy-io/shamir-secret-sharing. Try to implement your own.
[WIP] Schwartz–Zippel lemma
💡Key Ideas:
- The Schwartz-Zippel lemma allows us to compare two polynomials and check if they are identical by just comparing a single point, with a minuscule chance of failure.
- The more coefficients the harder to cheat.
- As a probabilistic tool, this is key element when constructing proving systems.