Democratizing Blockchain Forks

Forks can improve blockchain systems, but they should be the result of a consensus-building process involving all users.

You have definitely heard the work fork quite frequently these days. And not only while dining. A fork is a way to change the rules in a blockchain system by doing a software upgrade. There are two types of forks — soft and hard forks. Much has been written about the difference between them, in a sentence:

Soft forks result in backward-compatible rule changes, while hard forks introduce new, incompatible rules.

Why do you even need to know this? Looking at your Facebook feed or any other news outlet dedicated to blockchain technology, you are definitely left with the impression that forks are happening all around and they are dangerous.

We already went through the Bitcoin Cash and Bitcoin Gold hard forks, Ethereum recently hard forked as part of its Byzantium upgrade, we expected the Segwit2x hard fork which was dropped and then had another Bitcoin Cash fork just recently.

For the average user of the good old paper variation of currency, these forks create an additional level of complexity on top of the already very confusing concepts of decentralized cryptocurrencies, miners, wallets and blockchain protocols.

Fork Disruption

What makes forks disruptive for users are:

The opaque and chaotic governance model common to public blockchain systems such as Bitcoin.

common to public blockchain systems such as Bitcoin. The uncomfortable responsibilities related to wallet updates, inability to make transactions at specific times and the need to stay informed about the consequences of forks in general.

related to wallet updates, inability to make transactions at specific times and the need to stay informed about the consequences of forks in general. The inability to directly influence the decision-making process leading to forks unless running a costly validating node (definition below).

But do you really need to worry about all that? Are you really a blockchain user? We will try to define the term “user” and look at his/her rights and responsibilities in a blockchain project.

Blockchain Users and Clients

Anyone using a public blockchain must be associated with a fully validating node on the network.

A full node is a full and up-to-date local copy of the blockchain. It is the interface that allows one to communicate with the system. So, if you have a wallet on your phone or tablet, are you a user? Even more importantly, if you have coins on that wallet — are you an user? Not really. You are allowed to make transactions only because someone else is running a full node for you. You depend on someone else.

The relation between full nodes and the wallets that may connect to them is the classic “hub and spokes” arrangement:

Full Node = User | Wallet = Client / Sub-User

Currently, in Bitcoin & Ethereum only full nodes are users. The people who connect to a third-party node are called SPV clients (clients from here on).

C lients do not have the same rights and responsibilities as users.

One big difference between users and clients is the ability to vote on system upgrades. Yes, we are referring to forks, since they provide a way to introduce changes in a blockchain system. Users can decide to upgrade their full node software or not, effectively voting with a “yes” or “no” to rule changes in the system. Clients, however

depend on the choices of their “full node” masters.

Only Full Nodes are Users. What are Miners Then?

Miners in a blockchain system provide security and settlement functions (verify transactions validity). There are two types of miners:

Miners running their own full nodes. They mine with their own hashing power and/or that of other miners. They may be referred to as pools.

Miners using third-party full nodes. Miners who use their own mining power to mine in pools.

Having in mind the “full node condition” — not all miners are users*. Miners using third-party nodes also own the system’s cryptocurrency/tokens, but are not directly involved in the system’s governance leading to forks. Changing the pool you mine in might sound trivial, but can actually introduce uncertainty related to mining profitability. This could be a serious deterrent to a pool switch.

Dramatization: Switching Mining Pools at Sunset

The points above lead to the logical conclusion that:

One can directly participate in the governance process leading to forks only by running a full node.

Why Should I Run a Full Node?

The lack of financial incentive to run a full node has resulted in a situation in some public blockchains where the number of clients and “pool miners” is much larger than the number of full-nodes.

Running a full node requires hardware, electricity and internet access. As such, there is a financial cost to running a full node and unless you are a mining pool or business, there is no financial incentive to do it. Moreover, running a full node does not entitle the user to a financial reward coming from the network or in the form of transaction fees. “Direct democracy” is turning into “democracy” with the effect that:

Consensus building on forks relies more and more on assumptions about what clients and pool miners want.

Disregarding pool miners, the obvious solution is for more clients to start running full nodes. There are excellent reasons for doing it. Unfortunately, most times philosophy is less persuasive than hard cash. How should we approach this?

Building Consensus

It is obvious that clients owning cryptocurrency have no direct say in a system and cannot directly influence the governance process leading to forks. How is consensus on forks reached then?

Communities around blockchain systems reach consensus on forks in various ways. Here are the two extremes:

Ethereum (“follow the leader”)

In Ethereum, Vitalik Buterin plays the role of “benevolent dictator for life” and together with his trusted advisers illuminates the “right” path for future improvements of the system. Users and miners follow the leader. This approach makes consensus building easier and has resulted in only one contentious hard fork (following the DAO hack). However, it is considered by many as “unenlightened”, business as usual and even dangerous — what will happen if Vitalik disappears? Much like in any classic company, the clients of the product have limited say on future developments. Unlike that same type of company, however, most of these clients are holders of ether. If the leader chooses the wrong path forward, they will suffer financial losses due to a drop of the price of ether.

