David Wong

cryptologie.net

cryptography, security, and random thoughts

Hey! I'm David, cofounder of zkSecurity, research advisor at Archetype, and author of the Real-World Cryptography book. I was previously a cryptography architect of Mina at O(1) Labs, the security lead for Libra/Diem at Facebook, and a security engineer at the Cryptography Services of NCC Group. Welcome to my blog about cryptography, security, and other related topics.

In this eleventh video, I go back to the PLONK protocol and finally explain how it works with polynomial commitments. This version of the protocol is not finished, as it doesn’t have zero-knowledgeness (the polynomial evaluations leak information about the polynomials) and the wiring (or copy constraint) has not been enforced (e.g. the output wire of this gate should be the left wire of this other gate). In the next video, I will explain how copy constraints can be enforced via the PLONK permutation argument.

Stay tuned for part 12… Check the full series here.

In this tenth video, I explain how the Kate polynomial commitment scheme works. For more information about it, check this other blogpost I wrote. This polynomial commitment scheme will be useful to force the prover to commit to its polynomials before learning the random point they need to be evaluated at.

Part 11 is here. Check the full series here.

In this ninth video, I explain what polynomial commitment schemes are as well as their API. I also mention the Kate polynomial commitment scheme (KZG), based on pairings, and bootle/bulletproof types of polynomial commitments schemes, based on inner products.

Part 10 is here. Check the full series here.

In this eighth video, I explain how the prover and the verifier can perform a “polynomial dance” in order to construct the circuit polynomial f. The principle is simple: the prover doesn’t want to leak information about the private inputs and the intermediary values in the circuit, and the verifier doesn’t want to give the prover too much freedom in the way they construct the circuit polynomial f.

Part 9 is here. Check the full series here.

In this seventh video, I explain how we use our circuit polynomial f in a protocol between a prover and a verifier to prove succinctly that f vanishes on a number of specified points.

Stay tuned for part 9… Part 8 is here. Check the full series here.

In this sixth video, I explain the compilation, or even compression, of a set of equations into a single polynomial. That polynomial represents all of our constraints, as long as it vanishes in an agreed set of points. With a polynomial in hand, we will be able to create a protocol with our polynomial-based proof system.

Part 7 is here. Check the full series here.

In this fifth video, I explain how we can “compile” an arithmetic circuit into something PLONK can understand: a constraint system. Specifically, a PLONK-flavored constraint system, which is a series of equations that must if equal to zero correctly describe our program (or circuit).

Part 6 is here. Check the full series here.

In this fourth video, I explain the “arithmetization” of our program into so-called arithmetic circuits. You can see this as “encoding” programs into math, so that we can use cryptography on them.

Part 5 is here. Check the full series here.

In this third video, I start by explaining what the protocol will use at the end: polynomials. It’ll give you a glimpse as to what direction we’ll be taking when we transform our program into something we can prove.

Part 4 is here. Check the full series here.

In this second video, I give some intuition on how to think about zero-knowledge proof systems, with the example of proving the solution of a sudoku, then I give an overview of what I’ll explain in this series of video.

Part 3 is here. Check the full series here.

📖 my book
Real-World Cryptography is available from Manning Publications.
A practical guide to applied cryptography for developers and security professionals.
🎙️ my podcast
Two And A Half Coins on Spotify.
Discussing cryptocurrencies, databases, banking, and distributed systems.
📺 my youtube
Cryptography videos on YouTube.
Video explanations of cryptographic concepts and security topics.
page info:
page 10 of 62
616 posts total