SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Blockchain Security:
Melting the "Silver Bullet"
Dr. Melanie Rieback and Dr. Klaus Kursawe
Amsterdam | April 2-3, 2019
Apr 2, 2019
About Us
Dr. Melanie Rieback Dr. Klaus Kursawe
Apr 2, 2019
Blockchain vs. Santa
● “Everybody knows Smart Meters are insecure. By
using blockchain, we don’t need to secure them
anymore”
● “Blockchain solves all our privacy problems”
● “Thanks to blockchain, we don’t need public key
cryptography anymore”
● “We are a blockchain startup, and we need
someone to explain to us how digital signatures
work”
●
Secure elections because.. blockchain!
Apr 2, 2019
Blockchain is old technology
David Chaum Leslie Lamport Ralph Merkle Barbara Liskov Miguel Castro
Apr 2, 2019
Application Security Issues
● Complex code + protocols + APIs
● Digital vs. Physical coupling
Apr 2, 2019
Application Security Issues (2)
● Immutability makes application
AND security updates difficult
● Forking issues
Apr 2, 2019
The Downside of Data Immutability
● It’s hard to get unintended things OUT of
a blockchain
● Embedded in the Bitcoin blockchain
● Len Sassaman tribute
● XSS demo
● Rickrolls
● Wikileaks Cablegate data
● etc..
Apr 2, 2019
Smart Contracts
● Smart contracts = Remote Code Execution
(RCE)
● Examples:
● Etherdelta code injection
● Mythril = Ethereum contract bytecode
analyzer (HitB 2018)
● Smart contracts are immutable. Therefore
bugs in the code are impossible to fix.
● Used to attack Decentralized Autonomous
Organisations (DAOs)
Apr 2, 2019
Mining Pools
● Large centralized mining pools bring control
into the hands of a small number of parties
● 51% attacks
● Double spending: Etherium Classic,
Vertcoin, Monacoin, Bitcoin Gold, etc..)
● “Hashrate marketplaces”
● These transactions are impossible to undo
● (Only a complete fork can fix it)
● The whole trust model isn’t valid anymore
Apr 2, 2019
End-User OpSec
● Operational security of endpoint
devices is difficult - most users can’t
handle it
● Cryptocurrency exchanges also aren’t
trustworthy
Apr 2, 2019
Privacy Issues
● You're *less* anonymous than with
other forms of ledgers/payment
● How do you make blockchain
GDPR compliant?
Apr 2, 2019
Crypto/Protocol Issues
What a blockchain is (scientific view)
Byzantine Fault tolerant total ordering protocol
Also atomic broadcast, virtual synchrony, …
agree on an ordered set of transactions
(i.e, what happened and in which order)
even if some participants are byzantine (corrupted)
Good for
• Digital Currencies
• Distributed State machines
• Can also be used as a distributed database, but that’s
overkill
The core of it all: Byzantine Agreement
Pronunciation:/ˈbizənˌtēn, bəˈzan-, -ˌtīn/
 (also byzantine) (of a system or situation) excessively complicated, typically involving a great deal of administrative detail: “Byzantine insurance regulations”
characterized by deviousness or underhanded procedure:Byzantine intrigues“he has the most Byzantine mind in politics”

