SlideShare ist ein Scribd-Unternehmen logo
1 von 52
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

Weitere ähnliche Inhalte

Was ist angesagt?

Blockchain. A Guide For Beginners
Blockchain. A Guide For BeginnersBlockchain. A Guide For Beginners
Blockchain. A Guide For BeginnersElifTech
 
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
 
Blockchain Interoperability using Cosmos Interblockchain Communication
Blockchain Interoperability using Cosmos Interblockchain CommunicationBlockchain Interoperability using Cosmos Interblockchain Communication
Blockchain Interoperability using Cosmos Interblockchain CommunicationChjango 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 DBInterledger
 
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 2018Svetlin 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 & developmentAbdullah Aziz
 

Was ist angesagt? (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
 

Ähnlich wie 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 ZwengBlockchainHub 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 challengesSébastien Tandel
 
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 MaheswaranJohn M.
 
Token btlcoin btlcoin
Token btlcoin btlcoinToken btlcoin btlcoin
Token btlcoin btlcoinbtlcoin token
 
Bitcoin - Understanding and Assessing potential Opportunities
Bitcoin - Understanding and Assessing potential OpportunitiesBitcoin - Understanding and Assessing potential Opportunities
Bitcoin - Understanding and Assessing potential OpportunitiesQuasarVentures
 
Introduction into blockchains and cryptocurrencies
Introduction into blockchains and cryptocurrenciesIntroduction into blockchains and cryptocurrencies
Introduction into blockchains and cryptocurrenciesSergey Ivliev
 
Blockchan For Developers
Blockchan For DevelopersBlockchan For Developers
Blockchan For DevelopersAlex 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
 
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 ExplosionCoin Sciences Ltd
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to BlockchainSanjeev Mishra
 
[ETHCon Korea 2019] Calvin kim
[ETHCon Korea 2019] Calvin kim[ETHCon Korea 2019] Calvin kim
[ETHCon Korea 2019] Calvin kimethconkr
 
Blockchain 101 - public, tokenized blockchains
Blockchain 101 - public, tokenized blockchainsBlockchain 101 - public, tokenized blockchains
Blockchain 101 - public, tokenized blockchainsBrett 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 2018Codemotion
 
The Emergent Layer 2
The Emergent Layer 2The Emergent Layer 2
The Emergent Layer 2Chris Priest
 
BCHGraz - Meetup #8 - Intro & Ethereum
 BCHGraz - Meetup #8 - Intro & Ethereum BCHGraz - Meetup #8 - Intro & Ethereum
BCHGraz - Meetup #8 - Intro & EthereumBlockchainHub Graz
 

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

Kürzlich hochgeladen

PRINCIPLE & APPLICATIONS OF IMMUNO BLOTTING TECHNIQUES.pptx
PRINCIPLE & APPLICATIONS OF IMMUNO BLOTTING TECHNIQUES.pptxPRINCIPLE & APPLICATIONS OF IMMUNO BLOTTING TECHNIQUES.pptx
PRINCIPLE & APPLICATIONS OF IMMUNO BLOTTING TECHNIQUES.pptxAnupkumar Sharma
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataBabyAnnMotar
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
How to Manage Engineering to Order in Odoo 17
How to Manage Engineering to Order in Odoo 17How to Manage Engineering to Order in Odoo 17
How to Manage Engineering to Order in Odoo 17Celine George
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptxJonalynLegaspi2
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleCeline George
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 

Kürzlich hochgeladen (20)

PRINCIPLE & APPLICATIONS OF IMMUNO BLOTTING TECHNIQUES.pptx
PRINCIPLE & APPLICATIONS OF IMMUNO BLOTTING TECHNIQUES.pptxPRINCIPLE & APPLICATIONS OF IMMUNO BLOTTING TECHNIQUES.pptx
PRINCIPLE & APPLICATIONS OF IMMUNO BLOTTING TECHNIQUES.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped data
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
How to Manage Engineering to Order in Odoo 17
How to Manage Engineering to Order in Odoo 17How to Manage Engineering to Order in Odoo 17
How to Manage Engineering to Order in Odoo 17
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptx
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP Module
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 

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