SlideShare a Scribd company logo
Towards a Generalised
Blockchain Fabric
Code Block 2018
Alexei Zamyatin
Motivation
Different
Properties
Privacy
Scalability
Security
Expressiveness
Transparency
Consensus
Finality
Challenge:
Secure, privacy preserving,
scalable and decentralized
cross-chain communication
Today:
Over 1500 heterogeneous
cryptocurrencies
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Why not simply agree on a single standard?
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Why Decentralization?
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Why Decentralization?
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Why Decentralization?
X
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Why Decentralization?
Miners
Developers
P2P
Network
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Cross-Blockchain Communication Today
โ€ข Assumption: (Most) permissionless blockchains are decentralized
โ€ข How about the communication between these systems?
โ€ข Centralized liquidity providers necessary
โ€ข โ€žTrustedโ€œ 3rd parties (exchanges, โ€ฆ)
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Transfer via Liquidity Providers
Liquidity Provider (LP)
Bobโ€˜s BTC Wallet
Bobโ€˜s
BTC
Account
Bobโ€˜s
ETH
Account
Aliceโ€˜s ETH Wallet
LPโ€˜s
BTC Wallet
LPโ€˜s
ETH Wallet
LP fee
Tx fee Tx fee
BTCโ€˜s P2P Network ETHโ€˜s P2P NetworkTowards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Properties Relevant for Interoperability
Interoperability
Privacy
Scalability
Security
Expressiveness
Transparency
Consensus Finality
(Simplified)
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
(Non-Exhaustive Example!)Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
General Categorization of Approaches
1. Centralized Exchanges
โ€ข ShapeShift, โ€ฆ
2. Notary Schemes
โ€ข Liquid, Interledger, Comit Network
3. Atomic Cross-Chain Swaps
โ€ข Pegged Sidechains and Cross-chain
Payment Channels (Lightning)
4. Chain Relays
โ€ข BTCRelay (BTC-ETH), PeaceRelay (ETC-ETH),
Project Alchemy (ZEC-ETH)
5. Merged Mining
โ€ข PoW reuse, Drivechains
6. Meta-layer constructions
โ€ข Polkadot, Cosmos
7. Sharding
โ€ข Aspen, Elastico
8. Based on Trusted Execution
Environments
โ€ข Tesseract, Teechan
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
General Categorization of Approaches
1. Centralized Exchanges
โ€ข ShapeShift, โ€ฆ
2. Notary Schemes (Trust N/M)
โ€ข Liquid, Interledger, Comit Network
3. Atomic Cross-Chain Swaps
โ€ข Pegged Sidechains and Cross-chain
Payment Channels (Lightning)
4. Chain Relays
โ€ข BTCRelay (BTC-ETH), PeaceRelay (ETC-ETH),
Project Alchemy (ZEC-ETH)
5. Merged Mining
โ€ข PoW reuse, Drivechains
6. Meta-layer protocols
โ€ข Polkadot, Cosmos
7. Sharding
โ€ข Aspen, Elastico
8. Based on Trusted Execution
Environments
โ€ข Tesseract, Teechan
Covered in todayโ€˜s session
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Atomic Cross-Chain Swaps
โ€ข Operations on chain A and chain B have the same โ€žtriggerโ€œ
โ€ข E.g. revealing of a hash preimage
โ€ข Also referred to as Hash Locking
๏ƒ  Idea: Lock funds on A, while unlocking corresponding funds on B
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
BTC LTC
Alice
(has BTC wants LTC)
Bob
(has LTC wants BTC)
time
No broadcast
๏ƒ  No effect
Published to LTC
Published to BTC
Unpublished /
Sent directly to user
Legend
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š()
Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ
BTC LTC
Alice
(has BTC wants LTC)
Bob
(has LTC wants BTC)
time
No broadcast
๏ƒ  No effect
Published to LTC
Published to BTC
Unpublished /
Sent directly to user
Legend
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š()
Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ
BTC LTC
Alice
(has BTC wants LTC)
Bob
(has LTC wants BTC)
time
t1
No broadcast
๏ƒ  No effect
Published to LTC
Published to BTC
Unpublished /
Sent directly to user
Legend
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š()
Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ
BTC LTC
Tx2
๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ
Alice
(has BTC wants LTC)
Bob
(has LTC wants BTC)
time
t1
No broadcast
๏ƒ  No effect
Published to LTC
Published to BTC
Unpublished /
Sent directly to user
Legend
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š()
Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ
BTC LTC
Tx2
๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ
Tx1
Alice
(has BTC wants LTC)
Bob
(has LTC wants BTC)
time
t1
A can use Tx2
after ๐‘ก1to get
refund
Published to LTC
Published to BTC
Unpublished /
Sent directly to user
Legend
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
BTC LTC
Tx2
๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ
Tx1
t1
Alice
(has BTC wants LTC)
Bob
(has LTC wants BTC)
time
A can use Tx2
after ๐‘ก1to get
refund
t2
Published to LTC
Published to BTC
Unpublished /
Sent directly to user
Legend
s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š()
Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ
Tx3 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ด โˆจ
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š()
Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ
BTC LTC
Tx2
๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ
Tx1
Tx3 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ด โˆจ
Tx4
๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ด, ๐“๐ฑ๐Ÿ’
t1
Alice
(has BTC wants LTC)
Bob
(has LTC wants BTC)
t2
time
A can use Tx2
after ๐‘ก1to get
refund
Published to LTC
Published to BTC
Unpublished /
Sent directly to user
Legend
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š()
Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ
BTC LTC
Tx2
๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ
Tx1
Tx3 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ด โˆจ
Tx4
๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ด, ๐“๐ฑ๐Ÿ’
Tx5 (spends Tx3 revealing s)
t1
Alice
(has BTC wants LTC)
Bob
(has LTC wants BTC)
t2
Tx3
time
A must spend
Tx3 before ๐‘ก2,
otherwise B
can claim
refund;
B must spend
Tx1 before ๐‘ก1,
otherwise A
can claim
refund
Published to LTC
Published to BTC
Unpublished /
Sent directly to user
Legend
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š()
Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ
BTC LTC
Tx2
๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ
Tx1
Tx3 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ด โˆจ
Tx4
๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ด, ๐“๐ฑ๐Ÿ’
Tx5 (spends Tx3 revealing s)
Tx6 (spends Tx1 using s)
t1
Alice
(has BTC wants LTC)
Bob
(has LTC wants BTC)
t2
Tx3
time
Swap
completed!
Published to LTC
Published to BTC
Unpublished /
Sent directly to user
Legend
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Interledger
Source:
Thomas, Stefan, and Evan Schwartz. "A protocol
for interledger payments." URL
https://interledger. org/interledger. pdf (2015).
โ€ข โ€žLedger-providedโ€œ escrows
โ€ข Lockbox ๏ƒ  unlock by proof that receiver
has received payment
โ€ข Must be implemented on-chain
โ€ข Atomic Mode:
โ€ข Two-Phase Commit with N notaries
as coordinators (PBFT, โ€ฆ)
๏ƒ  3f + 1 honest notaries required
โ€ข Global timeout
โ€ข โ€žFederatedโ€œ
โ€ข Universal mode: hash locking
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Atomic Cross-Chain Swaps โ€“ Proโ€˜s / Conโ€˜s
+ Atomicity
โ€ข Swap only performed if both parties perform the necessary Tx on the respective chains
+ Both parties can withdraw funds after time limit in case of failure
- Funds locked until swap complete or time lock passed
โ€ข DoS attacks possible
- Sender and Receiver must monitor both chains
โ€ข N chains ๏ƒ  N running clients
โ€ข Alternatively: Federated constructions (e.g. Interledger)
โ€ข Potential use case for SPV-Proofs / NiPoPoWs
- Requires timely action from both parties
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Atomic Cross-Chain Swaps - Properties
โ€ข StatelessTransferred Information
โ€ข Cryptographic (although other types also applicable)Validation
โ€ข Bi-directionalDirection
โ€ข OptionalTTP
โ€ข ProbabilisticFinality Guarantees
โ€ข Sender + Receiver online
Party Availability
Requirements
โ€ข Limited to the least expressive chainโ€˜s scriptScript Expressiveness
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Chain Relays
โ€ข System inside chain A is able to read, interpret and validate
events/state of chain B.
๏ƒ  Idea: prove that a transaction occurred on chain A to release funds
on chain B.
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
BTC Relay
โ€ข Smart Contract on ETH validating BTC
headers (like SPV Clients)
โ€ข Headers fed to SC
โ€ข Transactions in BTC can then be validated
โ€ข Can notify swap contract that BTC has been
transferred
โ€ข Validation must be possible on-chain
โ€ข E.g. not feasible for Scrypt
โ€ข Native support?
Source: http://btcrelay.org/
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
BTC Relay โ€“ BTC Swap
Ethereum
Bitcoin
BTC Swap
Has BTC, wants ETH Has ETH, wants BTC
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
BTC Relay โ€“ BTC Swap
Ethereum
1) Bob sends
๏‚ท ETH
๏‚ท Alice s ETH account
๏‚ท his BTC address
๏‚ท agreed exchange info
to escrow contract
Bitcoin
BTC Swap
Has BTC, wants ETH Has ETH, wants BTC
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
BTC Relay โ€“ BTC Swap
Ethereum
1) Bob sends
๏‚ท ETH
๏‚ท Alice s ETH account
๏‚ท his BTC address
๏‚ท agreed exchange info
to escrow contract
Bitcoin
BTC Swap
2) Alice sends BTC to Bobโ€™s address (TxBTC)
Has BTC, wants ETH Has ETH, wants BTC
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
BTC Relay โ€“ BTC Swap
Ethereum
1) Bob sends
๏‚ท ETH
๏‚ท Alice s ETH account
๏‚ท his BTC address
๏‚ท agreed exchange info
to escrow contract
Bitcoin
BTC Swap
3) Alice calls
btcrelay.relayTx(TxBTC, addrBTCSwap)
2) Alice sends BTC to Bobโ€™s address (TxBTC)
Has BTC, wants ETH Has ETH, wants BTC
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
BTC Relay โ€“ BTC Swap
Ethereum
1) Bob sends
๏‚ท ETH
๏‚ท Alice s ETH account
๏‚ท his BTC address
๏‚ท agreed exchange info
to escrow contract
Bitcoin
BTC Swap
3) Alice calls
btcrelay.relayTx(TxBTC, addrBTCSwap)
2) Alice sends BTC to Bobโ€™s address (TxBTC)
4) BTC Relay verifies TxBTC was
performed in Bitcoin
Has BTC, wants ETH Has ETH, wants BTC
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
BTC Relay โ€“ BTC Swap
Ethereum
1) Bob sends
๏‚ท ETH
๏‚ท Alice s ETH account
๏‚ท his BTC address
๏‚ท agreed exchange info
to escrow contract
Bitcoin
BTC Swap
3) Alice calls
btcrelay.relayTx(TxBTC, addrBTCSwap)
2) Alice sends BTC to Bobโ€™s address (TxBTC)
4) BTC Relay verifies TxBTC was
performed in Bitcoin
5) BTC Relay invokes
processTransaction() in
BTC Swap
Has BTC, wants ETH Has ETH, wants BTC
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
BTC Relay โ€“ BTC Swap
Ethereum
1) Bob sends
๏‚ท ETH
๏‚ท Alice s ETH account
๏‚ท his BTC address
๏‚ท agreed exchange info
to escrow contract
Bitcoin
BTC Swap
3) Alice calls
btcrelay.relayTx(TxBTC, addrBTCSwap)
2) Alice sends BTC to Bobโ€™s address (TxBTC)
4) BTC Relay verifies TxBTC was
performed in Bitcoin
5) BTC Relay invokes
processTransaction() in
BTC Swap
6) BTC Swap
releases payment to
Alice
Has BTC, wants ETH Has ETH, wants BTC
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Chain Relays โ€“ Proโ€˜s / Conโ€˜s
+ โ€œNon-interactiveโ€
โ€ข Publicly verifiable computations in Smart Contracts
+ Multi-purpose
โ€ข More use cases than 1:1 asset exchange
โ€ข Events on chain A can trigger complex processes on chain B (e.g. for bribing miners [McCory et al. โ€˜18])
- Relay contract must contain all headers of the connected chain
โ€ข Ongoing research to reduce storage requirements / simplify proofing mechanism
- Sufficient incentive for users to submit block headers necessary
โ€ข At least to cover gas costs
โ€ข Working fee model necessary
- Currently no freshness guarantees
โ€ข i.e., BTC relay may fall far behind Bitcoin
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Chain Relays - Properties
โ€ข StatelessTransferred Information
โ€ข CryptographicValidation
โ€ข UnidirectionalDirection
โ€ข NoneTTP
โ€ข ProbabilisticFinality Guarantees
โ€ข Contract deployed & available, Receiver online
Party Availability
Requirements
โ€ข โ€žTuring completeโ€œScript Expressiveness
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Meta-Layer Protocols
โ€ข Introduce a second communication layer
โ€ข Abstraction of blockchain-specific properties
โ€ข Rely on game theoretic incentives
โ€ข Interactions between different actors/roles
โ€ข Utilize described mechanisms to integrate external chains
โ€ข Notary schemes, chain relays, atomic swaps,โ€ฆ
๏ƒ  โ€žBridgesโ€œ
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Polkadot
โ€ข One of Parityโ€˜s flagship projects
โ€ข Two chain types:
โ€ข Para(llel)chains โ€“ globally-coherent dynamic data structures/blockchains
โ€ข Relay chain(s) โ€“ base communication/synchronization layer
โ€ข Relay Chain consensus:
โ€ข Initially: permissioned, i.e., 3f+1 BFT algorithm (e.g. HoneyBadgerBFT,
Tendermint, โ€ฆ)
โ€ข Planned: Delegated Proof-of-Stake (DPoS)
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Polkadot - Relay Chains and Parachains
Source:
Wood, Gavin. "Polkadot: Vision for a heterogeneous multi-chain framework." URL
https://github.com/polkadot-io/polkadot-white-paper/raw/master/PolkaDotPaper.pdf (2016).
Relay Chain Parachain
n1
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Relay Chain Parachain
mn
Polkadot - Relay Chains and Parachains
Source:
Wood, Gavin. "Polkadot: Vision for a heterogeneous multi-chain framework." URL
https://github.com/polkadot-io/polkadot-white-paper/raw/master/PolkaDotPaper.pdf (2016).Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Polkadot - Relay Chains and Parachains
Source:
Wood, Gavin. "Polkadot: Vision for a heterogeneous multi-chain framework." URL
https://github.com/polkadot-io/polkadot-white-paper/raw/master/PolkaDotPaper.pdf (2016).
Chain
Relay Chain
connects to
m
n
Parachain
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Polkadot - Relay Chains and Parachains
Source:
Wood, Gavin. "Polkadot: Vision for a heterogeneous multi-chain framework." URL
https://github.com/polkadot-io/polkadot-white-paper/raw/master/PolkaDotPaper.pdf (2016).
Chain
Relay Chain
connects to
m
n
Parachain
Transaction
Interchain On-chain
contains
1n
triggers
11
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Polkadot - Actors
โ€ข Validator
1. Validates parachain transactions/blocks
2. Agrees on interchain TX ๏ƒ  relay chain
validation
โ€ข Stake slashed in case of misbehaviour
โ€ข Nominator
โ€ข Can provide stake for validator
โ€ข Collator
โ€ข Collects parachain TX and sends block
candidates to validators
โ€ข Fisherman
โ€ข Monitors validators for misbehaviour / Reports
to other validators
โ€ข Clients/Light Clients
Source:
Wood, Gavin. "Polkadot: Vision for a heterogeneous multi-chain framework." URL
https://github.com/polkadot-io/polkadot-white-paper/raw/master/PolkaDotPaper.pdf (2016).Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Polkadot - Actors
โ€ข Relay Chain:
โ€ข Validator
1. Validates parachain transactions/blocks
2. Agrees on interchain TX ๏ƒ  relay chain
validation
โ€ข Stake slashed in case of misbehaviour
โ€ข Nominator
โ€ข Can provide stake for validator
โ€ข Parachain
โ€ข Collator
โ€ข Collects parachain TX and sends block candidates
to validators
โ€ข Fisherman
โ€ข Monitors validators for misbehaviour / Reports
to other validators
โ€ข Clients/Light Clients
Participant
ValidatorNominator FishermanCollator
Relay node
Para-node
stakes for
nm
monitors / reports failure
n m
provides parachain
blocks
n m
validates/
slashes
n
m
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Polkadot โ€“ Domain Overview (simplified)
Chain
Relay Chain Parachain
Participant
ValidatorNominator FishermanCollator
Transaction
Interchain
Transaction
Parachain
Transaction
triggers
11
Relay node
Para-node
has
1
connects to
m
n
n
1 1
n
stakes for
nm
monitors / reports failure
n m
provides parachain
blocks
n m
Participant/Transaction relations
omitted for simplicity
validates/
slashes
n
m
n
FIFO Transaction
Queue
contains
n
1
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Polkadot - Challenges
โ€ข Game theoretic incentives not sufficiently studied
โ€ข Modelling of incentives and potential attacks necessary
โ€ข High communication complexity
โ€ข Extent of necessary overhead unclear
โ€ข A lot of technical details still not clearly defined
โ€ข How to maintain information on asset state after cross-chain TX?
โ€ข Consensus finality ๏ƒ  what happens if parachains fork? Or relay chain forks?
โ€ข Address/account scheme
โ€ข Privacy features
โ€ข โ€ฆ.
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Cosmos
โ€ข Cosmos Hub and Zones (child blockchains)
โ€ข Each Zone can become a hub in turn
โ€ข Zones run Tendermint BFT (3f + 1)
โ€ข Fixed known set of validators
โ€ข Cross-chain communication similar to two-
way-peg
โ€ข Bridges to other chains necessary (e.g. ETH)
โ€ข Permissioned setup
โ€ข Tested with 65 validator nodes
โ€ข Initially 100, scale up to 300 within 10 years
Source:
Kwon, Jae, and Buchman, Ethan. โ€žCosmos: A Network of Distributed
Ledgersโ€œ. URL
https://github.com/cosmos/cosmos/blob/master/WHITEPAPER.md (2016)
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Outlook
โ€ข Rapidly increasing number of projects promising โ€žMulti-blockchain protocolsโ€œ
โ€ข Often limited technical details provided ๏ƒ  unclear how exactly communication will be
facilitated.
โ€ข Many rely on versions of atomic swaps or chain relays under a (semi-) centralized setup
โ€ข Active development
โ€ข 1:1 Bridges between Ethereum and other networks in development
โ€ข Lightning cross-chain swaps between BTC and LTC
โ€ข Overlay protocols / Colored Coins
โ€ข โ€ฆ
โ€ข No โ€œtruly decentralizedโ€ solution yet
๏ƒ  Alarming shift towards centralized approaches
Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
Questions?
Alexei Zamyatin
a.zamyatin@imperial.ac.uk
PGP ID: 0x5485B999
PGP FP: 2F5F E92D CDAC 15B0 84A6 9FE9 9018 A958 5485 B999
@alexeiZamyatin