Term coined by Leslie Lamport (1982), A. C. Koestler (1937), F.M.A. Voltaire ( ca. 1750), Greek Mythology
Given n processors P1,P2,…,Pn , which are connected by an asynchronous point-to-point network. All
parties have a (binary) input value vi. A protocol solves Byzantine Agreement if the following
conditions are satisfied:
Validity
If all honest processes start with input value x, then the decision value must be x.
Agreement
If one honest party decides 0, then no honest party decides 1.
Termination
All honest parties eventually decide.
Life ain’t fair.
In all blockchain related trading platforms,
there is a possibility of a race attack.
Most current implementations make the
attack particularly efficient (e.g., through a
limited DoS)
For small scale systems, this
can be resolved(ish) using
threshold encryption. Unless
you worry about metadata or
scale.
Annoying Impossibility results (1)
“If all honest parties see event A happen before
event B , then A should be scheduled before B.”
This is impossible in the presence of a single a
corrupted participant
Annoying Impossibility results (2)
Evil prevails even with inferior
numbers.
In an asynchronous system, agreement is only possible if
less than 1/3 of all participants are corrupt.
“When I introduced Byzantine failures, it was meant to
model arbitrary but independent failures, not coordinated
malicious ones. The assumption that a dedicated attacker
is bound by attacking only one third of all parties is
ridiculous.”
Leslie Lamport, 2001
“Do you have any better argument why not more than 1/3
of the servers get corrupted than your inability to do
better ?”
My bosses boss, 2000
Annoying Impossibility results (2)
It is an illusion that the scale of major blockchains overcomes the
1/3 threshold automatically. Ethereum:
One third of all assets (for PoS) is about 100 wallets if
everybody else participates.
Assuming there are a lot of passive assets, it is even
worse
Bitcoin: 

Due to mining pools and rigs, this assumption is long
gone. It doesn’t even need malice to cause issues.
https://arxiv.org/pdf/
1810.02466.pdf
Malicious attacks are not independent.
How many miners have different
• Operating Systems
• Implementations
• Libraries
• Legal authorities
• Influenceability by countries
controlling the lead currency
• … ?
This was addressed 1978
with resynchronization and
1997 with General
Adversary Structures.
Annoying impossibility results (3)
Things don’t scale.
The communication complexity is quadratic(ish) in the number
of participants
Reality check: There never where millions of participants,
anyhow
• The number of parties that run the show is more 100-1000
• That was worrisome on the previous slide, but here it’s helpful
Hybrid models at least can handle
absentee participants. Re-
synchronisation protocols can be
qa base for sharding.
Annoying impossibility results (4)
We can’t agree.
In an asynchronous system, there
is always an action the adversary
can perform to prevent
termination with an agreement,
even if she is only allowed to crash
one party (FLP85).
So we gave the authors an
award and have been trying to
cheat around it ever since
Cryptography is like
taxes: It is possible to
cheat, but you’d
better really know
what you’re doing.
* **
* Or at least hire someone who does.
** Also, you’d better have a very good memory.
Cheating the Byzantine Agreement Impossibilities
Proof of Work: Terminating is overrated, anyhow
• If I never definitively decide, the proof doesn’t apply
Proof of Stake (BFT): We never knew how to model timing assumptions on
the Internet, but we do it anyhow
• No adversary should have that much network control. No one managed to find a
good model for what they can do though (and many tried)
• DoS, router hacking, Nation states rerouting half the internet, …,…
• The more careful the assumption, the bigger the performance loss
Proof of Stake (Randomisation): Terminate with probability
• The attacker still can always prevent termination. What she needs to do to
achieve that is determined at random after her action.
Proof of Work in a
nutshell
• Take a new, valid, block of
transactions and the end of the longest
chain you know of
• Find a nonce so that the hash of these
three elements ends with a lot of
zeros
• Publish the new block
• If, at any point, you see a longer
chain, drop everything and use that
one
Cheating like Bitcoin does (PoW)
No transaction is ever final
• In theory, every transaction can be undone is someone
finds a longer chain
• Decisions are final by policy, not protocol
As no one actually decides in a formal way, the
impossibility proofs don’t hold.
Price to pay:
• Performance
• Occasionally, one underestimates (Ether Classic)
• Code is not law; policy decides when a transaction is valid
• If the network partitions, re-synchronization uses the
‘Sucks-to-be-you’ principle
• Censorship/race attacks are possible
• Fun legal question: Where is the ₿₿₿ during validation ?
• Can I make all my Bitcoin disappear during the tax deadline ?
Source:
www.kraken.com
Cheating like BFT does (Proof of Stake)
“If we keep doubling the timeout, eventually we hit something realistic”
Even if we’re wrong, the worst thing that can happen is lack of progress.
Price to pay:
Easy to derail the protocol with a very limited DoS
Easy to massively violate fairness (Use a DoS to kick out every leader until it’s me)
This even works without participating (Use a DoS to kick out every leader about to make a decision I don’t
like)
Optimistic phase of PBFT. A leader
orders client requests; the rest of the
protocol prevents it from creating an
inconsistent order. If it tries, or omits
requests, the replicas complain and
chose a new leader. This is where it
gets complicated.
Cheating with Randomization (Proof of Stake)
Terminate with probability 1
Adversary can stall the
protocol forever in theory,
but not very long in reality
Completely asynchronous *,
adapts to real network speed
Price: We need a good source
of common randomness,
which is hard to do at scale.
* Apart from implementation requirements, such as
TCP/IP
Quantum Computing vs Blockchains
• PoW will get faster (for some)
• Can test n hashes in time √n
• It will get faster for everybody, so that’s ok
• Everybody with a quantum computer, that is. This might
cause trouble in the transition and push for institutional
mining
• Hash collisions of older transactions might be an issue
• It might be possible to replace an old transaction in the chain
• Digital Signatures are in trouble
• If that’s not fixed, we have a bigger problem
• It needs an active transition of all keys to a quantum safe
setting
• All our Privacy tools need to be revisited
• Might be able to de-anonymize old transactions
Apr 2, 2019
What Blockchain IS Good For
● Trustworthy agreement on an order of events
● Modest applications: validating certificates in
web browsers
● The high-level concept of decentralized
contracts is powerful - separate from the
crypto implementation
● (M)any services where one trusted entity is to
be replaced by many semi trusted (with care)
Apr 2, 2019
Future Work
● Blockchains w/ updatable application SW
● Privacy preserving blockchain
● Quantum resistance
● Scale up (sharding, partial synchrony, property
based)
● Robustness, esp. against timing attacks (mix
randomized and timed approach)
● Throughput
Apr 2, 2019 melanie@radical.sexy
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Hybrid pow-pos-based-system against majority attack-in-cryptocurrency system ...
Hybrid pow-pos-based-system against majority attack-in-cryptocurrency system ...Hybrid pow-pos-based-system against majority attack-in-cryptocurrency system ...
Hybrid pow-pos-based-system against majority attack-in-cryptocurrency system ...Kishor Datta Gupta
 
