The Meaning of Proofs :
We are at the beginning of a new era in cryptography, the ability to create programmable cryptography and to prove so many new things. I'm excited about it because it's really going to enable a world of IoT and a world of decentralized AI. enabling people to make money from their personal data, remote devices to collaborate on data creation , remote computers to power open-source AI models, and many other apps.
First-generation cryptography: encryption, security, and privacy: apps like communication protocols, encryption in messaging apps.
Programmable cryptography :
Proofs for any function
Verification of any claim
Cryptography compilers
Proofs of Computation and Data Use Cases
*Bolded = Programmable Cryptography
Indistinguise obfuscation - what unites it all:
All this enables you to encrypt a program.
zk snarks - Turn math problems into programmable tasks. One of the use cases is membership proofs and programmable membership - I own this and did that and that. I have this data when run through this model gives that output .only allows proof about a private statement that a single person knows.
Collaborative zk snarks - mpc2.0- Multiplayer private state - Perform joined computation over secret distributed over multiple people—a game where my secret item is relevant to your secret item.
FHE - allows to perform computation on an encrypted data
Witness encryption statements with programs ( sudoku puzzle ) and not with keys - only someone who can solve this puzzle has the key to open this.
Programmable Cryptography Use Cases
Request for Data on the Internet - bank(social score), social network(identity - the ability to access data in a p2p way - protocols for that are: zk snarks, private information retrieval - some use cases of that in crypto are zk bridges - proofs of balance on one to another blockchain, zk login ( proofs of google login in a blockchain )
Future Use Cases: decentralized inference for ai, decentralized data sharing protocols, a way to prove a computation on a depin machine or robot, faster provers of identity.
evolution in Infrastructure
evolution in Apps
The Evolution of Programmable Cryptography:
Building the library for your app - zk cash
Circuit languages - like circom - a layer for developers to write circuits
Program to circuit compiler - ezkl python notebook - enabling to write in python and a tool chain to convert it to cryptography
Zkvm, recursion, composition - cryptography abstract away from the developers.
Current Stage:
We have the tools for programmable cryptography and are just starting to understand their implication.
One of the use cases I'm curious about is how to enable any device to prove a computation that can be used for Depin and AI and bring so much valuable data to the world.