Developing Generalized Applications on Layer 2

0f0ad27df78e1732f726d245c20395f5?s=47 Yuriko
October 10, 2019

Developing Generalized Applications on Layer 2

Devcon5 - gave the latest research update of Layer2 technology and introduced CEL's framework development

Payment app demo video:
https://www.youtube.com/watch?v=AiX7vYWXjHU&feature=youtu.be

DEX (offline atomic swap) app demo video:
https://www.youtube.com/watch?v=obu_R_b8cOg&feature=youtu.be

0f0ad27df78e1732f726d245c20395f5?s=128

Yuriko

October 10, 2019
Tweet

Transcript

  1. Developing Generalized Applications on Layer 2 Yuriko Nishijima

  2. In this Presentation 1. About Cryptoecnomic Lab • Why L2

    generalization? • History (framework + PoC projects) • Core Values of the framework 2. About Plasma Chamber • Quick overview of the OVM • Plasma on the OVM • Demo (Dapps on the Plasma Chamber) • Architecture outline • Challenges of the framework development • Next major milestone
  3. Cryptoeconomics Lab Building a developer-friendly framework to build secure &

    usable Dapps on Ethereum using Layer 2 Technology github.com/cryptoeconomicslab/plasma- rust-framework
  4. Why/How We Started

  5. Our History in 2019 May R&D Aug June July Sept

    EDCON 2019 Developing Developing in Rust IoT Platform Company in TypeScript PoC
  6. Value 1: You can build applications easily ! Building Applications

    from Scratch? L2 Specific features - instant payment - gas-less tx -> No repetitive dev!
  7. Value 2: You can build applications securely ! Not Sure

    How to Design Your Application Secure? -> Much easier to check and strengthen the security 1. less code to write on your own 2. less claims to design on your own Universal Notation Natural Language Communication
  8. Constructions Plasma State Channel Instant Finality No Yes Collateral Not

    required Required Number of Participants Unlimited Limited Use case - Swap (DEX) - In-App Payment - Micropayment - 2 Player Games Value 3: You can build applications flexibly ! Wish You Could Switch Between Different Constructions? - building blocks:decomposable and reconstructable - impossible combination?: will be detected by compiler
  9. Universal Language original idea on Github https://github.com/cryptoeconomicslab/plasma-predicates/blob/master/ research/DSLForPredicate.md efficient /

    logical way to prove security
  10. OVM from Plasma Group

  11. Intro to the OVM: Fraud Proof = Judicial System Claiming

    Property Plasma State Channel Optimistic Rollup Format all in common! claim claim claim
  12. First-order Logic First-order Logic : proposition that contains sentences with

    quantified variables • ‘Taro is a man' = "There exists x such that x is Taro and x is a man” Quantifier Variable • OVM employed this standardized notation to express properties
  13. First-order Logic - Quantifiers Universal quantifier •Ex. “For all x

    such that x is a cat then x is cute.” => You can decide this claim true if there is no a picture of ugly cat submitted Existential quantifier •Ex. “There exit x such that x is a cat and x has wings” => you can make this claim true with a picture of cat that has wings Flying Cat Ugly Cat
  14. Let's make properties for Plasma 1. Checkpoint Property: to claim

    the validity of the coin history For all b such that b is less than B (current block number): For all state_update such that is within b’s CoinRange: state_update is deprecated in the way that is specified by state_update.property ∀b, b < B: ∀state_update, state_update ∈ BlockRange(b, coin_range): IsDeprecated(state_update) state_update is included in block b, and also it has never been deprecated. IsIncludedAtBlock(state_update) and Not(IsDeprecated(state_update)) ∃ tx, tx ∈ TxOfSameRange(state_update): SignedBy(“Alice's address", tx) 2. Exit Property: to claim that the coin has never been used 3. Ownership Property: to validate the ownership of the coin There exists a transaction which has the same coin range as state_update and the transaction is signed by Alice.
  15. Plasma Chamber - Focus on designing application logic / frontend

    development - Cut the work redundancy: no repetitive implementation - Combinations of different constructions are possible Secure, now even More Simple & Flexible with the OVM! • Channel on Plasma • DEX on Plasma
  16. Demo: What can you build with Plasma Chamber? Payment app

    demo video https://www.youtube.com/watch?v=AiX7vYWXjHU&feature=youtu.be
  17. Demo: What can you build with Plasma Chamber? DEX (offline

    atomic swap) app demo video https://www.youtube.com/watch?v=obu_R_b8cOg&feature=youtu.be
  18. Developing Plasma Chamber OVM Contracts - Universal Adjudication Contract -

    Predicates Client - OVM Core - Plasma Aggregator - Plasma Client
  19. Challenges ‣ Balance between runtime design & its implementation -

    Designing Primitive Properties (ex.SignedByPredicate, AND predicate) ‣ Property serialization - Dynamic variables ‣ Multiplatform - Implementation for Android (multi-threaded programming using JNI) oops.
  20. Next Major Milestone: - wallet for developers - developer portal

    …by the end of 2019!
  21. 1. Try out universal client implementation 2. Create DSL for

    L2 application development 3. Generalization of the client interface. - simplify frontend SDK 4. Develop more sample applications to brush up the framework Next Steps For CEL Find our funded Issues on Gitcoin Dear future contributors!
  22. Get to know OVM/Plasma Chamber more • Plasma Group's Blog

    Post Introducing the OVM • https://medium.com/plasma-group/introducing-the-ovm-db253287af50 • OVM Standards Repo • https://github.com/plasma-group/ovm • Our R&D Updates on Medium • https://medium.com/cryptoeconomics-lab • Our Rust OVM Implementation Repo • https://github.com/cryptoeconomicslab/plasma-rust-framework
  23. Any Questions? Contact Us! Chat with us @ CEL R&D

    Telegram Group github.com/cryptoeconomicslab @cryptoeconlab t.me/cryptoeconomicslab