More Related Content

What's hot

Blockchain. A Guide For Beginners
Blockchain. A Guide For BeginnersBlockchain. A Guide For Beginners
Blockchain. A Guide For Beginners
ElifTech
ย 
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Svetlin Nakov
ย 
Intro to Blockchain - And, by the way, what the heck is proof-of-work?
Intro to Blockchain - And, by the way, what the heck is proof-of-work?Intro to Blockchain - And, by the way, what the heck is proof-of-work?
Intro to Blockchain - And, by the way, what the heck is proof-of-work?
Jim Flynn
ย 
Hyperchains
HyperchainsHyperchains
Hyperchains
Grzegorz Uriasz
ย 
Blockchain Interoperability using Cosmos Interblockchain Communication
Blockchain Interoperability using Cosmos Interblockchain CommunicationBlockchain Interoperability using Cosmos Interblockchain Communication
Blockchain Interoperability using Cosmos Interblockchain Communication
Chjango Unchained
ย 
Weaving the ILP Fabric into Bigchain DB
Weaving the ILP Fabric into Bigchain DBWeaving the ILP Fabric into Bigchain DB
Weaving the ILP Fabric into Bigchain DB
Interledger
ย 
A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...
vpnmentor
ย 
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Svetlin Nakov
ย 
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
Alex Chepurnoy
ย 
Introduction to Blockchain & development
Introduction to Blockchain & developmentIntroduction to Blockchain & development
Introduction to Blockchain & development
Abdullah Aziz
ย 

