Open main menu

Bitcoin scalability problem

Number of transactions per month

The bitcoin scalability problem refers to the discussion concerning the limits on the amount of transactions the bitcoin network can process. It is related to the fact that records (known as blocks) in the bitcoin blockchain are limited in size and frequency.[1] Bitcoin's blocks contain the transactions on the bitcoin network.[2]:ch. 2 The on chain transaction processing capacity of the bitcoin network is limited by the average block creation time of 10 minutes and the block size limit. These jointly constrain the network's throughput. The transaction processing capacity maximum is estimated between 3.3 and 7 transactions per second.[3] There are various proposed and activated solutions to address this issue.

Contents

BackgroundEdit

The block size limit has created a bottleneck in bitcoin, resulting in increasing transaction fees and delayed processing of transactions that cannot be fit into a block.[4] Various proposals have come forth on how to scale bitcoin, and a contentious debate has resulted. Business Insider in 2017 characterized this debate as an "ideological battle over bitcoin's future."[5]

ForksEdit

Increasing the network's transaction processing limit requires making changes to the technical workings of bitcoin, in a process known as a fork. Forks can be grouped into two types:

Hard forkEdit

A hard fork is a rule change such that the software validating according to the old rules will see the blocks produced according to the new rules as invalid. In case of a hard fork, all nodes meant to work in accordance with the new rules need to upgrade their software.[6]

If one group of nodes continues to use the old software while the other nodes use the new software, a split can occur. For example, Ethereum has hard-forked to "make whole" the investors in The DAO, which had been hacked by exploiting a vulnerability in its code.[7] In this case, the fork resulted in a split creating Ethereum and Ethereum Classic chains. In 2014 the Nxt community was asked to consider a hard fork that would have led to a rollback of the blockchain records to mitigate the effects of a theft of 50 million NXT from a major cryptocurrency exchange. The hard fork proposal was rejected, and some of the funds were recovered after negotiations and ransom payment.[8]

Alternatively, to prevent a permanent split, a majority of nodes using the new software may return to the old rules, as was the case of bitcoin split on 12 March 2013.[9]

Bitcoin Cash is a hard fork of bitcoin increasing the maximum block size. Bitcoin XT, Bitcoin Classic and Bitcoin Unlimited all supported an increase to the maximum block size through a hard fork.

Soft forkEdit

In contrast to a hard fork, a soft fork is a change of rules that creates blocks recognized as valid by the old software, i.e. it is backwards-compatible.[6] As for a hard fork, a soft fork can also split the blockchain when non-upgraded software creates blocks not considered valid by the new rules.[6]

User activatedEdit

A user activated soft fork (UASF) is a contentious concept of enforcing a soft fork rule change without the majority support of miners.[6]

Segregated Witness is an example of a soft fork.

Efficiency improvementsEdit

Technical optimizations may decrease the amount of computing resources required to receive, process and record bitcoin transactions, allowing increased throughput without placing extra demand on the bitcoin network. These modifications can be to either the network, in which case a fork is required, or to individual node software (such as Bitcoin Core).

  • Merkelized Abstract Syntax Trees (MAST) is a proposal by Johnson Lau which reduces the size of smart contracts (complex scripts), and increases their privacy.[11]
  • A 2006 paper by Mihir Bellare enables signature aggregation in O(1) size, which means that it will not take more space to have multiple signers. Bellare-Neven reduces to Schnorr for a single key.[12] Bellare-Neven has been implemented.[13][14][better source needed]

"Layer 2" systemsEdit

Protocols such as the Lightning Network and Tumblebit have been proposed which operate on top of the bitcoin network as a cache to allow payments to be effected that are not immediately put on the blockchain.[15]

  • The Lightning Network is a protocol that aims to improve bitcoin's scalability and speed. The Lightning Network requires putting a funding transaction on the blockchain to open a channel.[16] Payment provider Bitrefill tweeted in December 2017 claiming it was the first lightning transaction operating on the bitcoin network.[17] In January 2018 Blockstream launched a payment processing system for web retailers called "Lightning Charge", noted that lightning was live on mainnet with 200 nodes operating as of January 27, 2018 and advised it should still be considered "in testing".[18][19] On March 15, 2018, Lightning Labs released the beta version of its lnd Lightning Network implementation for bitcoin mainnet,[20] and on March 28, 2018, ACINQ released a mainnet beta of its eclair implementation and desktop application.[21]

Block size increasesEdit

