An overview of history and available research on various consensus techniques, blockchain and DLTs design. Bitcoin, Tendemint, Ripple, Ethereum, IOTA and Corda were used as examples.
These slides were originally presented at CryptoValley meetup on Dec 6, 2016 in Zug.
2. www.luxoft.com
Blockchain Confusion – the Hype
Media creates public perception
2
Decentralized
Immutable
Anonymous
Trustless
Public
Instant
Free
Eliminates Middleman
Reduces Risks
New Internet
4. www.luxoft.com
An honest view on Blockchain Challenges
Hype makes customers cynical
No platform consolidation yet
Platforms are often immature
Lack of balanced advice:
- Appropriateness of blockchain
- Platform selection
- Application design
Currently @investment stage
4
THE BLOCKCHAIN ‘HYPE-CYCLE’
6. www.luxoft.com
What is Distributed Ledger Technology? (AKA Blockchain)
Decentralized Storage Technology that:
Connects participants in a business
ecosystem without a central entity
or intermediary
Maintains real-time, add-only,
unchangeable ledger and history of
transactions
Automates business rules execution
Made possible by a unique combination of
Peer-to-peer communications,
Strong encryption,
Distributed consensus and
Smart contracts
9. www.luxoft.com
Application-Specific Parts of Blockchain
9
DATA/STATE SYNCHRONIZATION
TRANSACTIONS
SEQUENCE
UNIQUE
FINGERPRINT
MAGIC NUMBER
CONTENT
RE-USABLE
DIGITAL
SIGNATURES
TRANSACTION
VALIDATION
CONSENSUS
SPECIFIC
10. www.luxoft.com
Platform Selection and Business Mapping Framework (4C Model*)
10
CONTENT
CONSENSUS
COMMUNICATIONS
CONTRACT How can we animate the immutable
record so that events trigger actions?
How can we agree the immutable
record of transactions?
What kind of assets will be
in the transactions?
Which entities create and propagate
transactions?
SHARED
LEDGER
SHARED LEDGER
APPLICATIONS
CONSENUSCOMPUTER
(*Source: Consult Hyperion 2015)
11. www.luxoft.com
4C Model applied to Technology Selection (Example)
11
P2P TCP
Proof of Work / Permissionless
Chain of Blocks
(UTXO, Merkle tree)
Simple Scripts
(Opcodes)
gRPC
(bi-directional streaming)
PBFT (SIEVE) / NoOP / PKI
Ledger
(World State, Blocks)
Chaincode
(any language, VM)CONTRACTS
CONTENT
COMMUNICATIONS
CONSENSUS
DISTRIBUTED
LEDGER TECHNOLOGY
15. www.luxoft.com
Consensus – Technical Meaning (contd.)
15
State Replication Techniques for Distributed Systems
Impossible to guarantee
consensus
using a deterministic algorithm in
asynchronous systems
even if only one node is faulty
Consensus is
required
to guarantee
consistency
among different
replicas
(Fischer, M. J.; Lynch, N. A.; Paterson, M. S. (1985).
16. www.luxoft.com
Consensus – Computer Science to the Rescue
16
Lots of prior art (from ca 1978)
And new research
Paxos (1998)
Raft (2013
)
PBFT (1999)
SIEVE
(2016)
BASE (2003)
CBASE (2004)
UpRight (2009)
Tangaroa (2016)
Zyzzyva (2007)
Ripple (2014)
BFT-SMaRt (2013)
XFT(2015)
Stellar(2015)
BlockDAG(2015)
Tangle (2016)
Tezos (2014) Casper(2015)
Rex (2014) Kadena (2016)
17. www.luxoft.com
Consensus techniques – What do we know?
17
Node Scalability
Performance
< 100 tx/s
High
Latency
> 10K tx/s
Network
Latency
< 20 nodes > 1000 nodes
XFT Parallel BFT
Optimistic BFT
Hybrid BFT
Randomized BFT
Stellar
BlockDAG
(inclusive BC)
Bitcoin-NG
GHOST PoW
Bitcoin POW
(Source: The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication, IBM Research 2015)
Research is
Needed!
Kadena/ScalableBFT
Tendermint
18. www.luxoft.com
Revisiting Performance – PoC in domestic interbank payments
18
Japanese Blockchain Study Group
• Actual daily volume of interbank payments in
2012 was about 1.35 billion transactions
• Requires at least 216 TX/s
• 1500 TX/s Achieved ( few seconds latency)
• bitFlyer developed a PBFT like consensus
(Source: Report on Practical Experiment of Blockchain Technology in Japanese Domestic Interbank Payment Operation, 30/11/16)
• PoC scope
• Simple Payment Operations
• Same Day Credit Transfer
• (customer & Interbank)
• Post-Dated Credit Transfers
• Reports on transfers
• Clearing and Settlement out of Scope
Max 144 Banks
19. www.luxoft.com
Tendermint BFT
(source: http://tendermint.com/intro/consensus-overview)
• Validators are permissioned/curated
• Mostly Asynchronous*
• < 1/3 Byzantine Nodes
• >1000 TX/s (14K Tx/s @ 4Val, 1Fault)
• Generic State Replication Engine
• TSMP API for developing apps
(* timeouts for proposal, skip validator)
Used by:
• Monax (Eris Industries)
Example of a BFT Consensus
20. www.luxoft.com
Chain of Ledgers on Curated Network
Key Characteristics
• BFT up to 20% of nodes
• 2 phase process
• Multiple Rounds Voting
• Ledger publishing
• Heuristics (timers, etc)
• Time to vote is adjusted
• 5 sec avg Ledger Conf Time
• Network is Curated
• Trusted Validators Sets(UNL)
• Quorum is maintained
• Network partitions
• Faulty Nodes Pruning
• Payment fee spiking
• Respond to load
• Consesus process is logged
Final
50% 60% 70% 80%
Candidate
Ripple Consensus Overview
21. www.luxoft.com
Evolution of permissionless Blockchain Performance
Removing the need for PoW through Game Theory
Main idea: shift economic burden to an Attacker
• Only Validators with a stake can vote
• All stakes make a rewards ‘fund’
• Trust only the current set of ‘bonded’ Validators
• Clients need to keep track of the list
• Consensus Process is logged
• Bad behavior is punished (slashing)
• Censorship / Cartel*
• Non-Convergence
• Reversion
• Invalidity
Casper SC
Pick a Val.
Reward/Penalty
Finality Bet.
Pay Stake
Chain with most
money-at-loss
Casper Proof of Stake (PoS)
22. www.luxoft.com
Public DLT where all nodes are ‘miners’
Enabling economic ecosystem for devices
• No Blocks and No Chain – Tangle!
• History is stored in Directional Acyclical Graph (DAG)
• Designed for Micropayments and Data Transfer/Integrity
• Consensus Process is probabilistic
• Liveliness is ensured via Game Theory
• To send own transactions a node must ‘mine’
• Select two Tips* and approve
• Run PoW & Broadcast result
• Bad behavior is punished
• Non-active nodes are dropped
• ‘Lazy’ miners’ transactions are ignored*
Tip
Tip
(*Note: Assuming Markov Chain Monte Carlo ‘walker’ algorithm is used)
Tangle – the DLT for IoT
23. www.luxoft.com
Next Gen, Decentralized EDI Technology
Making Smart Contracts Enforceable and Data Private
• No Single Blockchain or DLT
• DLT is maintained by Nodes, Flow(s) manage
relationships between nodes
• DLTs can be connected, if deals are related
• Notary & Oracle Services are defined
• Sophisticated Identity Services
• Smart Contracts iterate over state
• Business process (Flow) updates a state
• State transition (input > output) is logged
• Multiple Fin related classes are pre-defined
• Business prose (PDF) is attached
• Consensus is pluggable
• Notaries can be validating or not
• Notaries can run a BFT or CFT (Raft) protocol
• Notaries can be regional or global (Network Map)
Party A Party B
Notary
Oracle
Flow
Flow
Flow
Flow
Corda – network of DLTs
24. www.luxoft.com
Blockchain Tech (or DLT) is not magical!
Many useful applications are possible but
need proper design tradeoffs
Further research and co-operation is
needed to avoid fail fast, fail forever
outcome
Don’t re-invent the wheel – build on existing
knowledge and contribute back!
The Future is
decentralized
but
It’s still a work in
progress
Summary