What's hot (10)

Blockchain. A Guide For Beginners
Blockchain. A Guide For BeginnersBlockchain. A Guide For Beginners
Blockchain. A Guide For Beginners
ย 
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
ย 
Intro to Blockchain - And, by the way, what the heck is proof-of-work?
Intro to Blockchain - And, by the way, what the heck is proof-of-work?Intro to Blockchain - And, by the way, what the heck is proof-of-work?
Intro to Blockchain - And, by the way, what the heck is proof-of-work?
ย 
Hyperchains
HyperchainsHyperchains
Hyperchains
ย 
Blockchain Interoperability using Cosmos Interblockchain Communication
Blockchain Interoperability using Cosmos Interblockchain CommunicationBlockchain Interoperability using Cosmos Interblockchain Communication
Blockchain Interoperability using Cosmos Interblockchain Communication
ย 
Weaving the ILP Fabric into Bigchain DB
Weaving the ILP Fabric into Bigchain DBWeaving the ILP Fabric into Bigchain DB
Weaving the ILP Fabric into Bigchain DB
ย 
A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...
ย 
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
ย 
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
ย 
Introduction to Blockchain & development
Introduction to Blockchain & developmentIntroduction to Blockchain & development
Introduction to Blockchain & development
ย 

Similar to Towards a Generalised Blockchain Fabric @ CodeBlock 2018

