ݺߣ

ݺߣShare a Scribd company logo
OpenST Mosaic
@benjaminbollen
Scaling Blockchain Economies to
Billions of Users
@betashop ostmosaic
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
1439
1993
Blockchain is a Continuation of the Internet Revolution
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
Get everyone 

and everything
online
Photo by Rawpixel on Unsplash
Put a Super-Computer
in Everyone’s Pockets
Photo by rawpixel on Unsplash
Redefine Relationships
Photo by Tim ԲԱٳDzԲ
Redefine Money
Photo by Yohann DzԲ
Redefine Institutions
Photo by Yohann DzԲ
Create New Economies
Photo by Anete Lusina on Unsplash
Still Early Days of the Revolution
Users in Millions
Less Than 0.6% of Internet Users Have A Crypto Wallet
3 Factors Limiting Adoption:
Developers, Scalability, UsabilityPhoto by Alex Radelich on Unsplash
Bridging the Scalability Gap
For Apps & DApps
Photo by JonasVerstuyft on Unsplash
Why Ethereum?



Programmable money.

It (proof of) works, today.



Strongest developer community.
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.
September 2017
OpenST Protocol
Staking value tokens on Ethereum for 

minting utility tokens on auxiliary chains
Photo by Joshua Earle on Unsplash
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
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
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
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
September 2018
OpenST Mosaic Protocol
Running meta-blockchains on 

Ethereum to scale DApps to

billions of users
Photo by Joshuan Earle on Unsplash
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billions of users
dev.ost.com
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, Hashed to solicit community
feedback

• Huge thanks to the 65 person OST Team, Early Backers like HASHED, and the fantastic 

OST Community!
https://blog.naver.com/osthq
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
Limitation to 

Scaling Blockchains
Photo by Andre Mouton on Unsplash
Full Replication
Three Ingredients for Sharding ostmosaic
1. Divide work into shards

2.Communicate between shards

3.Economic finality on each shard
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
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).
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.
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”
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
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
Three Ingredients for Sharding ostmosaic
1. Divide work into shards

2.Communicate between shards

3.Economic finality on each shard
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)
Bringing Three Ingredients Together
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.
OST
OST
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
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
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.
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.
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


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

More Related Content

HASHED LOUNGE Presents: OpenST Mosaic - 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
  • 5. Blockchain is a Continuation of the Internet Revolution 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
  • 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
  • 25. 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, Hashed to solicit community feedback
 • Huge thanks to the 65 person OST Team, Early Backers like HASHED, and the fantastic 
 OST Community!
  • 27. 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
  • 28. Limitation to 
 Scaling Blockchains Photo by Andre Mouton on Unsplash Full Replication
  • 29. Three Ingredients for Sharding ostmosaic 1. Divide work into shards
 2.Communicate between shards
 3.Economic finality on each shard
  • 30. 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
  • 31. 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).
  • 32. 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!
  • 33. Move Bulk of Transactions Off Ethereum & Onto Auxiliary Chains! Ethereum Mainnet Auxiliary 
 Chains
  • 34. 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
  • 35. 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.
  • 36. 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”
  • 37. 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
  • 38. 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
  • 39. Three Ingredients for Sharding ostmosaic 1. Divide work into shards
 2.Communicate between shards
 3.Economic finality on each shard
  • 40. 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)
  • 41. Bringing Three Ingredients Together Mosaic (PoS) Ethereum Mainnet
 (PoW) Auxiliary 
 Chains
 (PoS) B(header, txList, nonce) B(header, txList, majorityVote) BM : Σ → Σ′
  • 42. 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}
  • 43. 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}
  • 44. 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}
  • 45. 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}
  • 46. 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}
  • 47. 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}
  • 48. 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.
  • 49. 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
  • 50. 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
  • 51. 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
  • 52. 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.
  • 53. 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.
  • 54. 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 

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