Hard Forks Done Right — It’s Decred’s Time to Shine!

Who makes consensus change decisions for Bitcoin, and how?Amongst the cryptocurrency community, I feel that there is somewhat of a distorted reality with regards to who ultimately decides for Bitcoin to hard fork to a new set of consensus rules.

Hard Forks Done Right — It’s Decred’s Time to Shine!
Hard Forks Done Right — It’s Decred’s Time to Shine!

The Decred Digest - Nov 8, 2017

Hard Forks Done Right — It’s Decred’s Time to Shine!

In late 2015 a group of Bitcoin developers proposed a solution to the governance crisis plaguing the Bitcoin network. As the creators of btcsuite— an alternative full node implementation of Bitcoin written in Go — they had first-hand experience of the problem. In a series of blogs, the team highlighted the extent of Bitcoins governance issues. To them it was clear, in order solve the problem they had to go back to basics, right back to zero to build a new cryptocurrency from the ground up, on the foundations decentralised governance. Shortly after, the group, known as Company Zero (c0), announced the launch of Decred — a new cryptocurrency that not only solved Bitcoins governance issue but extended the technology of Bitcoin itself. Aside from funding, Bitcoin’s main governance problem relates to its inability to make decisions effectively. More specifically, the problem revolves around who ultimately decides to hard fork to a new set of consensus rules, and how. To allow us to better understand how Decred has solved the governance problem, this blog will examine how both Bitcoin and Decred make consensus change (hard fork) decisions.

Who makes consensus change decisions for Bitcoin, and how?
Amongst the cryptocurrency community, I feel that there is somewhat of a distorted reality with regards to who ultimately decides for Bitcoin to hard fork to a new set of consensus rules. It seems there is a common misconception about who really rules the Bitcoin network. Because there is no formal governance system, it isn’t clear who’s in charge. In other words, without an effective voting mechanism to allow the network to seamlessly move from one set of consensus rules to another, any decision to change Bitcoins rules leads to a prolonged and messy governance crisis.

Perception: I can understand why an outside observer could easily think that the various participants in the Bitcoin network — developers, users, miners, wallets and exchanges — all get to have a real say in the decision. Over the last few years we have seen Bitcoin and Satoshi roundtable meetings, twitter polls, miner signalling, declarations from wallets and exchanges, live public debates, formal agreements, Coinbase polls, and the recent advisory statement issued by Bitcoin Core. However, in reality only one group of these participants has the power to decide to hard fork to new consensus rules.

Reality: Despite many people believing otherwise, in Bitcoin the Proof-of-Work (PoW) miners ultimately make the decision to hard fork to a new set of consensus rules. Satoshi Nakamoto designed Bitcoin to be an open-source peer-to-peer network that anyone can contribute to. However, Satoshi gave no one other than PoW miners the decision making power to deviate from the original consensus rules he set out. Evidence of this comes from a direct quote in the Bitcoin white paper:

“Proof-of-work also solves the problem of determining representation in majority decision-making. If the majority were based on one-IP-address-one-vote, it could be subverted by anyone able to allocate many IPs. Proof-of-work is essentially one-CPU-one-vote. The majority decision is represented by the longest chain, which has the greatest proof-of-work effort invested in it.

Therefore, in short, Bitcoins hard fork decision-making process can be summed up by “one-CPU-one-vote”. This means that PoW miners who invest more CPUs in the network, contribute more hash power (work), which translates to more decision making power, to determine the longest chain with the greatest PoW effort invested in it, and therefore the majority decision.

Before we look at exactly how the PoW miners make their decision, let’s look at a few facts:

  • PoW miners hold the ultimate decision making power in Bitcoin.
  • PoW miners are now represented large mining corporations.
  • PoW mining corporations are becoming increasingly centralised — just four miners hold more than 50% of the networks decision-making power.
  • PoW mining corporations exist to make a profit.

Therefore, decisions are made by large and increasingly centralised mining corporations (like the one seen in the above image) to benefit their profit margins. So here’s the problem: their interests are not aligned with the users of Bitcoin — they are profiting from them. For example, there is very little motivation for a PoW miner to lower the transaction fee that users pay them when sending bitcoin. Whilst a user of the Bitcoin network would find the average transaction fee of $3 far too high, to a PoW miner, a higher fee means more profit.

In short, PoW miners make a decision to hard fork to a new set of consensus rules by simply allocating their hash power to whatever blockchain they choose to support.