BlockchainHub Graz Meetup #22 - Atomic Swaps - Johannes Zweng
BlockchainHub Graz Meetup #22 - Atomic Swaps - Johannes ZwengBlockchainHub Graz Meetup #22 - Atomic Swaps - Johannes Zweng
BlockchainHub Graz Meetup #22 - Atomic Swaps - Johannes Zweng
BlockchainHub Graz
ย 
Blockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challengesBlockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challenges
Sรฉbastien Tandel
ย 
Blockchain for Beginners
Blockchain for Beginners Blockchain for Beginners
Blockchain for Beginners
Cyber Security Alliance
ย 
Blockchain for Business Yale School of Management Dr John Maheswaran
Blockchain for Business Yale School of Management Dr John MaheswaranBlockchain for Business Yale School of Management Dr John Maheswaran
Blockchain for Business Yale School of Management Dr John Maheswaran
John M.
ย 
Token btlcoin btlcoin
Token btlcoin btlcoinToken btlcoin btlcoin
Token btlcoin btlcoin
btlcoin token
ย 
Token btlcoin
Token btlcoinToken btlcoin
Token btlcoin
btlcoin token
ย 
Bitcoin - Understanding and Assessing potential Opportunities
Bitcoin - Understanding and Assessing potential OpportunitiesBitcoin - Understanding and Assessing potential Opportunities
Bitcoin - Understanding and Assessing potential Opportunities
QuasarVentures
ย 
Introduction into blockchains and cryptocurrencies
Introduction into blockchains and cryptocurrenciesIntroduction into blockchains and cryptocurrencies
Introduction into blockchains and cryptocurrencies
Sergey Ivliev
ย 
Blockchan For Developers
Blockchan For DevelopersBlockchan For Developers
Blockchan For Developers
Alex Chepurnoy
ย 
20170620 MEETUP intro to blockchain and smart contracts (1)
20170620 MEETUP intro to blockchain and smart contracts (1)20170620 MEETUP intro to blockchain and smart contracts (1)
20170620 MEETUP intro to blockchain and smart contracts (1)
Brussels Legal Hackers
ย 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchain
BastianBlankenburg
ย 
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...
OST | Open Simple Token
ย 
Metadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN ExplosionMetadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN Explosion
Coin Sciences Ltd
ย 
Introduction to Blockchain and Ethereum
Introduction to Blockchain and EthereumIntroduction to Blockchain and Ethereum
Introduction to Blockchain and Ethereum
Georgios Konstantopoulos
ย 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
Sanjeev Mishra
ย 
[ETHCon Korea 2019] Calvin kim
[ETHCon Korea 2019] Calvin kim[ETHCon Korea 2019] Calvin kim
[ETHCon Korea 2019] Calvin kim
ethconkr
ย 
Blockchain 101 - public, tokenized blockchains
Blockchain 101 - public, tokenized blockchainsBlockchain 101 - public, tokenized blockchains
Blockchain 101 - public, tokenized blockchains
Brett Colbert
ย 
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018
Codemotion
ย 
The Emergent Layer 2
The Emergent Layer 2The Emergent Layer 2
The Emergent Layer 2
Chris Priest
ย 
BCHGraz - Meetup #8 - Intro & Ethereum
 BCHGraz - Meetup #8 - Intro & Ethereum BCHGraz - Meetup #8 - Intro & Ethereum
BCHGraz - Meetup #8 - Intro & Ethereum
BlockchainHub Graz
ย 

Similar to Towards a Generalised Blockchain Fabric @ CodeBlock 2018 (20)