DEF CON 23 - Ryan Castellucci - cracking cryptocurrency brainwalletsll
DEF CON 23 - Ryan Castellucci - cracking cryptocurrency brainwalletsllDEF CON 23 - Ryan Castellucci - cracking cryptocurrency brainwalletsll
DEF CON 23 - Ryan Castellucci - cracking cryptocurrency brainwalletsllFelipe Prado
 
CAN BLOCKCHAIN PRIVATE KEY BE HACKED?
CAN BLOCKCHAIN PRIVATE KEY BE HACKED?CAN BLOCKCHAIN PRIVATE KEY BE HACKED?
CAN BLOCKCHAIN PRIVATE KEY BE HACKED?Blockchain Council
 
Basic ethereum
Basic ethereumBasic ethereum
Basic ethereumgavofyork
 
The world computer (short)
The world computer (short)The world computer (short)
The world computer (short)gavofyork
 
The world computer
The world computerThe world computer
The world computergavofyork
 

Was ist angesagt? (6)

Hybrid pow-pos-based-system against majority attack-in-cryptocurrency system ...
Hybrid pow-pos-based-system against majority attack-in-cryptocurrency system ...Hybrid pow-pos-based-system against majority attack-in-cryptocurrency system ...
Hybrid pow-pos-based-system against majority attack-in-cryptocurrency system ...
 
DEF CON 23 - Ryan Castellucci - cracking cryptocurrency brainwalletsll
DEF CON 23 - Ryan Castellucci - cracking cryptocurrency brainwalletsllDEF CON 23 - Ryan Castellucci - cracking cryptocurrency brainwalletsll
DEF CON 23 - Ryan Castellucci - cracking cryptocurrency brainwalletsll
 
