<style> .slides h1, .slides h2, .slides h3, .slides h4 { color: yellow } .slides ul { display: block!important; } </style> ![Argument_LogoSetup-02NEW](https://hackmd.io/_uploads/HJGZlfE1Je.svg) --- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> # Front-Running the Aggregate ## Proofcoin as a New Paradigm for Security and Flexibility --- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ### [Argument](https://argument.xyz/) - creators of [**Lurk**](https://github.com/argumentcomputer/lurk): a micro-ZKVM, - a *direct* high-level language interpreter based on abstract machines, - safer (no compilation) and faster than CPU ISAs, - last release on Lisp, upcoming release on Ocaml, more coming soon™ - **not** the subject of this talk --- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Verifying Proofs - ✔ cheap - ✔ compact (SNARK: <2KB, STARK: 40-800KB) - ✔ fast verification - ✔ streamable (supports recursion: IVC, PCD) - ✔ universal (self-contained semantics) ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Blockchain Proof Verification - ❌ costly - ❌ large (with few exceptions) - ❌ high verification latency - ❌ non-streamable - ❌ limited flexibility ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Cost - 200-300k gas is industry standard, - This supports Groth16 / Plonk, but not much else, - Other provers add a Groth16 wrapper, adding 2-10 mins latency. - See [dashboard](https://eth-groth16-dashboard-de81d88fe519.herokuapp.com/) ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Verification Latency - Some blockchains are relatively fast, so inclusion is quick, - But on-chain verification economics lead to *aggregation* models, batching proofs to share costs, - Examples: AggLayer, Manta, zkVerify, Hylé ... ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Size Constraints - Proofs are execution inputs, - Execution inputs are stored permanently, - because full nodes re-execute to hold validators accountable, - so transaction size (and thus proof size) must be <2KB. ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Streamability - Proofs often form a sequence (zkGames, zkBridges, etc.), - Even recursive proofs need to ensure continuity, e.g. linking each move in *the same* game, - stateless zkCoprocessors only partly address this need. ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Universality - Some exceptions exist! - concurrent proofs step on each other's toes, - Aleo and Mina provide flexible state but have limitations: validators manage proof conflicts, - Their model implies vendor lock-in. --- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Proofcoin ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Proofcoin - ✔ cheap - ✔ compact (STARKs included) - ✔ very low E2E verification latency - ✔ streamable - ✔ no vendor lock-in ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## 2020: Byzantine-Resistant Broadcast - [Fastpay](https://arxiv.org/abs/2003.11506) (Meta/UCL), [Astro](https://arxiv.org/abs/2004.13184) (EPFL), [Brick](https://arxiv.org/abs/1905.11360) (ETHZ)... - Users propose blocks, - Shard state via user-driven micro-chains, - Use *broadcast*, not full consensus, - Inspired Sui's SO object "_fast lane_", - Extended by [*Linera*, an Argument partner, for multi-user objects (& consensus) as an L1](https://linera.io/whitepaper). ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Proofcoin Transactions - Single validator set for all tasks, - Sharded state ➡ No conflicts, only relevant parties interact in games (e.g., zkBattleship), - Each transaction is a proof advancing your shard's state, - Allows asynchronous cross-shard messages with ordering guarantees. ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ### A transaction on Proofcoin ```mermaid sequenceDiagram participant Validator1 as Proofcoin Validator 1 participant Validator2 as Proofcoin Validator 2 participant ValidatorN as ... Proofcoin Validator n actor Client as Client (or intermediary) participant Node as Node (another blockchain) rect rgb(191, 223, 255) Client ->>+ Validator1: Proof Client ->>+ Validator2: Proof Client ->>+ ValidatorN: Proof end rect rgb(191, 223, 255) Validator1 -->> Client: Signature Validator2 -->> Client: Signature ValidatorN -->> Client: Signature end Client ->> Client: assemble (2f+1) majority certificate Client ->> Node: make transaction rect rgb(191, 223, 255) Client ->> Validator1: next Proof (+ certificate) Client ->> Validator2: next Proof (+ certificate) Client ->> ValidatorN: next Proof (+ certificate) end ``` ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Proofcoin transactions Receive: - a certificate - in 1 WAN roundtrip, containing - a commitment to your shard’s new state, - a majority validator signature on proof validity. ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Is Proofcoin a Side Chain? - No! It’s a decentralized L2 with strong security, - Validators aggregate and post proofs on Ethereum, - They’re bonded and slashed on Ethereum if dishonest, - Proofcoin certificate provides an instant cryptographic proof that *front-runs the aggregate*, - Verifiable on any chain, no precompiles needed. ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Proofcoin Highlights - Parallelized proof verification (each validator scales horizontally), - Shards are full-fledged blockchains but can be temporary, - Lurk is the main "smart contract" language, but entirely optional, - Flexible transaction storage duration, - Settle anywhere after Proofcoin transaction. ---- <!-- .slide: data-background="https://hackmd.io/_uploads/rJQUrkVJyx.png" data-background-size="10%" data-background-position="95% 5%"--> ## Proofcoin - ✔ cheap: parallel verification, - ✔ compact w/ STARKs: pay only for necessary storage, - ✔ low E2E latency: <500 ms, - ✔ streamable: your own proof-driven chain, - ✔ no vendor lock-in: Proofcoin involved in first 1s only.
{"slideOptions":"{\"theme\":\"night\",\"transition\":\"slide\",\"tags\":\"roadmap, lurk, proofcoin\"}","description":"Argument_LogoSetup-02NEW","contributors":"[{\"id\":\"dbd3a2cc-6969-479a-9e28-e36eca77e32e\",\"add\":13570,\"del\":5861}]","title":"Front-Running the Aggregate"}
    156 views