BlockchainHub Graz Meetup #22 - Atomic Swaps - Johannes Zweng
BlockchainHub Graz Meetup #22 - Atomic Swaps - Johannes ZwengBlockchainHub Graz Meetup #22 - Atomic Swaps - Johannes Zweng
BlockchainHub Graz Meetup #22 - Atomic Swaps - Johannes Zweng
ย 
Blockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challengesBlockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challenges
ย 
Blockchain for Beginners
Blockchain for Beginners Blockchain for Beginners
Blockchain for Beginners
ย 
Blockchain for Business Yale School of Management Dr John Maheswaran
Blockchain for Business Yale School of Management Dr John MaheswaranBlockchain for Business Yale School of Management Dr John Maheswaran
Blockchain for Business Yale School of Management Dr John Maheswaran
ย 
Token btlcoin btlcoin
Token btlcoin btlcoinToken btlcoin btlcoin
Token btlcoin btlcoin
ย 
Token btlcoin
Token btlcoinToken btlcoin
Token btlcoin
ย 
Bitcoin - Understanding and Assessing potential Opportunities
Bitcoin - Understanding and Assessing potential OpportunitiesBitcoin - Understanding and Assessing potential Opportunities
Bitcoin - Understanding and Assessing potential Opportunities
ย 
Introduction into blockchains and cryptocurrencies
Introduction into blockchains and cryptocurrenciesIntroduction into blockchains and cryptocurrencies
Introduction into blockchains and cryptocurrencies
ย 
Blockchan For Developers
Blockchan For DevelopersBlockchan For Developers
Blockchan For Developers
ย 
20170620 MEETUP intro to blockchain and smart contracts (1)
20170620 MEETUP intro to blockchain and smart contracts (1)20170620 MEETUP intro to blockchain and smart contracts (1)
20170620 MEETUP intro to blockchain and smart contracts (1)
ย 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchain
ย 
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...
HASHED LOUNGE Presents: OpenST Mosaic - Scaling blockchain economies to billi...
ย 
Metadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN ExplosionMetadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN Explosion
ย 
Introduction to Blockchain and Ethereum
Introduction to Blockchain and EthereumIntroduction to Blockchain and Ethereum
Introduction to Blockchain and Ethereum
ย 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
ย 
[ETHCon Korea 2019] Calvin kim
[ETHCon Korea 2019] Calvin kim[ETHCon Korea 2019] Calvin kim
[ETHCon Korea 2019] Calvin kim
ย 
Blockchain 101 - public, tokenized blockchains
Blockchain 101 - public, tokenized blockchainsBlockchain 101 - public, tokenized blockchains
Blockchain 101 - public, tokenized blockchains
ย 
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018
ย 
The Emergent Layer 2
The Emergent Layer 2The Emergent Layer 2
The Emergent Layer 2
ย 
BCHGraz - Meetup #8 - Intro & Ethereum
 BCHGraz - Meetup #8 - Intro & Ethereum BCHGraz - Meetup #8 - Intro & Ethereum
BCHGraz - Meetup #8 - Intro & Ethereum
ย 

Recently uploaded

The basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptxThe basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptx
heathfieldcps1
ย 
Prรฉsentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Prรฉsentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrรฉsentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Prรฉsentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
siemaillard
ย 
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
indexPub
ย 
Educational Technology in the Health Sciences
Educational Technology in the Health SciencesEducational Technology in the Health Sciences
Educational Technology in the Health Sciences
Iris Thiele Isip-Tan
ย 
Accounting for Restricted Grants When and How To Record Properly
Accounting for Restricted Grants  When and How To Record ProperlyAccounting for Restricted Grants  When and How To Record Properly
Accounting for Restricted Grants When and How To Record Properly
TechSoup
ย 
How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17
Celine George
ย 
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumPhilippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
MJDuyan
ย 
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
TechSoup
ย 
Data Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsxData Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsx
Prof. Dr. K. Adisesha
ย 
Bonku-Babus-Friend by Sathyajith Ray (9)
Bonku-Babus-Friend by Sathyajith Ray  (9)Bonku-Babus-Friend by Sathyajith Ray  (9)
Bonku-Babus-Friend by Sathyajith Ray (9)
nitinpv4ai
ย 
Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)
nitinpv4ai
ย 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Henry Hollis
ย 
skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)
Mohammad Al-Dhahabi
ย 
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
EduSkills OECD
ย 
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapitolTechU
ย 
ู…ุตุญู ุงู„ู‚ุฑุงุกุงุช ุงู„ุนุดุฑ ุฃุนุฏ ุฃุญุฑู ุงู„ุฎู„ุงู ุณู…ูŠุฑ ุจุณูŠูˆู†ูŠ.pdf
ู…ุตุญู ุงู„ู‚ุฑุงุกุงุช ุงู„ุนุดุฑ   ุฃุนุฏ ุฃุญุฑู ุงู„ุฎู„ุงู ุณู…ูŠุฑ ุจุณูŠูˆู†ูŠ.pdfู…ุตุญู ุงู„ู‚ุฑุงุกุงุช ุงู„ุนุดุฑ   ุฃุนุฏ ุฃุญุฑู ุงู„ุฎู„ุงู ุณู…ูŠุฑ ุจุณูŠูˆู†ูŠ.pdf
ู…ุตุญู ุงู„ู‚ุฑุงุกุงุช ุงู„ุนุดุฑ ุฃุนุฏ ุฃุญุฑู ุงู„ุฎู„ุงู ุณู…ูŠุฑ ุจุณูŠูˆู†ูŠ.pdf
ุณู…ูŠุฑ ุจุณูŠูˆู†ูŠ
ย 
How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17
Celine George
ย 
How to Predict Vendor Bill Product in Odoo 17
How to Predict Vendor Bill Product in Odoo 17How to Predict Vendor Bill Product in Odoo 17
How to Predict Vendor Bill Product in Odoo 17
Celine George
ย 
Pharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brubPharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brub
danielkiash986
ย 
Standardized tool for Intelligence test.
Standardized tool for Intelligence test.Standardized tool for Intelligence test.
Standardized tool for Intelligence test.
deepaannamalai16
ย 

Recently uploaded (20)

The basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptxThe basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptx
ย 
Prรฉsentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Prรฉsentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrรฉsentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Prรฉsentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
ย 
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
THE SACRIFICE HOW PRO-PALESTINE PROTESTS STUDENTS ARE SACRIFICING TO CHANGE T...
ย 
Educational Technology in the Health Sciences
Educational Technology in the Health SciencesEducational Technology in the Health Sciences
Educational Technology in the Health Sciences
ย 
Accounting for Restricted Grants When and How To Record Properly
Accounting for Restricted Grants  When and How To Record ProperlyAccounting for Restricted Grants  When and How To Record Properly
Accounting for Restricted Grants When and How To Record Properly
ย 
How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17
ย 
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumPhilippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
ย 
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
Elevate Your Nonprofit's Online Presence_ A Guide to Effective SEO Strategies...
ย 
Data Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsxData Structure using C by Dr. K Adisesha .ppsx
Data Structure using C by Dr. K Adisesha .ppsx
ย 
Bonku-Babus-Friend by Sathyajith Ray (9)
Bonku-Babus-Friend by Sathyajith Ray  (9)Bonku-Babus-Friend by Sathyajith Ray  (9)
Bonku-Babus-Friend by Sathyajith Ray (9)
ย 
Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)Oliver Asks for More by Charles Dickens (9)
Oliver Asks for More by Charles Dickens (9)
ย 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
ย 
skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)skeleton System.pdf (skeleton system wow)
skeleton System.pdf (skeleton system wow)
ย 
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...
ย 
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
ย 
ู…ุตุญู ุงู„ู‚ุฑุงุกุงุช ุงู„ุนุดุฑ ุฃุนุฏ ุฃุญุฑู ุงู„ุฎู„ุงู ุณู…ูŠุฑ ุจุณูŠูˆู†ูŠ.pdf
ู…ุตุญู ุงู„ู‚ุฑุงุกุงุช ุงู„ุนุดุฑ   ุฃุนุฏ ุฃุญุฑู ุงู„ุฎู„ุงู ุณู…ูŠุฑ ุจุณูŠูˆู†ูŠ.pdfู…ุตุญู ุงู„ู‚ุฑุงุกุงุช ุงู„ุนุดุฑ   ุฃุนุฏ ุฃุญุฑู ุงู„ุฎู„ุงู ุณู…ูŠุฑ ุจุณูŠูˆู†ูŠ.pdf
ู…ุตุญู ุงู„ู‚ุฑุงุกุงุช ุงู„ุนุดุฑ ุฃุนุฏ ุฃุญุฑู ุงู„ุฎู„ุงู ุณู…ูŠุฑ ุจุณูŠูˆู†ูŠ.pdf
ย 
How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17
ย 
How to Predict Vendor Bill Product in Odoo 17
How to Predict Vendor Bill Product in Odoo 17How to Predict Vendor Bill Product in Odoo 17
How to Predict Vendor Bill Product in Odoo 17
ย 
Pharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brubPharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brub
ย 
Standardized tool for Intelligence test.
Standardized tool for Intelligence test.Standardized tool for Intelligence test.
Standardized tool for Intelligence test.
ย 