Transaction throughput is limited practically by a parameter known as the block size limit. Various increases to this limit, and proposals to remove it completely, have been proposed over bitcoin's history.

ActivatedEdit

  • Segregated Witness (SegWit, BIP 141) is a performed soft fork which solves transaction malleability, a known weakness in bitcoin's security, while also increasing the block size by a factor of approximately two.[22] SegWit works by separating the signature data (the "witness") from the transactions data. Blockstream co-founder and developer Pieter Wuille proposed Segregated Witness in December 2015.[23] SegWit allows for an easier implementation of the Lightning Network.[24] The method used to activate SegWit was BIP 91.

ProposedEdit

  • In 2015, BIP 100 by Jeff Garzik and BIP 101 by Gavin Andresen were introduced.[25] By mid-2015, some developers were supporting a block size limit of as high as eight megabytes.[26]
  • Bitcoin XT was proposed in 2015 to increase the transaction processing capacity of bitcoin by increasing the block size limit.[27]
  • Bitcoin Classic was proposed in 2016 to increase the transaction processing capacity of bitcoin by increasing the block size limit.[28]
  • "The Hong Kong Agreement" was a 2016 agreement of some miners and developers that contained a timetable that would see both the activation of the Segregated Witness (SegWit) proposal established in December 2015 by Bitcoin Core developers, and the development of a block size limit increased to 2 MB. However, both timelines were missed.[29]
  • SegWit2x was a proposed hard fork of the cryptocurrency bitcoin. The implementation of Segregated Witness in August 2017 was only the first half of the so-called "New York Agreement" by which those who wanted to increase effective block size by SegWit compromised with those who wanted to increase block size by a hard fork to a larger block size.[30] The second half of SegWit2x involved a hard fork in November 2017 to increase the blocksize to 2 megabytes.[31] On November 8, 2017 the developers of SegWit2x announced that the hard fork planned for around November 16, 2017 was canceled for the time being due to a lack of consensus.[32]
  • Bitcoin Unlimited advocated for miner flexibility to increase the block size limit and is supported by mining pools ViaBTC, AntPool and investor Roger Ver.[33] Bitcoin Unlimited's proposal is different from Bitcoin Core in that the block size parameter is not hard-coded, and rather the nodes and miners flag support for the size that they want, using an idea they refer to as 'emergent consensus.'[33] Those behind Bitcoin Unlimited proposal argue that from an ideological standpoint the miners should decide about the scaling solution since they are the ones whose hardware secure the network.[34] Bitcoin Unlimited now focuses on developing node software for Bitcoin Cash.
  • BIP148 was a proposal that has been referred to as a User Activated Soft Fork (UASF) or a "populist uprising." It was planned to be triggered on 1 August 2017, and it sought to force miners to activate Segregated Witness.[35] It became unnecessary because miners opted to vote for SegWit activation using the BIP91 scheme.

See alsoEdit

