Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OpenST Mosaic Protocol: Scaling Blockchain Economies to Billions of Users

2,851 views

Published on

OST Founders CEO Jason Goldberg & CBS Ben Bollen present OpenST Mosaic Protocol at the Upbit Developer Conference 2018 -- 13 September, 2018, Jeju South Korea.

Mosaic is presented in context of Ethereum, Ethereum 2.0, Casper, Sharding, and Plasma.

OpenST Mosaic is a consensus protocol to run meta-blockchains on top of Ethereum.


Each meta-blockchain runs in parallel and injects an additional state space into Ethereum.

Each meta-blockchain is secured by Ethereum with an open, staked validator set.

All transactions on meta-blockchains are asynchronously finalised and
committed onto Ethereum.

Published in: Technology
  • Be the first to comment

OpenST Mosaic Protocol: Scaling Blockchain Economies to Billions of Users

  1. OpenST Mosaic @benjaminbollen Scaling Blockchain Economies to Billions of Users @betashop ostmosaic
  2. Scaling Blockchain Economies 1. Blockchain economies in historical context
 2. Barriers to mass adoption
 3. OpenST Mosaic Protocol for scaling blockchain economies on-chain to billions of users ostmosaic
  3. 1439
  4. 1993
  5. Blockchain is a Continuation of the Internet Revolution ostmosaic INTERNET ANALOG ▼ DIGITAL ONE-TO-MANY ▼ MANY-TO-MANY KNOWLEDGE World Wide Web (1989) RELATIONSHIPS Social Media (2004) Blockchain (2009) Smart Contracts (2015) MONEY Cryptocurrency (2009)
 Tokens (ERC-20: 2017) INSTITUTIONS DApps DAOs Credit: Mark Bonchek, Shift Thinking, OST Advisor
  6. Get everyone 
 and everything online Photo by Rawpixel on Unsplash
  7. Put a Super-Computer in Everyone’s Pockets Photo by rawpixel on Unsplash
  8. Redefine Relationships Photo by Tim Bennett on Unsplash
  9. Redefine Money Photo by Yohann Lc on Unsplash
  10. Redefine Institutions Photo by Yohann Lc on Unsplash
  11. Create New Economies Photo by Anete Lusina on Unsplash
  12. Still Early Days of the Revolution Users in Millions Less Than 0.6% of Internet Users Have A Crypto Wallet
  13. 3 Factors Limiting Adoption: Developers, Scalability, UsabilityPhoto by Alex Radelich on Unsplash
  14. Bridging the Scalability Gap For Apps & DApps Photo by JonasVerstuyft on Unsplash
  15. Why Ethereum?
 
 Programmable money.
 It (proof of) works, today.
 
 Strongest developer community.
  16. Problem We Are Trying to Solve Existing Mainstream Apps with Millions of Users Blockchains don’t scale DApps Same problem • Provide an on-ramp for existing apps with tens of millions of users to transform their businesses with blockchain economies, now.
 • Enable scalability for emerging DApps, now.
  17. September 2017 OpenST Protocol Staking value tokens on Ethereum for 
 minting utility tokens on auxiliary chains Photo by Joshua Earle on Unsplash
  18. September 2017 OpenST Protocol Staking value tokens on Ethereum for 
 minting utility tokens on auxiliary chains Move bulk transactions off Ethereum 
 (but keep them on-chain) Photo by Joshua Earle on Unsplash
  19. September 2017 OpenST Protocol Staking value tokens on Ethereum for 
 minting utility tokens on auxiliary chains Retain ETH smart contract framework Photo by Joshua Earle on Unsplash
  20. September 2017 OpenST Protocol Staking value tokens on Ethereum for 
 minting utility tokens on auxiliary chains Blockchain Economies for 
 Non-Blockchain Companies Photo by Joshua Earle on Unsplash
  21. September 2017 OpenST Protocol Staking value tokens on Ethereum for 
 minting utility tokens on auxiliary chains Scale DApps Now Photo by Joshua Earle on Unsplash
  22. September 2018 OpenST Mosaic Protocol Running meta-blockchains on 
 Ethereum to scale DApps to
 billions of users Photo by Joshuan Earle on Unsplash
  23. September 2018 OpenST Mosaic Protocol Running meta-blockchains on 
 Ethereum to scale DApps to
 billions of users Photo by Joshuan Earle on Unsplash Finalize transactions on aux chains Commit transactions asynchronously on ETH
  24. Limitation to 
 Scaling Blockchains Photo by Andre Mouton on Unsplash Full Replication
  25. Three Ingredients for Sharding ostmosaic 1. Divide work into shards
 2.Communicate between shards
 3.Economic finality on each shard
  26. OpenST Mosaic in Industry Context •Plasma = scale each app off-chain; data-availability problem
 •Payment channels don’t have smart contracts
 •Casper + Sharding = Ethereum v2.0
 •Mosaic = Sharding at Layer 2, on-chain, finalised on ETHv1.0
 ostmosaic
  27. OpenST Mosaic ostmosaic •OpenST Mosaic is a consensus protocol to run meta-blockchains on top of Ethereum.
 •Each meta-blockchain runs in parallel and injects an additional state space into Ethereum. •Each meta-blockchain is secured by Ethereum with an open, staked validator set. •All transactions on meta-blockchains are asynchronously finalised and
 committed onto Ethereum. •Mosaic has a message-passing protocol between Ethereum and meta- blockchains (later directly between meta-blockchains).
  28. Simple Calculation (only took me 4 years) tx s ∼ 𝒪 ( N Δt) tx s ∼ 𝒪(αN) Ethereum @ 10 tx/s simplest toy model: 100x (AUX @ 100 tx/s) = 10.000 tx/s
 100 nodes / AUX * 100 AUX * 1 tx / node => 10.000 tx to commit on Ethereum
 @10 tx/s takes minimally 1000s on Ethereum at full capacity but 10.000.000 tx processed on aux; or 99.90% efficient but we can do even better: for N nodes, and constant #nodes/AUX
 if there is no time-constraint to commit to Ethereum 
 cost: benefit: e.g. commit once daily, to finalise 864 millions transactions, for 1.2% of Ethereum’s daily capacity!
  29. Move Bulk of Transactions Off Ethereum & Onto Auxiliary Chains! Ethereum Mainnet Auxiliary 
 Chains
  30. Move Bulk of Transactions Off Ethereum & Onto Auxiliary Chains! Ethereum Mainnet Hold on, sidechains have been around for years! What’s new here? Auxiliary 
 Chains
  31. Move Bulk of Transactions Off Ethereum & Onto Auxiliary Chains! Ethereum Mainnet Auxiliary 
 Chains A meta-blockchain is fully defined with a consensus engine in a core contract on Ethereum. Each meta-blockchain has an open, staked validator set.
 
 Mosaic’s BFT consensus rules allow the meta-blockchain to offload
 block formation onto an auxiliary chain. Gateways allow ERC20 tokens to move in/out of meta-blockchains,
 all value kept on Ethereum.
  32. ostmosaic •Tokens are the functional unit of Ethereum at Layer 2.
 •Tokens define applications and interaction between applications (ERC20, non-fungible tokens, …).
 •Tokens naturally allow to repartition the state space. Sharding at Layer 2: “Token Sharding”
  33. Sharding at Layer 2: “Token Sharding” OST GAS full native EVM interface
 scalable, on-chain smart contracts today on mainnet (v0.9.2)
 BUT today we oraclise between the chains
 => Mosaic decentralises state root transfer Ethereum Mainnet Auxiliary 
 Chains State Root Gateway State Root
  34. State Root Gateway Ethereum Mainnet Auxiliary 
 Chains Declare Confirm Progress Progress Merkle Proof STAKE MINT Hashlock Hashlock Message passing is open process with bounties and fees for nodes to complete the flow for all messages. State Root Interblockchain Communication
  35. Three Ingredients for Sharding ostmosaic 1. Divide work into shards
 2.Communicate between shards
 3.Economic finality on each shard
  36. Intermezzo: Casper the Friendly Finality Gadget Casper the Friendly Finality Gadget,
 V. Buterin, V. Griffith, nov 2017 validators can send vote messages: checkpoint justified iff exists supermajority link
 from previously justified checkpoint checkpoint finalised iff direct child is justified 
 slashing conditions, a validator must not publish accountable safety and plausible liveliness ⟨s, t, h(s), h(t)⟩v h(t1) = h(t2) ∨ h(s1) < h(s2) < h(t2) < h(t1)
  37. Bringing Three Ingredients Together Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chains
 (PoS) B(header, txList, nonce) B(header, txList, majorityVote) BM : Σ → Σ′
  38. Proposing Meta-Blocks on Ethereum Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chains
 (PoS) B(header, txList, nonce) B(header, txList, majorityVote) BM : Σ → Σ′ BM(kernel K, transition T, seal S) Meta-Block K = {height, parent, ΔvalidatorWeights, gasPrice} T = {dynasty, txRoot, gasUsed, coreId} S = { +2 3 weightedVotes}
  39. Proposing Meta-Blocks on Ethereum Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chain
 (PoS) K = {height, parent, ΔvalidatorWeights, gasPrice} Bh−1(Kh−1, Tdh−1 , Sh−1) Bh(Kh, ⋅ , ⋅ ) in Core contract meta-block is committed: T = {dynasty, txRoot, gasUsed, coreId}
  40. Proposing Meta-Blocks on Ethereum Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chain
 (PoS) K = {height, parent, ΔvalidatorWeights, gasPrice} Bh−1(Kh−1, Tdh−1 , Sh−1) Bh(Kh, ⋅ , ⋅ ) finalise checkpoints: in blockstore contract calculate T: gas and txRoot for justified chain in Core contract meta-block is committed: T = {dynasty, txRoot, gasUsed, coreId}
  41. Proposing Meta-Blocks on Ethereum Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chain
 (PoS) K = {height, parent, ΔvalidatorWeights, gasPrice} Bh−1(Kh−1, Tdh−1 , Sh−1) Bh(Kh, ⋅ , ⋅ ) finalise checkpoints: in blockstore contract calculate T: gas and txRoot for justified chain any finalised checkpoint’s T can be used to propose meta-block Bh(Kh, Td, ⋅ ) in Core contract meta-block is committed: T = {dynasty, txRoot, gasUsed, coreId}
  42. Proposing Meta-Blocks on Ethereum Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chain
 (PoS) K = {height, parent, ΔvalidatorWeights, gasPrice} Bh−1(Kh−1, Tdh−1 , Sh−1) Bh(Kh, ⋅ , ⋅ ) in Core contract meta-block is committed: finalise checkpoints: in blockstore contract calculate T: gas and txRoot for justified chain any finalised checkpoint’s T can be used to propose meta-block Bh(Kh, Td, ⋅ ) Bh(Kh, Td, ⋅ ) Bh(Kh, T′d′, ⋅ ) propose new meta-block: T = {dynasty, txRoot, gasUsed, coreId}
  43. Committing Meta-Blocks on Ethereum Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chain
 (PoS) K = {height, parent, ΔvalidatorWeights, gasPrice} Bh−1(Kh−1, Tdh−1 , Sh−1) Bh(Kh, ⋅ , ⋅ ) in Core contract meta-block is committed: finalise checkpoints: in blockstore contract calculate T: gas and txRoot for justified chain any finalised checkpoint’s T can be used to propose meta-block Bh(Kh, Td, ⋅ ) Bh(Kh, Tdh , Sh) commit new meta-block: Bh(Kh, T′d′, ⋅ ) T = {dynasty, txRoot, gasUsed, coreId} with Sh = +2 3 Majv {⟨Tdh , s, t, h(s), h(t)⟩v}
  44. Holding Validators Accountable Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chain
 (PoS) K = {height, parent, ΔvalidatorWeights, gasPrice} Bh−1(Kh−1, Tdh−1 , Sh−1) Bh(Kh, ⋅ , ⋅ ) in Core contract meta-block is committed: finalise checkpoints: in blockstore contract calculate T: gas and txRoot for justified chain any finalised checkpoint’s T can be used to propose meta-block Bh(Kh, Td, ⋅ ) Bh(Kh, Tdh , Sh) commit new meta-block: Bh(Kh, T′d′, ⋅ ) T = {dynasty, txRoot, gasUsed, coreId} with Sh = +2 3 Majv {⟨Tdh , s, t, h(s), h(t)⟩v} ⟨T1, s1, t1, h(s1), h(t1)⟩v and ⟨T2, s2, t2, h(s2), h(t2)⟩v 1. h(t1) = h(t2) 2. h(s2) < h(s1) < h(t1) < h(t2) 3. s1 = s2 ∧ T1 ≠ T2 a validator MUST NOT publish two votes for which 1, 2 or 3 holds slashing conditions are immediately enforceable on both chains.
  45. Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chain
 (PoS) proposers … but Validators Need Carrots too. GAS users pay gas fee to proposers for transactions proposers deposit gas fee
 to prefund meta-blocks VOTES validators are rewarded for votes ~ gas consumed validators validators must have voted on auxiliary
 and committed on Ethereum to get rewarded. OST OST
  46. Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chain
 (PoS) proposers … but Validators Need Carrots too. GAS users pay gas fee to proposers for transactions proposers deposit gas fee
 to prefund meta-blocks VOTES validators are rewarded for votes ~ gas consumed validators validators must have voted on auxiliary
 and committed on Ethereum to get rewarded. A GasTarget for a meta-block forces
 validators to commit on Ethereum. Validators can join or logout
 in the second following meta-block. OST OST
  47. Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chains
 (PoS) last finalised checkpoint can always
 be committed by anyone. validator set can be challenged
 that meta-blockchain has halted. for halted core all value held in gateways
 on Ethereum can be recovered with ownership proofs
 against latest committed (equiv. finalized) meta-block. No mass-exit required. finalise checkpoints: When it all goes wrong: Halting GAS
  48. Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chain
 (PoS) proposers So what can we use this for? users send EVM transactions
 proposers propose meta-blocks
 validators verify and finalise
 anyone can commit at any time validators • Gateway consumes the state root finalised by validators
 Users and contracts can pass messages (without a bridge); currently ERC20-typed
 • For ERC20-tokens, once minted on the auxiliary chain, atomic swap is fast to move across. Off-chain load-balancing logic.
 • DApps (users) can opt-in to (and out of) auxiliary chains.
  49. Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chains
 (PoS) proposers Summary validators •Security is asynchronously derived from Ethereum.
 •# cores supported ~ total validator stake ~ driven by utility (rewarded in gas)
 •Tens of thousands of transactions per second are asynchronously finalised on Ethereum — at lower gas price.
  50. Current Status - September 2018 • OST KIT & OpenST 0.9.2 used by 120+ external developer teams on Testnet
 • OST KIT & OpenST 0.9.2 used by 10+ external partners on Mainnet — 3 months ahead of schedule
 • OpenST 0.9.3 (cross-chain messaging) — completed
 • OpenST 0.9.4 (decentralized keys engine & token rules engine) — in progress
 • Introducing Mosaic at several events like ETH Berlin & Upbit to solicit community feedback
 • Huge thanks to the 65 person OST Team and the fantastic OST Community!
  51. What’s Coming Next Q3 2018: • Publish OpenST Mosaic Paper for Community Feedback
 Q4 2018: • Continue Mainnet testing of OST, OpenST Protocol
 2019: • Mosaic alpha • Mosaic beta - warm up validator pool • Widespread Deployments of OST, OpenST, Mosaic to mainstream businesses and DApps • Smart contract calls across auxiliary chains • 2nd-order meta-blocks (aux-on-aux-on-ETHv1.0 or v2.0) 2020: • Mosaic fully released to decentralised validator pool 

  52. OpenST Mosaic @benjaminbollen Questions & Feedback Welcome @betashop ostmosaic github.com/openstfoundation

×