CAN BLOCKCHAIN PRIVATE KEY BE HACKED?
CAN BLOCKCHAIN PRIVATE KEY BE HACKED?CAN BLOCKCHAIN PRIVATE KEY BE HACKED?
CAN BLOCKCHAIN PRIVATE KEY BE HACKED?
 
Basic ethereum
Basic ethereumBasic ethereum
Basic ethereum
 
The world computer (short)
The world computer (short)The world computer (short)
The world computer (short)
 
The world computer
The world computerThe world computer
The world computer
 

Ähnlich wie Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bullet" - Codemotion Amsterdam 2019

Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchainsubbul
 
A beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdfA beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdfAkash Agrawal
 
Can we safely adapt the construction of permissionless blockchain to user dem...
Can we safely adapt the construction of permissionless blockchain to user dem...Can we safely adapt the construction of permissionless blockchain to user dem...
Can we safely adapt the construction of permissionless blockchain to user dem...I MT
 
Blockchain: it's much more than Bitcoin
Blockchain: it's much more than BitcoinBlockchain: it's much more than Bitcoin
Blockchain: it's much more than BitcoinKuba Tymula
 
Blockchain: it's much more than Bitcoin
Blockchain: it's much more than BitcoinBlockchain: it's much more than Bitcoin
Blockchain: it's much more than BitcoinKuba Tymula
 
BlockChain for the Banker
BlockChain for the BankerBlockChain for the Banker
BlockChain for the BankerBohdan Szymanik
 
A Primer on Blockchain and its Potential, with a Focus on the GCC
A Primer on Blockchain and its Potential, with a Focus on the GCCA Primer on Blockchain and its Potential, with a Focus on the GCC
A Primer on Blockchain and its Potential, with a Focus on the GCCZeyad T. Al Mudhaf
 
Blockchain - Beyond the Hype
Blockchain - Beyond the HypeBlockchain - Beyond the Hype
Blockchain - Beyond the HypeSalman Baset
 
Blockchain Intro + Myths
Blockchain Intro + MythsBlockchain Intro + Myths
Blockchain Intro + MythsAPIGarage
 
CBGTBT - Part 1 - Workshop introduction & primer
CBGTBT - Part 1 - Workshop introduction & primerCBGTBT - Part 1 - Workshop introduction & primer
CBGTBT - Part 1 - Workshop introduction & primerBlockstrap.com
 
Ethereum Mining How To
Ethereum Mining How ToEthereum Mining How To
Ethereum Mining How ToNugroho Gito
 
Blockchain Explained
Blockchain Explained Blockchain Explained
Blockchain Explained wedefine
 
The Idea Behind Blockchain Technology
The Idea Behind Blockchain TechnologyThe Idea Behind Blockchain Technology
The Idea Behind Blockchain TechnologyBlockchain Council
 
unit3consesence.pptx
unit3consesence.pptxunit3consesence.pptx
unit3consesence.pptxGopalSB
 
AWIP Pink Innov Blockchain Workshop deck - May 23, 2019
AWIP Pink Innov Blockchain Workshop deck - May 23, 2019AWIP Pink Innov Blockchain Workshop deck - May 23, 2019
AWIP Pink Innov Blockchain Workshop deck - May 23, 2019Samantha Reynolds
 

Ähnlich wie Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bullet" - Codemotion Amsterdam 2019 (20)

Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
A beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdfA beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdf
 
Can we safely adapt the construction of permissionless blockchain to user dem...
Can we safely adapt the construction of permissionless blockchain to user dem...Can we safely adapt the construction of permissionless blockchain to user dem...
Can we safely adapt the construction of permissionless blockchain to user dem...
 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchain
 
Blockchain: it's much more than Bitcoin
Blockchain: it's much more than BitcoinBlockchain: it's much more than Bitcoin
Blockchain: it's much more than Bitcoin
 
Blockchain: it's much more than Bitcoin
Blockchain: it's much more than BitcoinBlockchain: it's much more than Bitcoin
Blockchain: it's much more than Bitcoin
 
crypto ppt.ppt
crypto ppt.pptcrypto ppt.ppt
crypto ppt.ppt
 