So if PoW miners make the decision, what’s causing all the problems then?
When Satoshi Nakamoto disappeared he entrusted the future development and maintenance of the Bitcoin network to Gavin Andresen. Before the Bitcoin Core development team formed, Andresen spent a number of years as the only full-time developer working on Bitcoin. It was therefore a surprise to many in the community when he stepped down from his position as lead developer in 2014. And then in 2016 when Bitcoin Core revoked his commit access to their development repository, stating concerns that his Github account had been hacked. In contrast, it emerged this might not have been the case. Andresen had a plan to scale Bitcoin by increasing the block size, but this was met with resistance from the other Core developers. As a result, it is rumoured that Bitcoin Core pressured Andreson to step down from the role in a series of backroom discussions.

Andreson was not alone in his disagreement with the Core development team. Mike Hearn was another prominent Bitcoin Core developer who also supported an increase in block size. Hearn stepped down from his position in early 2016, stating that the scaling issue existed because Bitcoin Core “refused to implement the necessary changes to increase the block size”. Following this, Jeff Garzik, another Core developer was expelled from Bitcoin Core in April 2017 for his support of the block size increase via Segwit2x.

Once the man that Satoshi Nakamoto left in charge of Bitcoin development was gone, it left the Bitcoin Core team with full control.

As a result, Bitcoin Core developers now hold a monopoly over all development decisions regarding Bitcoin consensus changes, by way of accepting or rejecting Bitcoin Improvement Proposals (BIP). However, although Bitcoin Core have the ability to put forward a consensus change BIP, the change is only implemented on the network if it has majority support from the PoW miners (as we learned earlier).

In reality, Bitcoin Core are one of many development teams maintaining the network. Other notable groups include Bitcoin Unlimited and Bitcoin ABC. Bitcoin Core is seen as the reference client, which means it’s specifications are used to form the basis upon which other alternative implementations of Bitcoin are developed. For example, Bitcoin Core is written in C++, but there are also other implementations of Bitcoin. These also include btcd — Bitcoin written in Golang — that was created by the current Decred development team. But despite the variety of alternative development teams working on Bitcoin, all development decisions relating to Bitcoin itself remain highly centralised to Bitcoin Core.

A review of the governance and politics in Bitcoin concluded:

“Implicit in the governance structure of Bitcoin is the idea that the Bitcoin Core developers (together with a small number of technical experts) are — by virtue of their technical expertise — the most likely to come up with the right decision as to the specific set of technical features that should be implemented in the platform. Such a technocratic approach to governance is problematic in that it goes counter to the original conception of the Bitcoin project. There exists, therefore, an obvious discrepancy between the libertarian vision of Bitcoin as a decentralized infrastructure that cannot be regulated by any third party institution, and the actual governance structure that dictates the technological development of Bitcoin — which, in spite of its open source nature, is highly centralised and undemocratic. While the (a)political dimension of the former has been praised or at least acknowledged by many, the latter has remained, for a long time, invisible to the public: the technical decisions to be taken by the Bitcoin developers were not presented as political decisions, and were therefore never debated as such.”

So, you’re probably now wondering how Bitcoin Core retains majority control of Bitcoin development decisions? To some extent, I believe that Bitcoin Core manages to maintain majority control by virtue of their technical expertise. They are highly skilled software engineers who have a vast amount of experience to offer. However, there are always two sides to every story. I believe their status is also fueled by the common belief that they are simply entitled to be in control of Bitcoin, along with a more general fear of the unknown in the community. The phrase “better the devil you know than the devil you don’t” comes to mind.

Recently, Joseph Poon, the highly respected developer of the Lightning Network, revealed that he was upset to learn that Bitcoin Core “have a secret channel where they organize their PR and trolling campaigns”. There had previously been speculation of organised trolling by Bitcoin Core when it was found that a well known Reddit troll was hired by Blockstream — the external company that fund Bitcoin Core. However, this was one the first times that someone outside of the Core development team had shed light on what went on behind closed doors.

This highlights the fact that without a formal and effective way to establish who is and isn’t in favour of a hard fork, it’s impossible to know the true consensus opinion of the community. Astroturfing can magnify the voice few vocal individuals with numerous sock puppet accounts to the volume of a roaring crowd.

If we look back to the quote from the Bitcoin whitepaper above, Satoshi Nakamoto specifically states that decisions are not based on “one-IP-address-one-vote” for this reason, because they “could be subverted by anyone able to allocate many IPs”. In other words, if consensus change (hard fork) decisions were in fact determined by whoever holds the majority of full nodes (like the Bitcoin Core client) people could simply rig the vote by running multiple nodes.

