Time for Bitcoin 1.x

An Open Letter to Developers Supporting On-Chain Scaling

Here, the Bitcoin Unlimited officers and developers call out to Bitcoin full node developers who are responsible for the maintenance of competing implementations: Classic, XT, btcd, free-thinking developers in Core and those working elsewhere.

A Fork in the Road

Satoshi Nakamoto described, coded and launched Bitcoin. It is not important who this person or group actually is, apart from ensuring due recognition by future historians. Seven and a half years have passed since Bitcoin was quietly set loose in the wild and it has gone from strength to strength with the currency units appreciating in value fast, and now the ounce price of gold is in sight. This invention has become important today and potentially much more so tomorrow. However, that potential will look very different in a few years based upon the path of development taken today. A fork has been reached. It is not a fork in the blockchain, or even in the software, but in high-level direction: on-chain or off-chain scaling. Both of these must be advanced, however current development has veered sharply towards off-chain scaling, leaving on-chain scaling marginalised like a poor Cinderella.

The signatories to this open letter adhere to the original vision for Bitcoin which is a global peer-to-peer currency intended to scale to VISA-like capacity on-chain as a first principle. Off-chain solutions are additionally welcomed as they support orders of magnitude greater scalability, particularly for micropayment transactions. However, Bitcoin off-chain usage must be driven by market-forces, where competition pressure comes from all other varieties of cryptocurrency, not cocooned by a throttled and expensive on-chain service.

Bitcoin off-chain services should compete for transaction volume with the most scalable on-chain service, because if they can still attract volume on their own merits then there will be little demand for the alternative cryptocurrencies.

Bitcoin Mining is a Success Story

Bitcoin has intrinsic value because of the utility of its payment network: fast, permissionless, pseudonymous, peer-to-peer transactions. Its growing user-base and network effect attracts speculative value (especially as total bitcoins are limited) then, as hashing power increases, the currency units are more trusted as a permanent store of value. A virtuous cycle results between savings, usage, market price and security.

Block fees may grow to exceed the block reward soon after the next halving. Maintaining security and Bitcoin’s long-term store of value is achieved by ensuring that miners receive available transaction fees for the confirmations they make, as opposed to off-chain solutions where miners will see a vast slice of their fee revenue siphoned away to 3rd-party service providers. While some miners today may consider that they will own 3rd-party services and hope to benefit, the reality is that those services will have a different business model, not based upon highly efficient and cheap repetition of SHA256. Bitcoin miners who support off-chain solutions over on-chain scaling are taking a high-stakes gamble that they will remain dominant. History is replete with world-leading companies who failed to pivot to a new business model. Bitcoin 1.x recognises that miners are leaders at what they are currently doing with SHA256 and more of what they do already is better for them and better for Bitcoin, securing a new financial system for the world.

While non-mining full nodes are under pressure from higher transaction volumes as Bitcoin gets bigger, growing ecosystem usage encourages more new full nodes to be started up. We consider that newer nodes will be run by people and organizations with deeper pockets, improving node quality and capacity. The opposite is the situation today where users and investors see on-chain volumes as capped and remain cautious, stagnating the full node count. What is stagant in the fast-moving field of cryptocurrency will inevitably decline in the long term.

A Contentious Barrier to On-chain Scaling

The block limit is part of the transport layer which is trapped in the protocol due to a temporary “hack” performed in 2010 for the purpose of anti-spam expediency. As of 2016, it is now harming the proper functioning of the network by causing instability in fee levels and confirmation times. Several implementations of Bitcoin have been launched in the past 12 months. These will permit larger blocks to prevent harm to the network, ensuring users continue to have consistent fees and confirmation times. Sadly, momentum to reach the necessary critical mass has been lost more than once and this is partly due to persisting with a universal block size limit. Inertia results when non-miners require the same block limiting logic as miners.

What Does Bitcoin 1.x Look Like?