Bitcoin (“leaderless”)

There are many clients who own bitcoins too. Here, where there is no formal leader, politics are much more complex. Bitcoin Core developers are considered the ones most knowledgeable to move Bitcoin forward technologically, but their intentions are frequently questioned and their vision often considered inadequate.

Clients are at the back of the car mumbling.

When it comes to Bitcoin forks, the most negatively affected participants are clients.

Clients have only indirect influence over forks, but are directly affected them.

Forks create much uncertainty and could even result in financial losses (e.g. opt-in type of “replay protection” as was in Segwit2x).

Fork “Splits”

A fork split is a situation in which a blockchain splits into two — one applying the old rules and one applying the new ones. Both hard and soft forks may result in a split. A fork split is the end-result of:

Lack of consensus between participants (e.g. Ethereum Classic)

Planned launch of a new (usually presented as “better”) vision of a blockchain system (e.g. Bitcoin Cash, Bitcoin Gold, Segwit2x)

For clients, fork splits create questions:

What will happen with my coins after a fork?

Can I spend my coins freely before and after a fork?

My coins are on an exchange, should I move them?

I have two coins now?

The heck is “replay” protection?

Aren’t there too many forks?

Why should I keep up with all that info?

Answering these questions adequately and taking relevant precautions introduce “responsibilities” on the background of limited rights. Having in mind that clients hold cryptocurrency, shouldn’t they be in a better position when it comes to the governance of a blockchain system?

#occupypow

Proof-of-Stake for Governance

In leaderless blockchain systems, clients owning cryptocurrency are often referred to as the “silent majority”. Their number is much larger than that of users (wallets VS full nodes) and their stake in the system is most probably larger too (an educated assumption!).

In classic financial terms, clients are preferred shareholders with no voting power (in this case ->preferred = nonvoting).

Blockchains are said to disrupt governance models and yet, the economic reality of many implementations (even Bitcoin) impede large token/cryptocurrency holders from having a direct say regarding the contents of future forks. Enter Proof-of-Stake (PoS).

PoS blockchains allow clients in a blockchain system to directly influence the contents of the next block and/or vote on future forks.

One project that implements a PoS system is Decred. The PoS consensus building is implemented on top of Proof-of-Work to provide clients with the ability to vote on forks.

Another blockchain project that tries to address the issue of clients’ rights is NEM. The developers behind it went a bit further from a PoS system where “coins = votes” by introducing the Proof-of-Importance (PoI) consensus mechanism. In PoI client’s importance is determined by the number of transactions they have initiated and the number of coins they have.

Even Ethereum has plans to move to a PoS system. However, the primary reasons for that are not related to governance model issues (since with Vitalik at the helm such are non-existent). Unlike Decred but similarly to NEM, Ethereum wants to become a full PoS system and entirely eliminate the miners group (remove Proof-of-Work) from the blockchain economy. This will have serious implications on the “game theoretical” assumptions and power balance in the system. Only time will tell what the effects of this metamorphosis will be.

At æternity:

We have a better governance solution for clients.

æternity: Hybrid PoW and PoS Approach

Van Halen “got it” back in 1978

At æternity we believe the decision-making process for a blockchain protocol upgrade or change (fork) is not well-defined, lacks transparency and uses legacy mediums, like forums, discussion websites or even requires sometimes physical meetups to reach consensus. It is neither decentralized nor done on the blockchain. At the same time, we do not believe that removing PoW entirely is a good idea.

We favor a hybrid consensus building approach and æternity’s governance system is part of it.

We want to make it easier for clients owning cryptocurrency to participate in the fork decision-making process by voting with their AE wealth. We want them to directly influence the consensus building process and help set fundamental system values such as:

Blocksize.

Fees to ask an oracle.

How often blocks are produced.

By applying PoS for on-chain voting and introducing an innovative PoW mechanism (Cuckoo Cycle), we aim to make æternity as decentralized as possible, while at the same time improve governance.

Furthermore, using prediction markets, clients can additionally express their opinion on future events using their AE wealth. Markets could be created for assessing the community’s attitude towards a future hardfork or an oracle answer.

On-chain voting in combination with prediction markets could be the solution to public blockchain governance and allow for a novel way of organizing society and global economic interactions.

Expect more details on æternity’s hybrid consensus mechanism soon. Read the new draft whitepaper at GitHub and have a look at the Wiki page.

Interested in æternity? Get in touch:

GitHub | Reddit | Telegram | Twitter | Facebook | Mail

*For the sake of clarity — miners are users, but users are not always miners.