Bitcoin Core have stated they want to keep the 1mb block size to ensure the majority of people can continue to run a full node, however this motive has recently been called into question. As mentioned earlier, Bitcoin Core are funded by Blockstream, an external company. Blockstream have future plans to scale Bitcoin using side chains, which allow transactions to occur on-chain, but settle off-chain. Blockstream intend to sell these side chains to businesses, charging for the hardware required to run them, along with transaction fees, and a fixed monthly fee. It’s not hard to understand how this creates a real and perceived conflict of interest that has resulted in objections from many in the community, on the grounds that Bitcoin Core are keeping the block size smaller to ensure Blockstream can profit. This is a prime example of why Decred decided to ensure that all development is both decentralized and self-funded, by allocating 10% of all block rewards to a stakeholder directed development fund.

As someone who believes that the decision makers for a cryptocurrency should be the users, I agree with Bitcoin Core that it should be the community who decide to hard fork. But despite what I think, or what anyone else thinks, we cannot change the economics of the Bitcoin network.

I don’t agree with a the majority decision made by the PoW mining corporations, what can I do about it?
If you don’t support a decision made by the PoW miners that’s fine, everyone is entitled to their own opinion. But the fact is, unless you want to start mining Bitcoin yourself, that’s all it will ever be — an opinion. Satoshi designed Bitcoin to give the PoW miners sovereignty over the network. If you don’t agree with that, then you agree that Bitcoin’s governance is flawed. If the Bitcoin network splits then you three options:

  1. Continue supporting Satoshi Nakamoto’s ‘Bitcoin’ that will eventually be determined by the chain with the greatest PoW effort invested in it, and accept being ruled by the PoW mining corporations.
  2. Just like those who opted to support the Bitcoin Cash blockchain, you can elect to follow the minority chain if you prefer it’s rules over those made by the majority decision.
  3. If you’re fed up of the endless battling and struggle for power in the Bitcoin ecosystem, you can choose to support a cryptocurrency designed to solve this issue. One that allows users to make the rules via a decentralized on-chain user activated hard fork voting system. You can choose Decred.

Who makes consensus change decisions for Decred, and how?
Early on Company0 realised that the PoW miners held too much decision making power in the Bitcoin network. They knew the only way to solve this issue was to build a new cryptocurrency, with a governance system that gave the ultimate decision-making power to participants who had interests aligned with the users of the network. A cryptocurrency with a formal on-chain voting mechanism to enable decentralized censorship proof decision-making.

Building on the theoretical concepts brought forward by both the Memcoin2 and Proof-of-Activity whitepapers, Company0 decided to rebalance Bitcoins decision-making power by introducing a new hybridised system that added Proof-of-Stake (PoS) voting to the PoW blockchain. The new system continues to incentivise PoW miners to secure the blockchain with 60% of the block reward, but it also incentivises PoS miners (stakeholders) to actively participate in consensus change decisions via on-chain voting with 30% of the block reward. The remaining 10% block reward is allocated to a central development fund owned by stakeholders, to avoid decisions being influenced by funding from an external entity.

Similar to Bitcoins BIP’s, Decred uses a system whereby anyone can submit a Decred Change Proposal (DCP) that describes a potential protocol or consensus change for Decred. However, unlike Bitcoin, where the PoW miners ultimately decide whether or not to implement a BIP that changes the consensus rules, a DCP is proposed to the stakeholders, who then formally vote for or against it via the on-chain PoS voting mechanism.

How do stakeholders make their decision?
To be eligible to make a decision on a DCP that changes Decred’s consensus rules you need to possess a ticket to vote. Tickets can be obtained via the Decrediton wallet for around 70 DCR, but this price varies according to demand. If tickets are in high demand, the price increases, and if they are in low demand, the price decreases. Once you have obtained a ticket you simply set your vote preference in Decredition (as shown below). Your DCR is then locked in PoS until the ticket is randomly chosen to vote, which takes an average of 28 days. However, it can take up to 142 days before your ticket is selected, and there is a 0.5% chance of your ticket expiring and not being drawn at all. Once your ticket has either voted or expired, your locked DCR will then be released back into your wallet, in addition to a PoS reward for participating in the decision-making process. This reward is currently around 1.4 DCR, minus any stake pool fees. The DCP is approved if the vote passes with greater than 75% of stakeholder support. For a more detailed voting guide click here.

How does Decred prevent centralised decision-making?
Decred set out to ensure decentralised decision-making right from the very start. To be certain that inital tickets were widely distributed, 840,000 DCR was air dropped for free to 3,244 community members. In addition, the hybrid PoW/PoS design allocates PoW miners double the block reward of PoS miners. This makes it impossible for any stakeholder to obtain the majority decision making power over the network by buying in early at a low price and staking their coins over a long period. Furthermore, to ensure Decred developers never gain majority decision making power they did not recieve a free air drop, instead they chose to purchase all their DCR, and then they intentionally throttled their staking from the beginning (something which is visible on the blockchain). Moreover, because all staked DCR are locked up out of circulation, this prevents someone from simply purchasing the majority decision-making power on the market.

