1.09k likes | 1.1k Views
Learn how SABRE, an overlay network of special Bitcoin clients, can protect the Bitcoin network from dangerous and effective partition attacks that can lead to double-spending, revenue loss, and denial of service. This joint research by Maria Apostolaki and her team at ETH Zurich highlights the vulnerabilities of any blockchain system and presents a practical solution.
E N D
SABRE Protecting Bitcoin against Routing Attacks Maria Apostolaki ETH Zürich Joint work with Gian Marti, Jan Müller and Laurent Vanbever
Partition Attack An adversary splits the Bitcoin network in two disjoint components #Hopperx1London
Partition attack is general, dangerous, effective, practical #Hopperx1London
Partition attack is general, dangerous, effective, practical Any Blockchain system is vulnerable #Hopperx1London
Partition attack is general, dangerous, effective, practical Any Blockchain system is vulnerable Double-spending, Revenue Loss, DoS #Hopperx1London
Partition attack is general, dangerous, effective, practical Any Blockchain system is vulnerable Double-spending, Revenue Loss, DoS 50-50 partition is feasible #Hopperx1London
Partition attack is general, dangerous, effective, practical Any Blockchain system is vulnerable Double-spending, Revenue Loss, DoS 50-50 partition is feasible Any network in the world is a possible attacker #Hopperx1London
In 2017 we uncovered the practicality and effectiveness of routing attacks in Bitcoin Any Blockchain system is vulnerable 50-50 partition is feasible • Double-spending, Revenue Loss, DoS Any network in the world is a possible attacker #Hopperx1London Type to enter a caption.
Bitcoin is a distributed network of nodes (Bitcoin clients) j n o k p l m q #Hopperx1London
Bitcoin clients establish random connections j n o k p l m q #Hopperx1London
Bitcoin clients exchange Blocks block j n o k p l m q #Hopperx1London
Blocks contain the latest transactions block block j n o block k p l m q #Hopperx1London
Bitcoin clients exchange Blocks block block j n block o block k p l block m q #Hopperx1London
Bitcoin clients exchange Blocks until all clients have the same view of the transactions block block j n block o block k p l block block m q block block #Hopperx1London until all clients have it
What can go wrong? #Hopperx1London
Bitcoin connections are routed over the Internet using BGP, the default Internet routing protocol j n Internet o k p l m q #Hopperx1London
The Internet is composed of Autonomous Systems E j n B B H A A G C C o k D D I p F l m q #Hopperx1London
Each Bitcoin client n has an IP 82.0.0.3 E j n B B H A A G C C o k D D I p F l m q #Hopperx1London
AS H creates a BGP advertisement for n’s IP prefix 82.0.0.3 E j n 82.0.0.0/23 B B H Path: A A G C C o k D D I p F l m q #Hopperx1London
BGP propagates advertisements in the Internet 82.0.0.0/23 82.0.0.3 Path: H E j n 82.0.0.0/2 B B H 82.0.0.0/23 Path: H A A G 82.0.0.0/23 C C Path: H o k D D I p F l m q #Hopperx1London
BGP propagates advertisements in the Internet 82.0.0.0/23 82.0.0.3 Path: E H E j n 82.0.0.0/2 B B H 82.0.0.0/23 A A G Path: G H 82.0.0.0/23 C Path: B H C o k D D I p F l 82.0.0.0/23 m q Path: I H #Hopperx1London
AS I can directly reach AS H 82.0.0.3 E j n 82.0.0.0/2 82.0.0.0/23 B B H Path: H A A G C 82.0.0.0/23 C Path: H o k D D I p F l 82.0.0.0/23 Path: I H m q #Hopperx1London
BGP does not check the legitimacy of advertisements E j n 82.0.0.0/2 82.0.0.0/23 B B H Path: H A A G C 82.0.0.0/23 C Path: H o k D D I p F l 82.0.0.0/23 Path: I H m q #Hopperx1London
Attacker creates a fake BGP advertisement E j n 82.0.0.0/2 82.0.0.0/23 B B H Path: H 82.0.0.0/24 A A G Path: H G C C o k D D I p F l m q #Hopperx1London
Attacker attracts traffic destined to AS H using BGP hijacking E j n 82.0.0.0/2 82.0.0.0/23 B B H Path: H 82.0.0.0/24 A A G Path: H G C C o k D D I p F l m q #Hopperx1London
Attacker attracts connections with BGP hijacking E j n 82.0.0.0/2 B B H A A G C C o k D D I p F l m q #Hopperx1London
Attacker drops connections crossing the partition E j n 82.0.0.0/2 B B H A A G C C o k D D I p F l m q #Hopperx1London
A new block in the grey zone cannot be propagated further E j n block 82.0.0.0/2 B B H A A G C C o k D D I p F l m q #Hopperx1London
SABRE: Additional channel that is engineered to allow clients to exchange blocks, even if the Bitcoin network is partitioned #Hopperx1London
SABRE: Additional channel that is engineered to allow clients to exchange blocks, even if the Bitcoin network is partitioned … without the need to deploy secure routing protocols #Hopperx1London
SABRE does not affect any of the regular Bitcoin clients E j n B B H A A G C C o k D D I p F l m q #Hopperx1London
SABRE is an overlay network of special Bitcoin clients E j n B B H A A G C C o k D D I p F l m q #Hopperx1London
SABRE nodes are connected to each other E j n B B H A A G C C o k D D I p F l m q #Hopperx1London
Each Bitcoin client connects to at least one SABRE node E j n B B H A A G C C o k D D I p F l m q #Hopperx1London
SABRE protects the Bitcoin network from partition attacks E j n B B H A A G C C o k D D I p F l m q #Hopperx1London
Block is propagated via the SABRE network E j n block B B H A A G C C o k D D I p F l m q #Hopperx1London
The attacker might try to fight back by attacking SABRE itself #Hopperx1London
The attacker might try to fight back by attacking SABRE itself Attacker knows SABRE’s locations and code BGP hijacks against SABRE nodes malicious requests to take down SABRE nodes #Hopperx1London
SABRE is an additional overlay network which allows communication, even if the Bitcoin network is partitioned #Hopperx1London
SABRE is an additional overlay network which allows communication, even if the Bitcoin network is partitioned SABRE needs to… secure relay-to-relay connections #Hopperx1London
SABRE is an additional overlay network which allows communication, even if the Bitcoin network is partitioned SABRE needs to… secure relay-to-relay connections remain reachable by Bitcoin clients #Hopperx1London
SABRE is an additional overlay network which allows communication, even if the Bitcoin network is partitioned SABRE needs to… secure relay-to-relay connections remain reachable by Bitcoin clients relay blocks seamlessly #Hopperx1London
SABRE is an additional overlay network which allows communication, even if the Bitcoin network is partitioned SABRE needs to… secure relay-to-relay connections • Network • Design remain reachable by Bitcoin clients relay blocks seamlessly #Hopperx1London
SABRE is an additional overlay network which allows communication, even if the Bitcoin network is partitioned SABRE needs to… secure relay-to-relay connections • Network • Design remain reachable by Bitcoin clients • Node • Design relay blocks seamlessly #Hopperx1London
SABRE Protecting Bitcoin against Routing Attacks SABRE location inherently safe locations SABRE design software/hardware Deployability deployment opportunities #Hopperx1London
SABRE Protecting Bitcoin against Routing Attacks SABRE location inherently safe locations SABRE design software/hardware Deployability deployment opportunities #Hopperx1London
SABRE is an additional overlay network which allows communication, even if the Bitcoin network is partitioned SABRE needs to… secure relay-to-relay connections remain reachable by Bitcoin clients • Node • Design relay blocks #Hopperx1London
SABRE is an additional overlay network which allows communication, even if the Bitcoin network is partitioned SABRE needs to… secure relay-to-relay connections remain reachable by Bitcoin clients • Node • Design relay blocks #Hopperx1London
SABRE selects nodes that satisfy three properties each node is hosted in /24 IP prefixes nodes are connected via financially & distance-wise optimal paths relay graph is k-connected #Hopperx1London