We consider that capacity for 60 transactions per second, on-chain, is sufficient to determine Bitcoin’s beta phase complete, that the milestone has been reached for a general release, i.e. version 1.0. The “x” represents minor versions which are issued periodically in the usual way. We welcome Classic’s move in this direction. If real-world demand reaches 60 tps then Bitcoin will be taking healthy flows in the global economy, commonly displacing fiat in countries with high inflation, and displacing many cross-border transfers. Smart contracts and colored coins have huge potential, but Bitcoin’s strength has been in providing new digital monetary value, not digitising the value of non-monetary instruments. $10 billion of monetary base has been achieved for the second time, perhaps permanently. This is no longer experimental money, this is real money, like gold and silver. Just a few key changes can make Bitcoin 1.x a powerful reality:

1Making non-mining full nodes “fork-tolerant” by decoupling them from the miners with respect to the prevailing block size limit. There is no need for ordinary node owners to upgrade as and when miners do, or accept a risky “flag day” event. Bitcoin Unlimited already has fork-tolerant nodes via BUIP001 where non-mining nodes always track the longest Proof-of-Work chain, and are agnostic to block version resizing flags. In a rare fork situation a user is alerted so that those receiving funds can wait for an adequate number of confirmations and fork resolution. It has been shown that 30MB is the current maximum viable block size so the default excessive block size for non-miners is 16MB.

2Adoption of the BitPay Adaptive solution for miner usage with an activation threshold of 75% plus 28-day grace period. Non-miners are encouraged to upgrade in advance, after which they won’t care how the block limit is determined, even if the miners converge instead to a 2MB block limit or a better medium-term limit of 8MB. Once the miners can make block limit decisions independently of the deadweight of thousands of non-mining nodes needing to take the same action, then miners can act quickly and decisively in their collective interest. Note that block sizes are naturally limited in a healthy fee-market.

3Adoption of Xtreme Thinblocks (Xthin) such that all implementations have interoperable fast block propagation. Results from recent testing involving nodes both inside and outside Mainland China indicates that blocks up to 20MB are manageable for the network. Of course, average block sizes will remain small for some years yet. Miners have collectively proven to be conservative, responsible, and want a high yet stable BTC unit value, so will not produce many large blocks with low-value transactions which overstress the network. Such excessive blocks are likely to be orphaned anyway.

Other Considerations

The problem of the quadratic growth in processing overhead for signature operations (sigops) is solved in Bitcoin 1.x with a belt-and-braces approach. First, sigops overhead when validating newly propagated blocks is massively reduced by Xpress Validation (Xval), part of Xthin, where valid mempool transactions are accounted for; secondly, the signature hashing data is limited to 1.3GB as currently exists in Classic’s implementation.

We consider that a “meta” feature of Bitcoin 1.x is multiple implementations being desireable. Decentralized development makes for a stronger network as it captures true consensus from the Bitcoin community when each full node owner gravitates to the implementation that is closest to their ideals. Future protocol changes will then require developmental co-operation between implementation teams ensuring good faith interaction on specifications. This is true whether the implementations are patch-sets on the current reference client (e.g. BU) or forks from it (e.g. Classic, XT), or rewrites (e.g. btcd, iguana).

Complex enhancements such as Segregated Witness (SW) should follow the first release of Bitcoin 1.x as a further point version. SW in particular has a number of strong benefits but also alters fundamental code that underpins billions of dollars in value. For this reason we have sympathy with the proposal that it be implemented in Litecoin first. After a period of 6 to 12 months SW could then be applied to Bitcoin, incorporating any lessons learned.

Conclusion

To all developers who consider that too much emphasis has been given to off-chain solutions, long before physical network limitations stall on-chain scaling, then please consider implementing several key changes to create with us the first general release of Bitcoin. This is the start of a new era.

Let’s make Bitcoin 1.x a reality!

Signatories (Bitcoin Unlimited)

Andrew Clifford (president)

Peter Rizun (architect)

Andrew Stone (chief developer)

Andrea Suisani (developer)

Peter Tschipper (developer)