How does Decred’s governance system ensure stakeholders make good decisions?
Stakeholders are motivated to make a good decision when they vote through the requirement to have ‘skin in the game’. As I mentioned above, to be eligible to vote you need to lock up DCR in a ticket. In turn, this provides a strong incentive to make a decision that seeks to achieve the best possible outcome for the DCR that is ‘at stake’, and that voting power is directly proportional to the amount staked. This also disincentivises malicious decisions, as they would only reduce the value of the staked coins.

In contrast, Bitcoin PoW miners do not need to hold any bitcoin to be eligible to make a consensus change decision. Other than an investment in the resources required to mine bitcoin (which can be sold or used to mine another cryptocurrency), there is nothing to disincentivise a PoW miner from making a poor or malicious decision that results in a loss of value. In fact, PoW miners can use the power to make decisions without short term consequence to their advantage. For example, a PoW miner could intentionally stop signalling their support for a hard fork, in order to break a required agreement threshold. Under most circumstances it is highly likely this action would have a negative impact on the bitcoin price. Therefore, a miner could manipulate the bitcoin price to buy lower, only to increase the price again by reinstating their support for the hard fork.

Nevertheless, this is not the only way Decred ensures that good decisions are made! Because Decred stakeholders make decisions collectively, the governance system also utilizes a phenomenon known as the “wisdom of the crowd”.

There’s evidence to suggest that the aggregated decision of a large group is as good as, and often better than, a decision made by an expert alone. It’s thought that this collective decision-making benefits from a more diverse pool of knowledge, opinions and ideologies — hence the term “wisdom of the crowd”.

While there has been some criticism of crowd-sourced wisdom, with claims that mob behaviour may influence decisions, this is not applicable to Decred’s governance system. Some people have suggested that when a person acts as an anonymous participant in a crowd they can lose individuality, personal responsibility, and judgment — only for it to be replaced by a charismatic leader. However, when Decred stakeholders make their decision, there is no in-person interaction between the crowd — a mob cannot form. Stakeholders make decisions individually, and the decisions are motivated by financial incentives, rather than deindividualisation and converging behaviour in a mob crowd.

In effect, when Decred stakeholders are asked to vote, the decentralised hard fork voting system consults the wisdom of thousands of highly incentivised Decred stakeholders around the world — think of it like a highly intelligent global mind.

What would happen to Decred in a Bitcoin Cash or Segwit2X hard fork scenario?
Firstly, Bitcoins hard fork problem would simply not happen in Decred. There is a formal on-chain voting system to deal with all governance decisions related to hard forks. Secondly, it would be virtually impossible to fork the Decred network in the way we have recently seen with the Bitcoin Cash fork or SegWit2x. This is because all new blocks created by PoW miners need to conform to the wishes of Decred stakeholders (PoS miners). If PoW miners refuse to comply with the collective policy, PoS miners can invalidate any new blocks they create. So, for example, if 80% of stakeholders voted in favour of activating the Lightning Network, and the remaining 20% refused to move over to the new chain that supported Lightning Network features, then the 80% majority could simply vote new blocks on the old chain as invalid, which would strip them of the block reward. In turn, this would incentivise PoW miners to move from the old chain to the new chain, and the old chain would die off.

The only way someone could hard fork Decred against the wishes of stakeholders would be to create an entirely new fork of the blockchain and start it from scratch. In which case, it would not be contentious at all, because it wouldn’t be Decred.

In summary, Decred’s novel on-chain consensus voting mechanism ensures hard forks are done right. The system enables decisions to be made in a timely manner without sacrificing any aspect of decentralisation. In just 3 months Decred stakeholders voted to activate the Lightning Network, and seamlessly move from one set of consensus rules to another. In contrast, Bitcoin has been trying to scale for 3 years.

I believe Decred’s governance system is the crypto holy grail we have all been searching for. It means we can have a truly decentralised cryptocurrency that does not need to be ‘born’ with a feature or use case. A cryptocurrency built on the foundations of decentralised governance enables the best use case of them all — evolution. The ability to evolve will bring multiple use cases to Decred, whereas relatively unchanging systems like Bitcoin will be mainly limited to one use case.

Company0 and Decred developers have done exactly what they set out to achieve — they have created a solution to Bitcoin’s governance crisis and extended the technology of Bitcoin itself. As a result Decred is well on its way to becoming the ultimate cryptocurrency, one with a multitude of features and use cases. The Lightning Network, enhanced privacy, and a Decentralized Autonomous Organisation are all just around the corner. Decred can have, and will have, be the best of everything.

Getting governance right is hard, but our developers have done it. Decred is going to show the world what Bitcoin could have been if it was built on the foundations of decentralized governance. It’s Decreds time to shine!

K. M.