On April 1, the folks at DCTRL had a meet-up to discuss the facts and implications of the Bitcoin fork. We all learned a lot from this meeting. The range of knowledge varied from those that were new to Bitcoin and were interested in what the contention over the fork was about (most of us in the room), those that had deeper technical knowledge of Bitcoin and wanted to find out what would be the best course of action and those who are well invested in Bitcoin and were looking for advice on whether they needed to do anything to protect their investment.
The stakeholders in this fork are:
- Miners – they find, or “mine”, the blocks by solving a cryptographic puzzle. Miners can also run full nodes.
- Full nodes – computers around the world that confirm that the solution to the cryptographic puzzle is correct and relay it across the rest of the network. They add the block to the blockchain record.
- Light nodes – computers around the world that only relay the full nodes’ confirmations that a block is correct. They do not mine or confirm blocks.
- Wallets – clients that store the user’s private keys to access Bitcoin addresses and spend your bitcoin balance.
- Exchanges – bourses within which bitcoins are traded with fiat currency.
- Bitcoin Core (BTC) – the team of developers that has been running the Bitcoin network since its inception in January 2009. Full nodes run Core’s software in order to validate transactions and blocks.
- Bitcoin Unlimited (BTU) – a breakaway team of developers that advocate for a large expansion in block sizes, to a maximum of 32Mb, in order to resolve the scaling issue. They regard expansion to the block size as the best way of sidestepping a hard fork.
Here is a summary of the discussion:
Cryptocurrency, though virtual, is real in the sense that there is mining power behind it and that it is scarce. The nodes validate the rules of the network, so far Bitcoin Core has written those rules. The wallets look at the headers of the blockchain and determine from the headers that enough proof-of-work has been done and that it is running the correct chain.
Bitcoin Unlimited responses to some objections
Alex Millar and Taylor Singleton-Fookes presented the discussion and represented the interests of Bitcon Core. Also present was Dr Peter Rizen, Chief Scientist at Bitcoin Unlimited.
BTC: If the blockchain becomes too big (it will grow more rapidly under BTU), it will become too expensive to run a full node.
BTU: The rapidly-growing chain will not be a problem for BTU users as they will only need to validate their own transactions. So, there will be no further need for full nodes to validate all transactions and fewer users will need to run a full node.
BTC: Bitcoin, so far, has supported two main features. It is a payment platform and it is censorship-resistant. However, should it fork, BTC prefers the censorship-resistant feature.
BTU: With the cost of running a node falling, the decentralized element of Bitcoin becomes more important. Most businesses and universities will still be able to afford to run nodes on BTU.
BTC: The miners’ interests are based on the fees remaining on-chain.
BTU: Unlimited will not prompt a hard fork so there will be no disruption to the fees. Any dispossessed miners can seek legal redress.
BTC: Disagreed with bringing in the courts. The presence of law courts will be antithetical to the ethos of Bitcoin.
BTU: Those miners that have switched to BTU have stated that the block size is irrelevant to reaching consensus. They will follow the proof-of-work algorithm regardless of how large the block will be. BTU broadens the consensus rules.
BTC: BU will give too much power to miners.
BTU: Countered by saying that BTC was gravitating away from Satoshi Nakamoto’s original vision of “genetic diversity”. Whether you increase the block sizes or not, the miners are already powerful.
BTC: The BU solution will lead to further block size increases in the future.
BTU: No, it won’t. The nodes and miners grow the network symbiotically. Growth of that type will not require 32Mb+ sizes.
Critiques on Bitcoin Core solutions
BTC advocates for a soft fork as the means to address the block size issue. It proposes the implementation of segregated witness (SegWit) which will discard the signature data from the transaction file. BTC says that SegWit will ease the implementation of off-chains or sidechains, such as Lightning, thereafter.
SegWit (segregated witness) is a soft fork in that it condenses the rules. It is also a tangential solution to the scaling issue but it does increase malleability.
SegWit is ready to be deployed. However, the BTC developers relied on miners to enable it. Miners held back for two reasons:
- Concerns that the malleability of SegWit would weaken the security of BTC;
- The trend for transaction fees is rising due to the growing bottleneck of unmined transactions… a result of 1Mb block sizes. Miners were concerned they may not realise those higher fees on SegWit.
Recent bugs with Bitcoin Unlimited’s code
Two factors behind the attack on BU nodes were discussed here:
- Unlimited has a new development team and also new processes. It has taken time for Unlimited to raise the quality of their code.
- Unlimited initially opened up their source code. However, it was attacked.
Two bugs allowed the take down of a number of BU nodes. So, BU went closed source and published only binary code. It allowed for BU to release a new patch that would not get attacked.
BU released one implementation for one bug.
Lightning is at the centre of the debate about off-chains. Lightning uses Bitcoin transactions as a smart contract.
It can facilitate a network of payment channels especially for multisig transactions.
Lightning works on the game theory principle: if a participant in an off-chain payment channel does not broadcast to the blockchain at the right time, that participant loses his deposit.
There is a certain amount of scepticism about Lightning’s ability to roll back any micropayments that participants may wish to annul.
Bitcoin Unlimited’s assessment of Lightning and user-activated soft forks
Rizen was neutral about Lightning but expressed interest in how it will fare, especially should it come into play on the back of SegWit implementation.
Miners have signalled for larger blocks and also have been enthusiastic about Lightning.
Small transactions, such as pay-to-search and other micropayments, can work well on Lightning.
There was, then, discussion about user-activated soft forks. In such a fork, miners can start mining SegWit blocks on a fork of the Bitcoin blockchain should they choose to do so.
However, this was seen from the floor as being reckless. An exchange can choose to fork the blockchain. So, user-activated soft forks can allow those with leverage, such as the miners and exchanges, to consolidate their power over the Core network.
Some innovations that may ease the effects of the hard fork
It is possible to merge mine Unlimited and Core in a post-fork environment.
Core can use NLOCKTIME and RBF codes to switch between the Core fork and the Unlimited fork.
SegWit can make use of a slush pool.
It is also possible to orphan blocks from non-complying miners should the fork take place.
Adoption of Unlimited will distribute power unevenly, in favour of miners.
Miners are most interested in making money from mining. They will go with whichever fork yields the higher fees.
The short term favours Unlimited but the long term favours Core.
Millar and Singleton-Fookes felt that outside consultants advising on the fork will go against Bitcoin’s principle of reaching consensus internally.
Ultimately, we had a fatalistic frame of mind on which way Bitcoin will go, whether or not the hard fork takes place. It really is in the lap of the Bitcoin gods.