devcon 7 / little things weve learned about fhe
Duration: 00:19:41
Speaker: Chih-Cheng Liang
Type: Talk
Expertise: Intermediate
Event: Devcon
Date: Nov 2024
Keynote: Programmable Cryptography and Ethereum
Programmable Cryptography is a "second generation" of cryptographic primitives - primitives that allow arbitrary programs to be executed "inside of" or "on top of" cryptographic objects. Programmable cryptography provides three key affordances that complement and amplify the affordances of Ethereum--verifiability, confidentiality, and non-interactivity. We'll discuss how these technologies can reshape the Internet over the next 50 years.
Keynote: The Universal Cryptographic Adapter
The "secret" third affordance of Zero-Knowledge proof after 1) Privacy and 2) Succinctness is Interoperability. ZK enables us to continuously refactor data, aggregate it from different sources, and transforming it without loosing its integrity. Starting with the Zupass project, and now with the broader adoption of the POD and GPC format, 0xPARC has been exploring using ZK for data sovereignty and creating more interoperable data ecosystem. We will cover our learnings and progress in this talk.
How To Hallucinate A Server
A Hallucinated Server is a virtual server whose execution is cryptographically simulated by users, using "multiplayer" privacy technologies like multi-party computation or fully homomorphic encryption. Today, thanks to recent advancements in MPC and FHE, we have the technology to build the first fully Turing-complete hallucinated servers. We discuss the underlying technologies, and how we've used them to build several proof-of-concept applications.
MP-FHE experiments. Our learnings trying to find the next big tech to focus on.
This talk mainly focuses on showcasing the work that some PSE members did while starting to dive into MPC-FHE during Q2 2024. This work is composed by various explorations within the MPC-FHE realm that move towards different directions and goals. From FHE compilers to FFT Bootstrapping GPU optimization proposals, passing by FHE Game demos and many application level implementations, the talk aims to reach beginner-advanced audience on the research/product paths that we have explored so far.
MPC Tooling or How to create MPC apps
Let's get into the state of the art of MPC development: we'll discuss different MPC schemes, current MPC tooling & how you can create MPC apps today. We'll cover the tech stack from a frontend level (e.g. MPC compilers) to a backend - and of course how we can combine them.
Programmable Cryptography and the future of the Internet
You rarely hear of issues at the networking layer of the Internet: networking companies are running utilities business: they are fungible and can be swapped if distrusted. Most of the value captured on the Internet -- and also most abuse -- happen at the Compute and Data layer of the Web. Ethereum gave us a glimpse of a fundamentally different architecture for Compute and Data than Client/Server architecture.We think the Internet is 1/3 complete, and that programmable cryptography can finish it.
STARK proofs ELI5
Let's face it, ZK proofs are intimidating. But they don't have to be! ZK proofs are complex not because of the depth math they use, but because of the large number of fields of mathematics they leverage features from. In this talk, we'll break down STARK proofs into simple blocks and colorful analogies so that you get a good high level overview of how they work
Introduction to Multilateral Trade Credit Set-off in MPC
Multilateral Trade Credit Set-off is a process for collecting outstanding invoices from a network of firms and detecting cycles. A cycle is a circular pattern of due payments that connects businesses. Removing a cycle yields liquidity savings for the firms involved. This process is done by a central agency that collects the invoices and performs the netting. Instead, we leverage MPC to perform the set-ff while preserving the privacy of sensitive financial data of the firms
Elliptic curves and SNARKs: past, present and future.
Elliptic curves are used in many proof systems. Some systems (e.g. Bulletproofs) use plain curves (e.g. ed25519). Some (e.g. Groth16, KZG-PLONK) use pairing-friendly curves (e.g. BLS12-381). Some recursive systems require pairing-friendly 2-cycle (e.g. MNT4/6) or 2-chains (e.g. BLS12-377/BW6-761). Some other recursive/folding systems require plain 2-cycle (e.g. Pasta). In this talk we will go through the difference between these curves and why there isn't a silver bullet curve for all scenarios.
Efficient non-native SNARK recursion using bivariate polynomial testing
Efficient SNARK recursion requires switching between pairing friendly elliptic curves. In most optimal approaches these curves would construct a cycle, but there are no such known cycles. Instead, we use non-native arithmetic to brute force the pairing computation at the cycle cut-off. We describe an approach for combining direct field extension with polynomial-based non-native arithmetic. This reduces pairing computation to bivariate polynomial identity testing using Schwartz-Zippel lemma.