BlockChain for the Banker
BlockChain for the BankerBlockChain for the Banker
BlockChain for the Banker
 
A Primer on Blockchain and its Potential, with a Focus on the GCC
A Primer on Blockchain and its Potential, with a Focus on the GCCA Primer on Blockchain and its Potential, with a Focus on the GCC
A Primer on Blockchain and its Potential, with a Focus on the GCC
 
Blockchain for business
Blockchain for businessBlockchain for business
Blockchain for business
 
Blockchain - Beyond the Hype
Blockchain - Beyond the HypeBlockchain - Beyond the Hype
Blockchain - Beyond the Hype
 
Blockchain Intro + Myths
Blockchain Intro + MythsBlockchain Intro + Myths
Blockchain Intro + Myths
 
CBGTBT - Part 1 - Workshop introduction & primer
CBGTBT - Part 1 - Workshop introduction & primerCBGTBT - Part 1 - Workshop introduction & primer
CBGTBT - Part 1 - Workshop introduction & primer
 
Ethereum Mining How To
Ethereum Mining How ToEthereum Mining How To
Ethereum Mining How To
 
blockchain-161025100639.pptx
blockchain-161025100639.pptxblockchain-161025100639.pptx
blockchain-161025100639.pptx
 
dfgsdjghkjsdhfg.pptx
dfgsdjghkjsdhfg.pptxdfgsdjghkjsdhfg.pptx
dfgsdjghkjsdhfg.pptx
 
Blockchain Explained
Blockchain Explained Blockchain Explained
Blockchain Explained
 
The Idea Behind Blockchain Technology
The Idea Behind Blockchain TechnologyThe Idea Behind Blockchain Technology
The Idea Behind Blockchain Technology
 
unit3consesence.pptx
unit3consesence.pptxunit3consesence.pptx
unit3consesence.pptx
 
AWIP Pink Innov Blockchain Workshop deck - May 23, 2019
AWIP Pink Innov Blockchain Workshop deck - May 23, 2019AWIP Pink Innov Blockchain Workshop deck - May 23, 2019
AWIP Pink Innov Blockchain Workshop deck - May 23, 2019
 

Mehr von Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Codemotion
 

Mehr von Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
 

