SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

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

Distributed exchanges
Distributed exchangesDistributed exchanges
Distributed exchangesDidier Martin
 
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 databaseYongraeJo
 
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 BasicsPRCanETH
 
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 #3Gene Leybzon
 
Blockchain and smart contracts day 2
Blockchain and smart contracts day 2Blockchain and smart contracts day 2
Blockchain and smart contracts day 2Gene Leybzon
 
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 presentationPaperchain
 
Blockchain, Ethereum and Business Applications
Blockchain, Ethereum and Business ApplicationsBlockchain, Ethereum and Business Applications
Blockchain, Ethereum and Business ApplicationsMatthias Zimmermann
 
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, 2019OlgaCoinFund
 
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)Thomas Graf
 
Blockchain - a formal introduction
Blockchain - a formal introductionBlockchain - a formal introduction
Blockchain - a formal introductionSander Demeester
 
Introduction to Blockchain Web3 Session
Introduction to Blockchain Web3 SessionIntroduction to Blockchain Web3 Session
Introduction to Blockchain Web3 SessionDSCIITPatna
 
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 2018Alexei Zamyatin
 
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Svetlin Nakov
 
BCHGraz - Meetup #8 - Intro & Ethereum
 BCHGraz - Meetup #8 - Intro & Ethereum BCHGraz - Meetup #8 - Intro & Ethereum
BCHGraz - Meetup #8 - Intro & EthereumBlockchainHub Graz
 
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...Romeo Kienzler
 

Ähnlich wie 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
 

Mehr von OST | Open Simple Token

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 UsersOST | Open Simple Token
 
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...OST | Open Simple Token
 
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, 2018OST | Open Simple Token
 
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 ICOOST | Open Simple Token
 
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 OST | Open Simple Token
 
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 ICOOST | Open Simple Token
 
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 CampaignsOST | Open Simple Token
 

Mehr von 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
 

Kürzlich hochgeladen

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Kürzlich hochgeladen (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

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