Fraud Proof and Validity Proof Problems What matters when we build L2 application ҙঊ Concept ه๏ Syntax Ұ֊ᬓा First-order Logic ᰖࣔ State Channel తࣔྫ Show an example of State Channel Սߏ Architecture Cryptoeconomics Lab References Agenda
master of L2. But it's better if you've tried smart contract development. Person who concerns the scaling issue, but has not convinced to use L2 yet. Person who hesitates to learn Plasma and State Channel. ඪ Goal To somehow understand what is the development on L2 To somehow understand OVM paradigm, and if any, motivated to build L2 DApps զ㘸ॄኄ, ෆ㘸 What I talk and don't talk Talk: The OVM overview which generalize several L2 solutions Eg. Plasma, Stata Channel Talk: How the L2 development would be. Don't: Precise tutorial to build L2 DApps. Deep inside of the implementation.
represents "State Update" They can claim exiting for any message. But for all NOT(latest and unanimously signed) message is counterclaim-able. State Channel Ұ֊ᬓा First Order Logic ࠷৽ Ұகឆॺ ཁٻ ୀग़ ૌ 㐫ଶߋ৽ message has to have nonce(blockheight) equivalent Ref[4,5]
dispute against invalid claims For example, when a Plasma Operator maliciously tries to claim exiting Alice's coin, Alice has to be able to dispute the claim. ᗠٞ ूऀ ཁٻ ᗠٞ ෆਖ਼ ྫࢠ ᒜ᧺
to court to cash a check. You go to court when the check bounces." - Ben Jones Validity Proof: With a bunch of off-loaded state updates, submit a proof of correct execution. No exit game. Optimistic Rollup is a Fraud Proof system Pessimistic Rollup is a Validity Proof system . . ᒜ᧺ ൵᧺ ᏠᏈੑᨽ໌ ߹๏ੑᨽ໌ ᏠᏈੑᨽ໌ ߹๏ੑᨽ໌ ᏠᏈੑᨽ໌ ߹๏ੑᨽ໌
State Channel, and Optimistic Rollup is required. Design and implementation of Exit game Difﬁculty of conﬁrming security Smart Contract Language, Frontend, Devtools, etc. (With highly abstract and modular way of design)
Plasma Group on July 2019 Ref[8,9] Why "Optimistic"?: Common implementation of all Fraud Proof system Correctness of a Property(Statement) has to be assumed/ guaranteed only by local information. Without touching L1. Each L2 Disputation consist of several assertions (Let's see inside Plasma contract!). And this assertion can be written by Property. We had better use some Logical Syntax. ᏠᏈੑᨽ໌ ᒜ᧺ ᒜ᧺ڏص PG ໋ ଐੑ ਖ਼䉯ੑ Բஅ อᨽ ہ෦తใ એݴ ଐੑ ཧه๏
໋ Property has to be written in FOL in OVM. Property would be used as assertions in claim and counterclaim FOL can use statements such that "For all x, it is y.", "There exists x, it is y.", and so on. Ref[15] ଐੑ ଐੑ એݴ ཁٻ ໋
non-cute cat. . . Approximately non-cute cat. Ұ֊ᬓा First-order Logic (FOL) New Concept: Universal Quantiﬁer New Concept: Existential Quantiﬁer The cat which has wings ༗ᠯత䤕 䤕༗ᴍʢୠနવՄѪʣ Counterclaim: Submit a cat with wings. . . Claim: NOT(There exist a cat with wings.) ৽֓೦ ৽֓೦ ௨༻ྔࢺ ଘࡏྔࢺ
and Bob open a channel with 10ETH collateral for each. 2. Alice builds a message which sends 2ETH to Bob, signs it, then sends it. 3. Bob conﬁrms the message, signs it, and return it. Now the message has signs of both parties. Bob has to keep the message. 4. Both parties repeat process 2 and 3, then they've satisﬁed with the result. 5. One of them submits the latest message to contract, then claim exit from the channel. 6. During dispute period, anyone can submit real latest message with all parties' signatures to challenge. The freshness of the message is represented by nonce. ԡ(ਓ࣭) ཁٻ ୀग़ ৽ ᬋػᏐ 1/3
Claim consists of a property. ୀग़ཁٻ ଐੑ Where "n" is the nonce of exiting message, n has to be the maximal number among the messages which has signatures of both parties. In Natural Language ༻ࣗવޠݴ Translate to property below via Negation and Existential Quantiﬁer ᩄ ൱ఆ ଘࡏྔࢺ Where "n" is the nonce of exiting message, NOT(There exists a message such that (a nonce is more than n AND has signatures of both parties)) We can translate this property by using universal quantiﬁer. ௨༻ྔࢺ Where "n" is the nonce of exiting message, (For all messages such that nonce more than n) doesn't have signatures of both parties Tips: SQL or Prolog
"n" is the nonce of exiting message, (For all messages such that nonce more than n) doesn't have signatures of both parties When this property validated/proven, one can withdrawal a state with nonce n Alice or Bob can reject the property by submitting a message with AND(nonce=n+1, sigs=[SigA, SigB]) ڋ㘺
Channel) are the workbench for proving/rejecting properties. ࡞ BUT, Plasma's Predicate is different topic. It is an abstraction of the Plasma transaction. OVM is an abstraction of L2 Solutions.