SlideShare a Scribd company logo
1 of 26
Download to read offline
Engage
Running meta-blockchains on
Ethereum to scale DApps to

billions of users
OpenST Mosaic
ben@ost.com7 September, 2018 @benjaminbollen ostmosaic
Introducing OpenST Mosaic
• Today is the first time we dive into details of OpenST Mosaic.
• OpenST Protocol [Oct 2017 v0.9.0 - present v0.9.4] aims to 

onboard a billion new users onto Ethereum by 

tokenizing mainstream applications.

• Requirements:
• Scalable programmable money (EVM) for on-chain token rules
• Easy for millions of novice users to adopt today. 



* This week first partners on mainnet with v0.9.2

• Plasma: scale each app off-chain; data-availability problem
• Payment channels don’t have smart contracts
• Sharding + Casper Ethereum = Ethereum v2.0 (future work + high stakes)

• Mosaic is token-sharding at layer2 on ETH v1.0 (and later ETH v2.0)
ostmosaic
In Next 20 Minutes… 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).
Problem We Are Trying to Solve
Existing Mainstream Apps
with Millions of Users
Blockchains don’t scale
DApps Same problem
• but tx/s finalised can scale linearly with # nodes

1. if we can shard the total state space across nodes

2. and offset the overhead incurred by more nodes.

• Solution: Asynchronously derive the security from ETH (PoW) to finalise auxiliary chains.
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!
Move Bulk of Transactions Off Ethereum & Onto Auxiliary Chains!
Ethereum
Mainnet
Auxiliary 

Chains
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
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.
Token-Sharding
GAS
full native EVM interface

scalable, on-chain smart contracts
today on mainnet (v0.9.2)

BUT today we oraclise between the chains

=> Mosaic will decentralise state root transfer
Ethereum
Mainnet
Auxiliary 

Chains
State Root
Gateway
State Root
Token-Sharding
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
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)
Proposing Meta-Blocks on Ethereum
Mosaic (PoS)
Ethereum
Mainnet

(PoW)
Auxiliary 

Chains

(PoS)
B(header, txList, nonce) B(header, txList, majorityVote)
BM : Σ → Σ′
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}
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}
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}
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}
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}
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}
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.
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.
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.
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.

• DApps (users) can opt-in and -out of auxiliary chains.
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
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 to solicit community feedback
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


Engage
Questions and feedback
welcomed!
Thank You !
ben@ost.com7 September, 2018 @benjaminbollen ostmosaic
github.com/openstfoundation

More Related Content

Similar to OpenST Mosaic Protocol introduced at ETH Berlin: Running meta-blockchains on Ethereum to scale DApps to billions of users

Similar to OpenST Mosaic Protocol introduced at ETH Berlin: Running meta-blockchains on Ethereum to scale DApps to billions of users (20)

Ethereum A to Z
Ethereum A to ZEthereum A to Z
Ethereum A to Z
 
Distributed exchanges
Distributed exchangesDistributed exchanges
Distributed exchanges
 
Introduction to Blockchain and Ethereum
Introduction to Blockchain and EthereumIntroduction to Blockchain and Ethereum
Introduction to Blockchain and Ethereum
 
BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session
BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session
BlockchainDay "Ethereum Dapp - Asset Exchange YOSEMITE alpha" Session
 
Blockchain meets database
Blockchain meets databaseBlockchain meets database
Blockchain meets database
 
The Eth 2.0 Upgrade - The Basics
The Eth 2.0 Upgrade - The BasicsThe Eth 2.0 Upgrade - The Basics
The Eth 2.0 Upgrade - The Basics
 
Hands on with Smart Contracts session #3
Hands on with Smart Contracts session #3Hands on with Smart Contracts session #3
Hands on with Smart Contracts session #3
 
Blockchain and smart contracts day 2
Blockchain and smart contracts day 2Blockchain and smart contracts day 2
Blockchain and smart contracts day 2
 
Ethereum bxl
Ethereum bxlEthereum bxl
Ethereum bxl
 
Blockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentationBlockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentation
 
Blockchain, Ethereum and Business Applications
Blockchain, Ethereum and Business ApplicationsBlockchain, Ethereum and Business Applications
Blockchain, Ethereum and Business Applications
 
Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019
Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019
Preston Van Loon | Ethereum 2.0 at CoinFund Rabbithole Talks | February 28, 2019
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
Blockchain - a formal introduction
Blockchain - a formal introductionBlockchain - a formal introduction
Blockchain - a formal introduction
 
Introduction to Blockchain Web3 Session
Introduction to Blockchain Web3 SessionIntroduction to Blockchain Web3 Session
Introduction to Blockchain Web3 Session
 
Towards a Generalised Blockchain Fabric @ CodeBlock 2018
Towards a Generalised Blockchain Fabric @ CodeBlock 2018Towards a Generalised Blockchain Fabric @ CodeBlock 2018
Towards a Generalised Blockchain Fabric @ CodeBlock 2018
 
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
 
BCHGraz - Meetup #8 - Intro & Ethereum
 BCHGraz - Meetup #8 - Intro & Ethereum BCHGraz - Meetup #8 - Intro & Ethereum