Kürzlich hochgeladen

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Kürzlich hochgeladen (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bullet" - Codemotion Amsterdam 2019

  • 1. Blockchain Security: Melting the "Silver Bullet" Dr. Melanie Rieback and Dr. Klaus Kursawe Amsterdam | April 2-3, 2019
  • 2. Apr 2, 2019 About Us Dr. Melanie Rieback Dr. Klaus Kursawe
  • 3. Apr 2, 2019 Blockchain vs. Santa ● “Everybody knows Smart Meters are insecure. By using blockchain, we don’t need to secure them anymore” ● “Blockchain solves all our privacy problems” ● “Thanks to blockchain, we don’t need public key cryptography anymore” ● “We are a blockchain startup, and we need someone to explain to us how digital signatures work” ● Secure elections because.. blockchain!
  • 4. Apr 2, 2019 Blockchain is old technology David Chaum Leslie Lamport Ralph Merkle Barbara Liskov Miguel Castro
  • 5. Apr 2, 2019 Application Security Issues ● Complex code + protocols + APIs ● Digital vs. Physical coupling
  • 6. Apr 2, 2019 Application Security Issues (2) ● Immutability makes application AND security updates difficult ● Forking issues
  • 7. Apr 2, 2019 The Downside of Data Immutability ● It’s hard to get unintended things OUT of a blockchain ● Embedded in the Bitcoin blockchain ● Len Sassaman tribute ● XSS demo ● Rickrolls ● Wikileaks Cablegate data ● etc..
  • 8. Apr 2, 2019 Smart Contracts ● Smart contracts = Remote Code Execution (RCE) ● Examples: ● Etherdelta code injection ● Mythril = Ethereum contract bytecode analyzer (HitB 2018) ● Smart contracts are immutable. Therefore bugs in the code are impossible to fix. ● Used to attack Decentralized Autonomous Organisations (DAOs)
  • 9. Apr 2, 2019 Mining Pools ● Large centralized mining pools bring control into the hands of a small number of parties ● 51% attacks ● Double spending: Etherium Classic, Vertcoin, Monacoin, Bitcoin Gold, etc..) ● “Hashrate marketplaces” ● These transactions are impossible to undo ● (Only a complete fork can fix it) ● The whole trust model isn’t valid anymore
  • 10. Apr 2, 2019 End-User OpSec ● Operational security of endpoint devices is difficult - most users can’t handle it ● Cryptocurrency exchanges also aren’t trustworthy
  • 11. Apr 2, 2019 Privacy Issues ● You're *less* anonymous than with other forms of ledgers/payment ● How do you make blockchain GDPR compliant?
  • 13. What a blockchain is (scientific view) Byzantine Fault tolerant total ordering protocol Also atomic broadcast, virtual synchrony, … agree on an ordered set of transactions (i.e, what happened and in which order) even if some participants are byzantine (corrupted) Good for • Digital Currencies • Distributed State machines • Can also be used as a distributed database, but that’s overkill
  • 14. The core of it all: Byzantine Agreement Pronunciation:/ˈbizənˌtēn, bəˈzan-, -ˌtīn/  (also byzantine) (of a system or situation) excessively complicated, typically involving a great deal of administrative detail: “Byzantine insurance regulations” characterized by deviousness or underhanded procedure:Byzantine intrigues“he has the most Byzantine mind in politics”
 Term coined by Leslie Lamport (1982), A. C. Koestler (1937), F.M.A. Voltaire ( ca. 1750), Greek Mythology Given n processors P1,P2,…,Pn , which are connected by an asynchronous point-to-point network. All parties have a (binary) input value vi. A protocol solves Byzantine Agreement if the following conditions are satisfied: Validity If all honest processes start with input value x, then the decision value must be x. Agreement If one honest party decides 0, then no honest party decides 1. Termination All honest parties eventually decide.
  • 15. Life ain’t fair. In all blockchain related trading platforms, there is a possibility of a race attack. Most current implementations make the attack particularly efficient (e.g., through a limited DoS) For small scale systems, this can be resolved(ish) using threshold encryption. Unless you worry about metadata or scale. Annoying Impossibility results (1) “If all honest parties see event A happen before event B , then A should be scheduled before B.” This is impossible in the presence of a single a corrupted participant
  • 16. Annoying Impossibility results (2) Evil prevails even with inferior numbers. In an asynchronous system, agreement is only possible if less than 1/3 of all participants are corrupt. “When I introduced Byzantine failures, it was meant to model arbitrary but independent failures, not coordinated malicious ones. The assumption that a dedicated attacker is bound by attacking only one third of all parties is ridiculous.” Leslie Lamport, 2001 “Do you have any better argument why not more than 1/3 of the servers get corrupted than your inability to do better ?” My bosses boss, 2000
  • 17. Annoying Impossibility results (2) It is an illusion that the scale of major blockchains overcomes the 1/3 threshold automatically. Ethereum: One third of all assets (for PoS) is about 100 wallets if everybody else participates. Assuming there are a lot of passive assets, it is even worse Bitcoin: 
 Due to mining pools and rigs, this assumption is long gone. It doesn’t even need malice to cause issues. https://arxiv.org/pdf/ 1810.02466.pdf Malicious attacks are not independent. How many miners have different • Operating Systems • Implementations • Libraries • Legal authorities • Influenceability by countries controlling the lead currency • … ? This was addressed 1978 with resynchronization and 1997 with General Adversary Structures.
  • 18. Annoying impossibility results (3) Things don’t scale. The communication complexity is quadratic(ish) in the number of participants Reality check: There never where millions of participants, anyhow • The number of parties that run the show is more 100-1000 • That was worrisome on the previous slide, but here it’s helpful Hybrid models at least can handle absentee participants. Re- synchronisation protocols can be qa base for sharding.
  • 19. Annoying impossibility results (4) We can’t agree. In an asynchronous system, there is always an action the adversary can perform to prevent termination with an agreement, even if she is only allowed to crash one party (FLP85). So we gave the authors an award and have been trying to cheat around it ever since
  • 20. Cryptography is like taxes: It is possible to cheat, but you’d better really know what you’re doing. * ** * Or at least hire someone who does. ** Also, you’d better have a very good memory.
  • 21. Cheating the Byzantine Agreement Impossibilities Proof of Work: Terminating is overrated, anyhow • If I never definitively decide, the proof doesn’t apply Proof of Stake (BFT): We never knew how to model timing assumptions on the Internet, but we do it anyhow • No adversary should have that much network control. No one managed to find a good model for what they can do though (and many tried) • DoS, router hacking, Nation states rerouting half the internet, …,… • The more careful the assumption, the bigger the performance loss Proof of Stake (Randomisation): Terminate with probability • The attacker still can always prevent termination. What she needs to do to achieve that is determined at random after her action.
  • 22. Proof of Work in a nutshell • Take a new, valid, block of transactions and the end of the longest chain you know of • Find a nonce so that the hash of these three elements ends with a lot of zeros • Publish the new block • If, at any point, you see a longer chain, drop everything and use that one
  • 23. Cheating like Bitcoin does (PoW) No transaction is ever final • In theory, every transaction can be undone is someone finds a longer chain • Decisions are final by policy, not protocol As no one actually decides in a formal way, the impossibility proofs don’t hold. Price to pay: • Performance • Occasionally, one underestimates (Ether Classic) • Code is not law; policy decides when a transaction is valid • If the network partitions, re-synchronization uses the ‘Sucks-to-be-you’ principle • Censorship/race attacks are possible • Fun legal question: Where is the ₿₿₿ during validation ? • Can I make all my Bitcoin disappear during the tax deadline ? Source: www.kraken.com
  • 24. Cheating like BFT does (Proof of Stake) “If we keep doubling the timeout, eventually we hit something realistic” Even if we’re wrong, the worst thing that can happen is lack of progress. Price to pay: Easy to derail the protocol with a very limited DoS Easy to massively violate fairness (Use a DoS to kick out every leader until it’s me) This even works without participating (Use a DoS to kick out every leader about to make a decision I don’t like) Optimistic phase of PBFT. A leader orders client requests; the rest of the protocol prevents it from creating an inconsistent order. If it tries, or omits requests, the replicas complain and chose a new leader. This is where it gets complicated.
  • 25. Cheating with Randomization (Proof of Stake) Terminate with probability 1 Adversary can stall the protocol forever in theory, but not very long in reality Completely asynchronous *, adapts to real network speed Price: We need a good source of common randomness, which is hard to do at scale. * Apart from implementation requirements, such as TCP/IP
  • 26. Quantum Computing vs Blockchains • PoW will get faster (for some) • Can test n hashes in time √n • It will get faster for everybody, so that’s ok • Everybody with a quantum computer, that is. This might cause trouble in the transition and push for institutional mining • Hash collisions of older transactions might be an issue • It might be possible to replace an old transaction in the chain • Digital Signatures are in trouble • If that’s not fixed, we have a bigger problem • It needs an active transition of all keys to a quantum safe setting • All our Privacy tools need to be revisited • Might be able to de-anonymize old transactions
  • 27. Apr 2, 2019 What Blockchain IS Good For ● Trustworthy agreement on an order of events ● Modest applications: validating certificates in web browsers ● The high-level concept of decentralized contracts is powerful - separate from the crypto implementation ● (M)any services where one trusted entity is to be replaced by many semi trusted (with care)
  • 28. Apr 2, 2019 Future Work ● Blockchains w/ updatable application SW ● Privacy preserving blockchain ● Quantum resistance ● Scale up (sharding, partial synchrony, property based) ● Robustness, esp. against timing attacks (mix randomized and timed approach) ● Throughput
  • 29. Apr 2, 2019 melanie@radical.sexy Questions?