Towards a Generalised Blockchain Fabric @ CodeBlock 2018

  • 1. Towards a Generalised Blockchain Fabric Code Block 2018 Alexei Zamyatin
  • 2. Motivation Different Properties Privacy Scalability Security Expressiveness Transparency Consensus Finality Challenge: Secure, privacy preserving, scalable and decentralized cross-chain communication Today: Over 1500 heterogeneous cryptocurrencies Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 3. Why not simply agree on a single standard? Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 4. Why Decentralization? Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 5. Why Decentralization? Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 6. Why Decentralization? X Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 7. Why Decentralization? Miners Developers P2P Network Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 8. Cross-Blockchain Communication Today โ€ข Assumption: (Most) permissionless blockchains are decentralized โ€ข How about the communication between these systems? โ€ข Centralized liquidity providers necessary โ€ข โ€žTrustedโ€œ 3rd parties (exchanges, โ€ฆ) Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 9. Transfer via Liquidity Providers Liquidity Provider (LP) Bobโ€˜s BTC Wallet Bobโ€˜s BTC Account Bobโ€˜s ETH Account Aliceโ€˜s ETH Wallet LPโ€˜s BTC Wallet LPโ€˜s ETH Wallet LP fee Tx fee Tx fee BTCโ€˜s P2P Network ETHโ€˜s P2P NetworkTowards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 10. Properties Relevant for Interoperability Interoperability Privacy Scalability Security Expressiveness Transparency Consensus Finality (Simplified) Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 11. (Non-Exhaustive Example!)Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 12. General Categorization of Approaches 1. Centralized Exchanges โ€ข ShapeShift, โ€ฆ 2. Notary Schemes โ€ข Liquid, Interledger, Comit Network 3. Atomic Cross-Chain Swaps โ€ข Pegged Sidechains and Cross-chain Payment Channels (Lightning) 4. Chain Relays โ€ข BTCRelay (BTC-ETH), PeaceRelay (ETC-ETH), Project Alchemy (ZEC-ETH) 5. Merged Mining โ€ข PoW reuse, Drivechains 6. Meta-layer constructions โ€ข Polkadot, Cosmos 7. Sharding โ€ข Aspen, Elastico 8. Based on Trusted Execution Environments โ€ข Tesseract, Teechan Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 13. General Categorization of Approaches 1. Centralized Exchanges โ€ข ShapeShift, โ€ฆ 2. Notary Schemes (Trust N/M) โ€ข Liquid, Interledger, Comit Network 3. Atomic Cross-Chain Swaps โ€ข Pegged Sidechains and Cross-chain Payment Channels (Lightning) 4. Chain Relays โ€ข BTCRelay (BTC-ETH), PeaceRelay (ETC-ETH), Project Alchemy (ZEC-ETH) 5. Merged Mining โ€ข PoW reuse, Drivechains 6. Meta-layer protocols โ€ข Polkadot, Cosmos 7. Sharding โ€ข Aspen, Elastico 8. Based on Trusted Execution Environments โ€ข Tesseract, Teechan Covered in todayโ€˜s session Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 14. Atomic Cross-Chain Swaps โ€ข Operations on chain A and chain B have the same โ€žtriggerโ€œ โ€ข E.g. revealing of a hash preimage โ€ข Also referred to as Hash Locking ๏ƒ  Idea: Lock funds on A, while unlocking corresponding funds on B Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 15. BTC LTC Alice (has BTC wants LTC) Bob (has LTC wants BTC) time No broadcast ๏ƒ  No effect Published to LTC Published to BTC Unpublished / Sent directly to user Legend Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 16. s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š() Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ BTC LTC Alice (has BTC wants LTC) Bob (has LTC wants BTC) time No broadcast ๏ƒ  No effect Published to LTC Published to BTC Unpublished / Sent directly to user Legend Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 17. s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š() Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ BTC LTC Alice (has BTC wants LTC) Bob (has LTC wants BTC) time t1 No broadcast ๏ƒ  No effect Published to LTC Published to BTC Unpublished / Sent directly to user Legend Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 18. s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š() Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ BTC LTC Tx2 ๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ Alice (has BTC wants LTC) Bob (has LTC wants BTC) time t1 No broadcast ๏ƒ  No effect Published to LTC Published to BTC Unpublished / Sent directly to user Legend Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 19. s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š() Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ BTC LTC Tx2 ๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ Tx1 Alice (has BTC wants LTC) Bob (has LTC wants BTC) time t1 A can use Tx2 after ๐‘ก1to get refund Published to LTC Published to BTC Unpublished / Sent directly to user Legend Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 20. BTC LTC Tx2 ๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ Tx1 t1 Alice (has BTC wants LTC) Bob (has LTC wants BTC) time A can use Tx2 after ๐‘ก1to get refund t2 Published to LTC Published to BTC Unpublished / Sent directly to user Legend s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š() Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ Tx3 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ด โˆจ Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 21. s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š() Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ BTC LTC Tx2 ๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ Tx1 Tx3 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ด โˆจ Tx4 ๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ด, ๐“๐ฑ๐Ÿ’ t1 Alice (has BTC wants LTC) Bob (has LTC wants BTC) t2 time A can use Tx2 after ๐‘ก1to get refund Published to LTC Published to BTC Unpublished / Sent directly to user Legend Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 22. Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 23. s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š() Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ BTC LTC Tx2 ๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ Tx1 Tx3 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ด โˆจ Tx4 ๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ด, ๐“๐ฑ๐Ÿ’ Tx5 (spends Tx3 revealing s) t1 Alice (has BTC wants LTC) Bob (has LTC wants BTC) t2 Tx3 time A must spend Tx3 before ๐‘ก2, otherwise B can claim refund; B must spend Tx1 before ๐‘ก1, otherwise A can claim refund Published to LTC Published to BTC Unpublished / Sent directly to user Legend Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 24. s ๏ƒŸ ๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘œ๐‘š() Tx1 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ต โˆจ BTC LTC Tx2 ๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ต, ๐“๐ฑ๐Ÿ Tx1 Tx3 ๏ƒŸ if (๐ป ๐‘–๐‘›๐‘๐‘ข๐‘ก = ๐ป ๐‘  โˆง โˆƒ๐‘ ๐‘–๐‘” ๐ด โˆจ Tx4 ๐‘ ๐‘–๐‘”๐‘› ๐‘ ๐‘˜ ๐ด, ๐“๐ฑ๐Ÿ’ Tx5 (spends Tx3 revealing s) Tx6 (spends Tx1 using s) t1 Alice (has BTC wants LTC) Bob (has LTC wants BTC) t2 Tx3 time Swap completed! Published to LTC Published to BTC Unpublished / Sent directly to user Legend Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 25. Interledger Source: Thomas, Stefan, and Evan Schwartz. "A protocol for interledger payments." URL https://interledger. org/interledger. pdf (2015). โ€ข โ€žLedger-providedโ€œ escrows โ€ข Lockbox ๏ƒ  unlock by proof that receiver has received payment โ€ข Must be implemented on-chain โ€ข Atomic Mode: โ€ข Two-Phase Commit with N notaries as coordinators (PBFT, โ€ฆ) ๏ƒ  3f + 1 honest notaries required โ€ข Global timeout โ€ข โ€žFederatedโ€œ โ€ข Universal mode: hash locking Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 26. Atomic Cross-Chain Swaps โ€“ Proโ€˜s / Conโ€˜s + Atomicity โ€ข Swap only performed if both parties perform the necessary Tx on the respective chains + Both parties can withdraw funds after time limit in case of failure - Funds locked until swap complete or time lock passed โ€ข DoS attacks possible - Sender and Receiver must monitor both chains โ€ข N chains ๏ƒ  N running clients โ€ข Alternatively: Federated constructions (e.g. Interledger) โ€ข Potential use case for SPV-Proofs / NiPoPoWs - Requires timely action from both parties Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 27. Atomic Cross-Chain Swaps - Properties โ€ข StatelessTransferred Information โ€ข Cryptographic (although other types also applicable)Validation โ€ข Bi-directionalDirection โ€ข OptionalTTP โ€ข ProbabilisticFinality Guarantees โ€ข Sender + Receiver online Party Availability Requirements โ€ข Limited to the least expressive chainโ€˜s scriptScript Expressiveness Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 28. Chain Relays โ€ข System inside chain A is able to read, interpret and validate events/state of chain B. ๏ƒ  Idea: prove that a transaction occurred on chain A to release funds on chain B. Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 29. BTC Relay โ€ข Smart Contract on ETH validating BTC headers (like SPV Clients) โ€ข Headers fed to SC โ€ข Transactions in BTC can then be validated โ€ข Can notify swap contract that BTC has been transferred โ€ข Validation must be possible on-chain โ€ข E.g. not feasible for Scrypt โ€ข Native support? Source: http://btcrelay.org/ Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 30. BTC Relay โ€“ BTC Swap Ethereum Bitcoin BTC Swap Has BTC, wants ETH Has ETH, wants BTC Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 31. BTC Relay โ€“ BTC Swap Ethereum 1) Bob sends ๏‚ท ETH ๏‚ท Alice s ETH account ๏‚ท his BTC address ๏‚ท agreed exchange info to escrow contract Bitcoin BTC Swap Has BTC, wants ETH Has ETH, wants BTC Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 32. BTC Relay โ€“ BTC Swap Ethereum 1) Bob sends ๏‚ท ETH ๏‚ท Alice s ETH account ๏‚ท his BTC address ๏‚ท agreed exchange info to escrow contract Bitcoin BTC Swap 2) Alice sends BTC to Bobโ€™s address (TxBTC) Has BTC, wants ETH Has ETH, wants BTC Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 33. BTC Relay โ€“ BTC Swap Ethereum 1) Bob sends ๏‚ท ETH ๏‚ท Alice s ETH account ๏‚ท his BTC address ๏‚ท agreed exchange info to escrow contract Bitcoin BTC Swap 3) Alice calls btcrelay.relayTx(TxBTC, addrBTCSwap) 2) Alice sends BTC to Bobโ€™s address (TxBTC) Has BTC, wants ETH Has ETH, wants BTC Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 34. BTC Relay โ€“ BTC Swap Ethereum 1) Bob sends ๏‚ท ETH ๏‚ท Alice s ETH account ๏‚ท his BTC address ๏‚ท agreed exchange info to escrow contract Bitcoin BTC Swap 3) Alice calls btcrelay.relayTx(TxBTC, addrBTCSwap) 2) Alice sends BTC to Bobโ€™s address (TxBTC) 4) BTC Relay verifies TxBTC was performed in Bitcoin Has BTC, wants ETH Has ETH, wants BTC Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 35. BTC Relay โ€“ BTC Swap Ethereum 1) Bob sends ๏‚ท ETH ๏‚ท Alice s ETH account ๏‚ท his BTC address ๏‚ท agreed exchange info to escrow contract Bitcoin BTC Swap 3) Alice calls btcrelay.relayTx(TxBTC, addrBTCSwap) 2) Alice sends BTC to Bobโ€™s address (TxBTC) 4) BTC Relay verifies TxBTC was performed in Bitcoin 5) BTC Relay invokes processTransaction() in BTC Swap Has BTC, wants ETH Has ETH, wants BTC Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 36. BTC Relay โ€“ BTC Swap Ethereum 1) Bob sends ๏‚ท ETH ๏‚ท Alice s ETH account ๏‚ท his BTC address ๏‚ท agreed exchange info to escrow contract Bitcoin BTC Swap 3) Alice calls btcrelay.relayTx(TxBTC, addrBTCSwap) 2) Alice sends BTC to Bobโ€™s address (TxBTC) 4) BTC Relay verifies TxBTC was performed in Bitcoin 5) BTC Relay invokes processTransaction() in BTC Swap 6) BTC Swap releases payment to Alice Has BTC, wants ETH Has ETH, wants BTC Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 37. Chain Relays โ€“ Proโ€˜s / Conโ€˜s + โ€œNon-interactiveโ€ โ€ข Publicly verifiable computations in Smart Contracts + Multi-purpose โ€ข More use cases than 1:1 asset exchange โ€ข Events on chain A can trigger complex processes on chain B (e.g. for bribing miners [McCory et al. โ€˜18]) - Relay contract must contain all headers of the connected chain โ€ข Ongoing research to reduce storage requirements / simplify proofing mechanism - Sufficient incentive for users to submit block headers necessary โ€ข At least to cover gas costs โ€ข Working fee model necessary - Currently no freshness guarantees โ€ข i.e., BTC relay may fall far behind Bitcoin Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 38. Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 39. Chain Relays - Properties โ€ข StatelessTransferred Information โ€ข CryptographicValidation โ€ข UnidirectionalDirection โ€ข NoneTTP โ€ข ProbabilisticFinality Guarantees โ€ข Contract deployed & available, Receiver online Party Availability Requirements โ€ข โ€žTuring completeโ€œScript Expressiveness Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 40. Meta-Layer Protocols โ€ข Introduce a second communication layer โ€ข Abstraction of blockchain-specific properties โ€ข Rely on game theoretic incentives โ€ข Interactions between different actors/roles โ€ข Utilize described mechanisms to integrate external chains โ€ข Notary schemes, chain relays, atomic swaps,โ€ฆ ๏ƒ  โ€žBridgesโ€œ Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 41. Polkadot โ€ข One of Parityโ€˜s flagship projects โ€ข Two chain types: โ€ข Para(llel)chains โ€“ globally-coherent dynamic data structures/blockchains โ€ข Relay chain(s) โ€“ base communication/synchronization layer โ€ข Relay Chain consensus: โ€ข Initially: permissioned, i.e., 3f+1 BFT algorithm (e.g. HoneyBadgerBFT, Tendermint, โ€ฆ) โ€ข Planned: Delegated Proof-of-Stake (DPoS) Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 42. Polkadot - Relay Chains and Parachains Source: Wood, Gavin. "Polkadot: Vision for a heterogeneous multi-chain framework." URL https://github.com/polkadot-io/polkadot-white-paper/raw/master/PolkaDotPaper.pdf (2016). Relay Chain Parachain n1 Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 43. Relay Chain Parachain mn Polkadot - Relay Chains and Parachains Source: Wood, Gavin. "Polkadot: Vision for a heterogeneous multi-chain framework." URL https://github.com/polkadot-io/polkadot-white-paper/raw/master/PolkaDotPaper.pdf (2016).Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 44. Polkadot - Relay Chains and Parachains Source: Wood, Gavin. "Polkadot: Vision for a heterogeneous multi-chain framework." URL https://github.com/polkadot-io/polkadot-white-paper/raw/master/PolkaDotPaper.pdf (2016). Chain Relay Chain connects to m n Parachain Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 45. Polkadot - Relay Chains and Parachains Source: Wood, Gavin. "Polkadot: Vision for a heterogeneous multi-chain framework." URL https://github.com/polkadot-io/polkadot-white-paper/raw/master/PolkaDotPaper.pdf (2016). Chain Relay Chain connects to m n Parachain Transaction Interchain On-chain contains 1n triggers 11 Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 46. Polkadot - Actors โ€ข Validator 1. Validates parachain transactions/blocks 2. Agrees on interchain TX ๏ƒ  relay chain validation โ€ข Stake slashed in case of misbehaviour โ€ข Nominator โ€ข Can provide stake for validator โ€ข Collator โ€ข Collects parachain TX and sends block candidates to validators โ€ข Fisherman โ€ข Monitors validators for misbehaviour / Reports to other validators โ€ข Clients/Light Clients Source: Wood, Gavin. "Polkadot: Vision for a heterogeneous multi-chain framework." URL https://github.com/polkadot-io/polkadot-white-paper/raw/master/PolkaDotPaper.pdf (2016).Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 47. Polkadot - Actors โ€ข Relay Chain: โ€ข Validator 1. Validates parachain transactions/blocks 2. Agrees on interchain TX ๏ƒ  relay chain validation โ€ข Stake slashed in case of misbehaviour โ€ข Nominator โ€ข Can provide stake for validator โ€ข Parachain โ€ข Collator โ€ข Collects parachain TX and sends block candidates to validators โ€ข Fisherman โ€ข Monitors validators for misbehaviour / Reports to other validators โ€ข Clients/Light Clients Participant ValidatorNominator FishermanCollator Relay node Para-node stakes for nm monitors / reports failure n m provides parachain blocks n m validates/ slashes n m Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 48. Polkadot โ€“ Domain Overview (simplified) Chain Relay Chain Parachain Participant ValidatorNominator FishermanCollator Transaction Interchain Transaction Parachain Transaction triggers 11 Relay node Para-node has 1 connects to m n n 1 1 n stakes for nm monitors / reports failure n m provides parachain blocks n m Participant/Transaction relations omitted for simplicity validates/ slashes n m n FIFO Transaction Queue contains n 1 Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 49. Polkadot - Challenges โ€ข Game theoretic incentives not sufficiently studied โ€ข Modelling of incentives and potential attacks necessary โ€ข High communication complexity โ€ข Extent of necessary overhead unclear โ€ข A lot of technical details still not clearly defined โ€ข How to maintain information on asset state after cross-chain TX? โ€ข Consensus finality ๏ƒ  what happens if parachains fork? Or relay chain forks? โ€ข Address/account scheme โ€ข Privacy features โ€ข โ€ฆ. Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 50. Cosmos โ€ข Cosmos Hub and Zones (child blockchains) โ€ข Each Zone can become a hub in turn โ€ข Zones run Tendermint BFT (3f + 1) โ€ข Fixed known set of validators โ€ข Cross-chain communication similar to two- way-peg โ€ข Bridges to other chains necessary (e.g. ETH) โ€ข Permissioned setup โ€ข Tested with 65 validator nodes โ€ข Initially 100, scale up to 300 within 10 years Source: Kwon, Jae, and Buchman, Ethan. โ€žCosmos: A Network of Distributed Ledgersโ€œ. URL https://github.com/cosmos/cosmos/blob/master/WHITEPAPER.md (2016) Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 51. Outlook โ€ข Rapidly increasing number of projects promising โ€žMulti-blockchain protocolsโ€œ โ€ข Often limited technical details provided ๏ƒ  unclear how exactly communication will be facilitated. โ€ข Many rely on versions of atomic swaps or chain relays under a (semi-) centralized setup โ€ข Active development โ€ข 1:1 Bridges between Ethereum and other networks in development โ€ข Lightning cross-chain swaps between BTC and LTC โ€ข Overlay protocols / Colored Coins โ€ข โ€ฆ โ€ข No โ€œtruly decentralizedโ€ solution yet ๏ƒ  Alarming shift towards centralized approaches Towards a Generalised Blockchain Fabric - Code Block 18 - Alexei Zamyatin
  • 52. Questions? Alexei Zamyatin a.zamyatin@imperial.ac.uk PGP ID: 0x5485B999 PGP FP: 2F5F E92D CDAC 15B0 84A6 9FE9 9018 A958 5485 B999 @alexeiZamyatin