BCHGraz - Meetup #8 - Intro & Ethereum
 
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
 
Ethereum.pptx
Ethereum.pptxEthereum.pptx
Ethereum.pptx
 

More from OST | Open Simple Token

More from OST | Open Simple Token (7)

Building Blockchain UX for Millions of Users
Building Blockchain UX for Millions of UsersBuilding Blockchain UX for Millions of Users
Building Blockchain UX for Millions of Users
 
Decoding Token Economics: Token Economy Design Workshop - OST | Open Simple T...
Decoding Token Economics: Token Economy Design Workshop - OST | Open Simple T...Decoding Token Economics: Token Economy Design Workshop - OST | Open Simple T...
Decoding Token Economics: Token Economy Design Workshop - OST | Open Simple T...
 
Blockchain x Mainstream -- OST Workshop at Betaworks Studios June, 2018
Blockchain x Mainstream -- OST Workshop at Betaworks Studios June, 2018Blockchain x Mainstream -- OST Workshop at Betaworks Studios June, 2018
Blockchain x Mainstream -- OST Workshop at Betaworks Studios June, 2018
 
Simple Token - V7.0 Project Deck for 14 November, 2017 ICO
Simple Token - V7.0 Project Deck for 14 November, 2017 ICOSimple Token - V7.0 Project Deck for 14 November, 2017 ICO
Simple Token - V7.0 Project Deck for 14 November, 2017 ICO
 
Simple Token 6.0 (OLD version) - for 14 November, 2017 ICO
Simple Token 6.0 (OLD version) - for 14 November, 2017 ICO Simple Token 6.0 (OLD version) - for 14 November, 2017 ICO
Simple Token 6.0 (OLD version) - for 14 November, 2017 ICO
 
Simple Token - V5.7 (Older version) -- Follow link below for Version 7.0 for ICO
Simple Token - V5.7 (Older version) -- Follow link below for Version 7.0 for ICOSimple Token - V5.7 (Older version) -- Follow link below for Version 7.0 for ICO
Simple Token - V5.7 (Older version) -- Follow link below for Version 7.0 for ICO
 
Applying Consumer-Centric UX to B2B Apps -- Pepo Campaigns
Applying Consumer-Centric UX to B2B Apps -- Pepo CampaignsApplying Consumer-Centric UX to B2B Apps -- Pepo Campaigns
Applying Consumer-Centric UX to B2B Apps -- Pepo Campaigns
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

OpenST Mosaic Protocol introduced at ETH Berlin: Running meta-blockchains on Ethereum to scale DApps to billions of users

  • 1. Engage Running meta-blockchains on Ethereum to scale DApps to
 billions of users OpenST Mosaic ben@ost.com7 September, 2018 @benjaminbollen ostmosaic
  • 2. Introducing OpenST Mosaic • Today is the first time we dive into details of OpenST Mosaic. • OpenST Protocol [Oct 2017 v0.9.0 - present v0.9.4] aims to 
 onboard a billion new users onto Ethereum by 
 tokenizing mainstream applications.
 • Requirements: • Scalable programmable money (EVM) for on-chain token rules • Easy for millions of novice users to adopt today. 
 
 * This week first partners on mainnet with v0.9.2
 • Plasma: scale each app off-chain; data-availability problem • Payment channels don’t have smart contracts • Sharding + Casper Ethereum = Ethereum v2.0 (future work + high stakes)
 • Mosaic is token-sharding at layer2 on ETH v1.0 (and later ETH v2.0) ostmosaic
  • 3. In Next 20 Minutes… 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).
  • 4. Problem We Are Trying to Solve Existing Mainstream Apps with Millions of Users Blockchains don’t scale DApps Same problem • but tx/s finalised can scale linearly with # nodes
 1. if we can shard the total state space across nodes
 2. and offset the overhead incurred by more nodes.
 • Solution: Asynchronously derive the security from ETH (PoW) to finalise auxiliary chains.
  • 5. 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!
  • 6. Move Bulk of Transactions Off Ethereum & Onto Auxiliary Chains! Ethereum Mainnet Auxiliary 
 Chains
  • 7. 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
  • 8. 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.
  • 9. Token-Sharding GAS full native EVM interface
 scalable, on-chain smart contracts today on mainnet (v0.9.2)
 BUT today we oraclise between the chains
 => Mosaic will decentralise state root transfer Ethereum Mainnet Auxiliary 
 Chains State Root Gateway State Root
  • 10. Token-Sharding 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
  • 11. 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)
  • 12. Proposing Meta-Blocks on Ethereum Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chains
 (PoS) B(header, txList, nonce) B(header, txList, majorityVote) BM : Σ → Σ′
  • 13. 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}
  • 14. 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}
  • 15. 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}
  • 16. 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}
  • 17. 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}
  • 18. 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}
  • 19. 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.
  • 20. 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.
  • 21. 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.
  • 22. 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.
 • DApps (users) can opt-in and -out of auxiliary chains.
  • 23. 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
  • 24. 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 to solicit community feedback
  • 25. 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 

  • 26. Engage Questions and feedback welcomed! Thank You ! ben@ost.com7 September, 2018 @benjaminbollen ostmosaic github.com/openstfoundation