Bitcoin scalability problem
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/19/BTC_number_of_transactions_per_month.svg/400px-BTC_number_of_transactions_per_month.svg.png)
The bitcoin scalability problem is the limited rate at which the bitcoin network can process transactions.[1] It is related to the fact that records (known as blocks) in the bitcoin blockchain are limited in size and frequency.[2]
Bitcoin's blocks contain the transactions on the bitcoin network.[3]: 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 of 1 megabyte. These jointly constrain the network's throughput. The transaction processing capacity maximum estimated using an average or median transaction size is between 3.3 and 7 transactions per second.[2] As opposed to that, when minimal-size transactions both in complexity and byte size are used for the estimate, the bitcoin's theoretical transaction throughput is 27 transactions/sec.[4] There are various proposed and activated solutions to address this issue.
Background
The block size limit, in concert with the proof-of-work difficulty adjustment settings of bitcoin's consensus protocol, constitutes a bottleneck in bitcoin's transaction processing capacity. This can result in increasing transaction fees and delayed processing of transactions that cannot be fit into a block.[5] 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."[6]
Forks
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 fork
A hard fork is a change to the blockchain protocol that is not backward compatible and requires all users to upgrade their software in order to continue participating in the network. In a hard fork, the network splits into two separate versions: one that follows the new rules and one that follows the old rules.
For example, Ethereum was hard forked in 2016 to "make whole" the investors in The DAO, which had been hacked by exploiting a vulnerability in its code. 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. 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.[7]
A more recent hard-fork example is of Bitcoin in 2017, which resulted in a split creating Bitcoin Cash.[8] The network split was mainly due to a disagreement in how to increase the transactions per second to accommodate for demand.[9]
Bitcoin Cash is a hard fork of bitcoin increasing the maximum block size. Bitcoin XT, Bitcoin Classic and Bitcoin Unlimited each supported an increase to the maximum block size.
Bitcoin Cash (BCH) is a separate cryptocurrency from Bitcoin (BTC); and both trade at entirely independent valuations relative to each other, fiat currencies, and other assets.
Soft fork
A soft fork is a backward-compatible change to the blockchain protocol that allows new rules to be introduced without requiring all users to upgrade their software. In a soft fork, a majority of the network’s miners implement the new rules and begin following the updated version of the blockchain. The rest of the network can continue to follow the blockchain, but they will be unable to validate that new blocks follow the updated rules. Because a soft fork is backward-compatible, it does not result in the creation of a new blockchain or the splitting of the network. Instead, it allows the network to gradually transition to the new rules while still maintaining compatibility with the old rules. [10]
Segregated Witness is an example of a soft fork.
In case of a soft fork, all mining nodes meant to work in accordance with the new rules need to upgrade their software.
Efficiency improvements
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).
- Schnorr signatures have been proposed as a scaling solution by long-time developer and Blockstream co-founder Pieter Wuille.
- Merkelized Abstract Syntax Trees (MAST) is a proposal by Johnson Lau which reduces the size of smart contracts (complex scripts), and increases their privacy.
- 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.[11] Bellare-Neven has been implemented.[12][13][better source needed]
"Layer 2" systems
The Lightning Network is a protocol that aims to improve bitcoin's scalability and speed without sacrificing trustless operation.[14] The Lightning Network requires putting a funding transaction on the blockchain to open a payment channel. Once a channel is opened, connected participants are able to make rapid payments within the channel or may route payments by "hopping" between channels at intermediate nodes for little to no fee.
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 27 January 2018 and advised it should still be considered "in testing".
On 15 March 2018, Lightning Labs released the beta version of its lnd Lightning Network implementation for bitcoin mainnet, and on 28 March 2018, ACINQ released a mainnet beta of its eclair implementation and desktop application.
In January 2019 the online retailer Bitrefill announced that it receives more payments in Bitcoin via the lightning network than any of the altcoins they accept.
Block size increases
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.
Proposed
- In 2015, BIP100 by Jeff Garzik and BIP101 by Gavin Andresen were introduced.
- Bitcoin XT was proposed in 2015 to increase the transaction processing capacity of bitcoin by increasing the block size limit.[15]
- Bitcoin Classic was proposed in 2016 to increase the transaction processing capacity of bitcoin by increasing the block size limit.
- "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.
- 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.[16] The second half of SegWit2x involved a hard fork in November 2017 to increase the blocksize to 2 megabytes. On 8 November 2017 the developers of SegWit2x announced that the hard fork planned for around 16 November 2017 was canceled for the time being due to a lack of consensus.
- Bitcoin Unlimited advocated for miner flexibility to increase the block size limit and is supported by mining pools ViaBTC, AntPool and investor Roger Ver.
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.' 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.
See also
References
- ^ [The Limits to Blockchain? Scaling vs. Decentralization.] Social Science Research Network. Cybersecurity, Privacy & Networks eJournal. Accessed 21 April 2019.
- ^ a b Croman, Kyle; Eyal, Ittay (2016). "On Scaling Decentralized Blockchains" (PDF). Financial Cryptography and Data Security. Lecture Notes in Computer Science. Vol. 9604. pp. 106–125. doi:10.1007/978-3-662-53357-4_8. ISBN 978-3-662-53356-7. Retrieved 10 December 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.
- ^ Antonopoulos, Andreas M. (April 2014). Mastering Bitcoin. Unlocking Digital Crypto-Currencies. O'Reilly Media. ISBN 978-1-4493-7404-4.
- ^ Georgiadis, Evangelos (2019). "How many transactions per second can bitcoin really handle? Theoretically". Retrieved 26 April 2019.
The exact upper bound for the [theoretical] maximal transaction throughput of the bitcoin protocol [based on protocol specifications] is 27 tps.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ Pearson, Jordan (14 October 2016). "'Bitcoin Unlimited' Hopes to Save Bitcoin from Itself". Motherboard. Vice Media LLC. Retrieved 17 January 2017.
- ^ Williams-Grut, Oscar; Price, Rob (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.
- ^ Lee, Timothy (12 March 2013). "Major glitch in Bitcoin network sparks sell-off; price temporarily falls 23%". Arstechnica. Archived from the original on 20 April 2013. Retrieved 25 February 2018.
- ^ Smith, Oli (21 January 2018). "Bitcoin price RIVAL: Cryptocurrency 'faster than bitcoin' will CHALLENGE market leaders". Express. Archived from the original on 28 March 2019. Retrieved 6 April 2021.
- ^ "Bitcoin split in two, here's what that means". CNN. 1 August 2017. Archived from the original on 27 February 2018. Retrieved 7 April 2021.
- ^ "What is Fork? Fork in 3 Title". CryptocurrencyTick. 24 December 2022. Archived from the original on 25 December 2022. Retrieved 24 December 2022.
- ^ "kanzure/diyhpluswiki". GitHub.
- ^ https://github.com/bitcoin-core/secp256k1/pull/461
- ^ "Note that aggsig paper was rejected by ysangkok · Pull Request #479 · bitcoin-core/bitcoincore.org". GitHub.
- ^ Antonopoulos, Andreas (2017). Mastering Bitcoin (2nd ed.). O'Reilly. pp. 297–304. ISBN 978-1491954386.
- ^ Alex Hern. "Bitcoin's forked: chief scientist launches alternative proposal for the currency". the Guardian. Retrieved 20 August 2015.
- ^ Vigna, Paul (8 November 2017). "Bitcoin Dodges Split That Threatened Its Surging Price". The Wall Street Journal. Retrieved 8 November 2017.