ReferencesEdit

  1. ^ Hayes, Adam (18 October 2016). "The Three Major Bitcoin Protocols Explained". Investopedia. Retrieved 18 January 2017.
  2. ^ Andreas M. Antonopoulos (April 2014). Mastering Bitcoin. Unlocking Digital Crypto-Currencies. O'Reilly Media. ISBN 978-1-4493-7404-4.
  3. ^ Croman, Kyle; Eyal, Ittay (2016). "On Scaling Decentralized Blockchains" (PDF). doi:10.1007/978-3-662-53357-4_8. Retrieved December 10, 2017. The maximum throughput is the maximum rate at which the blockchain can confirm transactions. Today, Bitcoin’s maximum throughput is 3.3–7 transactions/sec [1]. This number is constrained by the maximum block size and the inter-block time.
  4. ^ Jordan Pearson (14 October 2016). "'Bitcoin Unlimited' Hopes to Save Bitcoin from Itself". Motherboard. Vice Media LLC. Retrieved 17 January 2017.
  5. ^ Oscar Williams-Grut and Rob Price (26 March 2017). "A Bitcoin civil war is threatening to tear the digital currency in 2 — here's what you need to know". Business Insider. Retrieved 2 July 2017.
  6. ^ a b c d Amy Castor (27 March 2017). "A Short Guide to Bitcoin Forks". CoinDesk. Retrieved 1 July 2017.
  7. ^ Coppola, Frances (21 July 2016). "A Painful Lesson For The Ethereum Community". Forbes.
  8. ^ Gillespie, Clay Michael (15 August 2014). "Official NXT Decision: No Blockchain Rollback". Cryptocoin News. Retrieved 13 November 2016.
  9. ^ Lee, Timothy (12 March 2013). "Major glitch in Bitcoin network sparks sell-off; price temporarily falls 23%". Arstechnica. Archived from the original on 2013-04-22.
  10. ^ Alyssa Hertig (31 December 2017). "Most Influential in Blockchain 2017 #7: Pieter Wuille". CoinDesk. Retrieved 4 Jan 2018.
  11. ^ "Inside MAST: The Little-Known Plan to Advance Bitcoin Smart Contracts - CoinDesk". CoinDesk. 7 February 2017. Retrieved 13 March 2018.
  12. ^ "kanzure/diyhpluswiki". GitHub.
  13. ^ https://github.com/bitcoin-core/secp256k1/pull/461
  14. ^ "Note that aggsig paper was rejected by ysangkok · Pull Request #479 · bitcoin-core/bitcoincore.org". GitHub.
  15. ^ Torpley, Kyle (2017-03-14). "Bitcoin is Now Useless for Micropayments, But Solutions are Coming". Nasdaq. Retrieved 2018-01-04.
  16. ^ "Lightning Network, Explained". CoinTelegraph. Retrieved 2017-11-16.
  17. ^ "Payment Provider Bitrefill Runs Successful Lightning Transaction Test". Coindesk. 2017-12-29. Retrieved 2018-01-04.
  18. ^ "Blockstream Launches Micropayments Processing System for Bitcoin Apps". Coindesk. 17 January 2018. Retrieved 21 January 2018.
  19. ^ "'UNFAIRLY CHEAP' LIGHTNING NETWORK MAINNET HITS 40 NODES, 60 CHANNELS". Bitcoinist. 18 January 2018. Retrieved 21 January 2018.
  20. ^ "Announcing our first Lightning mainnet release, lnd 0.4-beta". Article. Lightning Labs. 2018-03-15.
  21. ^ "ACINQ eclair desktop for mainnet announcement".
  22. ^ Andrew Marshall (20 April 2017). "SegWit, Explained". CoinTelegraph. Retrieved 1 July 2017.
  23. ^ Corin Faife (5 January 2017). "Will 2017 Bring an End to Bitcoin's Great Scaling Debate?". CoinDesk. Retrieved 4 July 2017.
  24. ^ van Wirdum, Aaron (23 August 2017). "Segregated Witness Activates on Bitcoin: This is What to Expect". Bitcoin Magazine. Retrieved 24 August 2017.
  25. ^ Andrew Marshall (2 March 2017). "Bitcoin Scaling Problem, Explained". The Coin Telegraph. Retrieved 4 July 2017.
  26. ^ Evander Smart (19 October 2016). "'Why is My Bitcoin Transaction Taking So Long?' Here's Why". The Coin Telegraph. Retrieved 4 July 2017.
  27. ^ Alex Hern. "Bitcoin's forked: chief scientist launches alternative proposal for the currency". the Guardian. Retrieved 20 August 2015.
  28. ^ Rizzo, Pete (19 January 2016). "Making Sense of Bitcoin's Divisive Block Size Debate". CoinDesk. Retrieved 22 June 2017.
  29. ^ Pete Rizzo & Alyssa Hertig (24 May 2017). "Bitcoin's New Scaling 'Agreement': The Reaction". CoinDesk. Retrieved 29 June 2017.
  30. ^ Haywood, Matthew (16 August 2017). "Segwit2x, 'The New York Agreement'". bravenewcoin.com. Retrieved 6 October 2017.
  31. ^ Hertig, Alyssa (12 July 2017). "Explainer: What Is SegWit2x and What Does It Mean for Bitcoin?". CoinDesk. Retrieved 6 October 2017.
  32. ^ Hertig, Alyssa (8 November 2017). "2x Called Off: Bitcoin Hard Fork Suspended for Lack of Consensus". CoinDesk. Retrieved 8 November 2017.
  33. ^ a b Alyssa Hertig (14 May 2017). "CoinDesk Explainer: The Bitcoin Unlimited Debate". CoinDesk. Retrieved 29 June 2017.
  34. ^ Pete Rizzo (20 March 2017). "CoinDesk Explainer: Bitcoin Unlimited: Mining Power Should Determine Hard Fork". CoinDesk. Retrieved 2 July 2017.
  35. ^ Alyssa Hertig (8 June 2017). "Bitcoin's 'Independence Day': Could Users Tip the Scales in the Scaling Debate?". CoinDesk. Retrieved 29 June 2017.