
Enhancing Bitcoin Security and Performance with Strong Consistency via Collective Signing Eleftherios Kokoris Kogias, Philipp Jovanovic, Nicolas Gailly, Ismail Khoffi, Linus Gasser, and Bryan Ford, École Polytechnique Fédérale de Lausanne (EPFL) https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/kogias This paper is included in the Proceedings of the 25th USENIX Security Symposium August 10–12, 2016 • Austin, TX ISBN 978-1-931971-32-4 Open access to the Proceedings of the 25th USENIX Security Symposium is sponsored by USENIX Enhancing Bitcoin Security and Performance with Strong Consistency via Collective Signing Eleftherios Kokoris-Kogias, Philipp Jovanovic, Nicolas Gailly, Ismail Khoffi, Linus Gasser, and Bryan Ford EPFL Abstract total computing capacity and at least about one hour has elapsed. This high transaction-confirmation latency lim- While showing great promise, Bitcoin requires users to its Bitcoin’s suitability for real-time transactions. Later wait tens of minutes for transactions to commit, and work revealed additional vulnerabilities to transaction even then, offering only probabilistic guarantees. This reversibility, double-spending, and strategic mining at- paper introduces ByzCoin, a novel Byzantine consen- tacks [25, 31, 34, 35, 48, 3]. sus protocol that leverages scalable collective signing to The key problem is that Bitcoin’s consensus algo- commit Bitcoin transactions irreversibly within seconds. rithm provides only probabilistic consistency guarantees. ByzCoin achieves Byzantine consensus while preserv- Strong consistency could offer cryptocurrencies three ing Bitcoin’s open membership by dynamically form- important benefits. First, all miners instantly agree on ing hash power-proportionate consensus groups that rep- the validity of blocks, without wasting computational resent recently-successful block miners. ByzCoin em- power resolving inconsistencies (forks). Second, clients ploys communication trees to optimize transaction com- need not wait for extended periods to be certain that a mitment and verification under normal operation while submitted transaction is committed; as soon as it ap- guaranteeing safety and liveness under Byzantine faults, pears in the blockchain, the transaction can be consid- up to a near-optimal tolerance of f faulty group members ered confirmed. Third, strong consistency provides for- among 3 f + 2 total. ByzCoin mitigates double spend- ward security: as soon as a block has been appended ing and selfish mining attacks by producing collectively to the blockchain, it stays there forever. Although in- signed transaction blocks within one minute of trans- creasing the consistency of cryptocurrencies has been action submission. Tree-structured communication fur- suggested before [17, 19, 43, 52, 56], existing propos- ther reduces this latency to less than 30 seconds. Due als give up Bitcoin’s decentralization, and/or introduce to these optimizations, ByzCoin achieves a throughput new and non-intuitive security assumptions, and/or lack higher than Paypal currently handles, with a confirma- experimental evidence of performance and scalability. tion latency of 15-20 seconds. This work introduces ByzCoin, a Bitcoin-like cryp- tocurrency enhanced with strong consistency, based on 1 Introduction the principles of the well-studied Practical Byzantine Fault Tolerance (PBFT) [14] algorithm. ByzCoin ad- Bitcoin [47] is a decentralized cryptocurrency providing dresses four key challenges in bringing PBFT’s strong an open, self-regulating alternative to classic currencies consistency to cryptocurrencies: (1) open membership, managed by central authorities such as banks. Bitcoin (2) scalability to hundreds of replicas, (3) proof-of-work builds on a peer-to-peer network where users can sub- block conflicts, and (4) transaction commitment rate. mit transactions without intermediaries. Special nodes, PBFT was not designed for scalability to large consen- called miners, collect transactions, solve computational sus groups: deployments and experiments often employ puzzles (proof-of-work) to reach consensus, and add the the minimum of four replicas [38], and generally have transactions in form of blocks to a distributed public not explored scalability levels beyond 7 [14] or 16 repli- ledger known as the blockchain. cas [16, 32, 1]. ByzCoin builds PBFT atop CoSi [54], The original Bitcoin paper argues that transaction pro- a collective signing protocol that efficiently aggregates cessing is secure and irreversible, as long as the largest hundreds or thousands of signatures. Collective sign- colluding group of miners represents less than 50% of ing reduces both the costs of PBFT rounds and the costs 1 USENIX Association 25th USENIX Security Symposium 279 for “light” clients to verify transaction commitment. Al- action confirmation latency under one minute. though CoSi is not a consensus protocol, ByzCoin imple- We find through security analysis ( 5) that ByzCoin • § ments Byzantine consensus using CoSi signing rounds to can mitigate several known attacks on Bitcoin pro- 1 make PBFT’s prepare and commit phases scalable. vided no attacker controls more than 4 of hash power. PBFT normally assumes a well-defined, closed group of replicas, conflicting with Bitcoin’s open membership 2 Background and Motivation and use of proof-of-work to resist Sybil attacks [23]. ByzCoin addresses this conflict by forming consensus This section first outlines the three most relevant areas groups dynamically from windows of recently mined of prior work that ByzCoin builds on: cryptocurrencies blocks, giving recent miners shares or voting power such as Bitcoin and Bitcoin-NG, Byzantine fault toler- proportional to their recent commitment of hash power. ance (BFT) principles, and collective signing techniques. Lastly, to reduce transaction processing latency we adopt the idea from Bitcoin-NG [24] to decouple transaction verification from block mining. 2.1 Bitcoin and Variations Experiments with a prototype implementation of Byz- Bitcoin. At the core of Bitcoin [47] rests the so-called Coin show that a consensus group formed from approxi- blockchain, a public, append-only database maintained mately the past 24 hours of successful miners (144 min- by miners and serving as a global ledger of all transac- ers) can reach consensus in less than 20 seconds, on tions ever issued. Transactions are bundled into blocks blocks of Bitcoin’s current maximum size (1MB). A and validated by a proof-of-work. A block is valid if its larger consensus group formed from one week of suc- cryptographic hash has d leading zero bits, where the dif- cessful miners (1008) reached consensus on an 8MB ficulty parameter d is adjusted periodically such that new block in 90 seconds, showing that the systems scales blocks are mined about every ten minutes on average. both with the number of participants and with the block Each block includes a Merkle tree [44] of new transac- size. For the 144-participant consensus group, with a tions to be committed, and a cryptographic hash chaining block size of 32MB, the system handles 974 transac- to the last valid block, thereby forming the blockchain. tions per second (TPS) with a 68-second confirmation la- Upon successfully forming a new block with a valid tency. These experiments suggest that ByzCoin can han- proof-of-work, a miner broadcasts the new block to the dle loads higher than PayPal and comparable with Visa. rest of the miners, who (when behaving properly) accept ByzCoin is still a proof-of-concept with several lim- the new block, if it extends a valid chain strictly longer itations. First, ByzCoin does not improve on Bitcoin’s than any they have already seen. proof-of-work mechanism; finding a suitable replace- Bitcoin’s decentralized consensus and security derive ment [4, 28, 37, 58] is an important but orthogonal area from an assumption that a majority of the miners, mea- for future work. Like many BFT protocols in prac- sured in terms of hash power or ability to solve hash- tice [15, 32], ByzCoin is vulnerable to slowdown or tem- based proof-of-work puzzles, follows these rules and al- porary DoS attacks that Byzantine nodes can trigger. Al- ways attempts to extend the longest existing chain. As though a malicious leader cannot violate or permanently soon as a quorum of miners with the majority of the block consensus, he might temporarily exclude minority network’s hash power approves a given block by min- 1 sets (< 3 ) of victims from the consensus process, depriv- ing on top of it, the block remains embedded in any fu- ing them of rewards, and/or attempt to censor transac- ture chain [29]. Bitcoin’s security is guaranteed by the tions. ByzCoin guarantees security only against attack- fact that this majority will be extending the legitimate ers who consistently control less than a third (not 50%) chain faster than any corrupt minority that might try to of consensus group shares – though Bitcoin has analo- rewrite history or double-spend currency. However, Bit- gous weaknesses accounting for selfish mining [25]. coin’s consistency guarantee is only probabilistic, which In this paper we make the following key contributions: leads to two fundamental problems. We use collective signing [54] to scale BFT protocols First, multiple miners might find distinct blocks with • to large consensus groups and enable clients to verify the same parent before the network has reached consen- operation commitments efficiently. sus. Such a conflict is called a fork, an inconsistency that We present ( 3)
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages19 Page
-
File Size-