Demystifying Blockchains Henning Diedrich & Vlad Zamfir Blockchain Workshops • London 2015
What is Consensus?
● Consensus protocols are used to make ONE reliable computer out of many unreliable or untrusted computers
Traditional Consensus Protocols
● Clients in these protocols only change their state when a supermajority approves of the changes, or elects a leader who proposes the changes
tc
Traditional Consensus Protocols
tc● Coordinate on changes to the state● Changes are never reverted● They “just stop” if too many nodes go offline
● Blockchains are consensus protocols that come to consensus through compromise
● “Fork-choice rule”
What is a blockchain?
BC
Why a blockchain?
● They are available in the event of network partitions
● Blockchains are more decentralized than traditional consensus protocols
BC
“Maintain a shared, trusted computer even though we don’t trust each other because we know that screwing it up would cost us a lot of money.” - The Joker
What is Economic Consensus?
eeconomic
● Public consensus● Guarantees correctness
○ even for private consensus○ “trustless”
“Maintain a shared, trusted computer even though we don’t trust each other because we know that screwing it up would cost us a lot of money.” - The Joker
Why Economic Consensus?
eeconomic
How do we make faults expensive?
● Proof-of-work○ Make changing the state expensive
● Proof-of-stake○ Use security deposits to punish nodes who propose
competing updates to the consensus
eeconomic
Core Design❏ private❏ public
❏ traditional consensus protocol❏ decentralized blockchain
❏ transaction network❏ virtual machine
Smart Contracts
● Virtual machine ...● … with transaction capacity (token)● Oracle input from outside world
“Maintain a shared,trusted computereven though we don’t trust each other because we know that screwingit up would cost us a lot of money.”
What is Economic Consensus?
eeconomic
Bitcoin disintermediate banks & currencies
public, decentralized blockchain+ virtual machine
eeconomic
BC
bank the unbanked eStellar
private transaction networkwith built-in currency conversions
non-economic
enon-economic
publicsmart contractplatform
Ethereum
public, decentralized blockchain+ virtual machine
eeconomic
BC
Tendermint
public smart contractplatform
public, decentralized blockchain+ virtual machinetc
eeconomic
Eris
privatesmart contractsplatform stack
private consensus+ virtual machine
enon-economic
tc
enon-economic
Credits
Roof top - © Can Stock Photo Inc. / solarsevenHandshake - © Can Stock Photo Inc. / a_papantoniouRoman - © Can Stock Photo Inc. / NejronChain ball - © Can Stock Photo Inc. / 3quarksJoker - © Can Stock Photo Inc. / sadRing - © Can Stock Photo Inc. / MarisabellIron claw - © Can Stock Photo Inc. / andreykuzminSwordman - © Can Stock Photo Inc. / prometeusMonk – © Can Stock Photo Inc. / FotoMaximumColour man - © Can Stock Photo Inc. / alphaspiritHero girl - © Can Stock Photo Inc. / ChoreographWhite boy - © Can Stock Photo Inc. / prometeusSword giver - © Can Stock Photo Inc. / prometeusBlue android - © Can Stock Photo Inc. / leafsomenBlue girl - © Can Stock Photo Inc. / FotoMaximumGreen robot - © Can Stock Photo Inc. / leafsomen