Hardfork: the tale of the full node referendum

Hardfork: the tale of the full node referendum

In this post I will outline my opinions on hardforks and what they mean to the community and you. There is a lot of misinformation and scaremongering surrounding hardforks and I hope this post can serve as an explanation for both newcomers and cryptopunks.


fork


What is a hardfork?

Simply, a hardfork is a change to the underlying protocol that causes previously invalid transactions to become valid. This causes non-upgraded users to be unable to validate transactions forcing them to either change their software or "fork" off from the current blockchain. For blockchains and their ultimate goal of consensus and decentralization, hardforks present a challenge. Making important changes to the software that would cause a hardfork is tricky business. It requires everyone in the network to agree that the changes really are important, something that historically has not been easy, especially when the changes potentially alter the economics of the blockchain.
What a hardfork really embodies is choice. This line encompasses the theme of this story; despite all the chaos that a hardfork can cause if it is controversial, the ultimate result is user choice.

If you want to read more about hardforks, the Bitcoin Wiki has a great description here.

softfork dangers

The alternative to a hardfork is what is known as a softfork, where previously valid transactions are made invalid. In my opinion, this is much more dangerous than a hardfork. Softforks can be useful, with Bitcoin's P2SH - Pay-to-Script-Hash function being implemented this way. However, proposed softforks can be very dangerous like the SegWit Softfork which proposes many features that are undeniably very useful and important. SegWit however, was implemented as a softfork resulting in many underlying dangers. Reddit user /u/ForkWarOfAttrition's comment describes well the dangers of SegWit as a softfork and how a hardfork would allow all the amazing features of SegWit to be used.

In order to implement SegWit as a softfork, the anyone-can-spend transaction type needed to be repurposed as a SegWit transaction type. This was necessary since a SegWit soft-fork transaction must be still be seen as valid by a non-SegWit wallet/node.
If 51% of miners agree that SegWit should be deactivated (for whatever reason), then SegWit can be deactivated. This means that SegWit transactions change back into anyone-can-spend transactions. All BTC stored inside of a SegWit address will be spendable by anyone. Miners will obviously have first dibs on these so they will reap all of the plunder. This means that not only do miners have the ability to deactivate SegWit, but they also have the incentive. This is a very dangerous combination.
Had SegWit been implemented as a hard-fork, then this transaction type would not have been re-purposed. A new transaction type would have effectively been created for SegWit instead that has all of the wonderful benefits of SegWit (no transaction malleability, Schnorr signatures, linear sighash scaling, etc.).
I think all of the benefits SegWit has are amazing, but it's simply not worth the risk for many people to use.

I think softforks should be avoided at all costs as they take away from the ability for everyone to run the code they choose. A softfork allows for network participants to declare new rules of concencus without you and render your software unable to validate blocks.

If you want to learn more about the criticisms of softforks and in particular the issues with SegWit on Bitcoin, this reddit thread is worth your read. Yes, it is /r/btc.

the Ethereum hardfork

When it comes to hardforks, you are most likely to be familiar with the 2016 hardfork of Ethereum. This will not be a chronology of the events that took place leading up to the hack or the resulting network fork as there are many write ups for that which you should read and form your own assessment of.

In short, the Ethereum network forked after a hacker was able to drain millions of dollars from a contract built on top of Ethereum. The community was split over the merits of allowing the attacker to keep the funds or to alter consensus with a fork, freezing the funds. In the end, the majority of the community settled around freezing the funds and improving the protocol so that similar attacks are more difficult. Others in the community disagreed with this action on their principles and continued using the chain with the attacker's funds unfrozen.

The moral of this story is the hardfork gave users choice. Although the fork resulted in a smaller community of "Ethereum Classic" with a tenth of the market cap, this community was not censored with a softfork (despite the attempt). Their ability to hardfork represents the ability of choice in a decentralised network. The majority of the community did choose to freeze the funds, in my assessment, this is what the essence of social consensus is meant to be in a decentralised world. Code might be law, but we humans still have the ability to form consensus too.

The whole point here is choice, if you believe in what Ethereum Classic stands for then you are welcome to transact with that version of history (even if that history might not be worth much later).

Full Node Referendum

What this all boils down to is a new terminology, a new way of thinking about hardforks. Inspired by discussions on /r/btc, this language makes it clear what a hard fork really is: a full node referendum.

A full node referendum represents the explicit process where consensus can openly propagate a change. It does so whilst giving every user the choice to vote for or against the change. This ability for social consensus is an important facet of decentralized blockchains. A softfork distracts away from this social consensus by removing your ability to vote; the network will simply ignore your software, continuing on while you are unable to validate.

In a full node referendum, it is ultimately up to you to choose to participate in the referendum. The referendum is transparent, open and hopefully useful, but in the end it is ultimately up to you to choose to participate. If the social referendum is controversial, users are able to follow their principals as per Ethereum Classic. It is important that we avoid softforks or other protocol changes that could endanger the explicit choice of a full node referendum.


I personally like hardforks. Particularly, I like the fact that they give users a measure of control, requiring them to opt in to protocol changes. Sure, they can be a little more chaotic if they're controversial, but that's the price of freedom.
-Vitalik Buterin

Moving away from that do you think that having a community who are happy to hard fork their way out of trouble at any obstacle might prove cumbersome if there was another big event such as a big theft, unethical / illegal contract or simply targeted at harming some people the community did not like.

Even if the community is happy about it, hard forking is still hard, and I think people underestimate how difficult it is to hard fork away a hostile set of users or application in practice, especially if the application is actually trying to dodge you. The users can just keep jumping between accounts and contracts and evade forks forever. So I don’t expect it to become a popular ongoing instrument of delivering justice in the long term. Also, Ethereum is highly multijurisdictional, so government attacks on it are quite hard indeed.
-Vitalik Buterin

I feel that these quotes from Vitalik, the co-founder of Ethereum do an excellent job explaining the and value of hardforks. Moving forward, there will be more hardforks (Ethereum has several planned this year), but we must learn to view these events under the new light of full node referendums and enjoy our freedom.

-Stay decenteralized
Kyle


segwit - it is a block size increase

Sort:  

speaking about hardforks, softforks... I do not like that fact, that only miners in bitcoin can vote. I prefer Delegated Proof of Stake voting, where every shareholder can vote, and even if you do not have a lot of shares... but a lot of people want to delegate own votes to you, you still can have a lot of impact on the network.

Miners are stakeholders; as long as everyone can mine, it is still a good metric for economic stake.
Follow up here:
https://steemit.com/ethereum/@kyle.anderson/why-consensus-the-tale-of-two-ethereums-an-opinion-on-ethereum-and-ethereum-classic

What an excellent exposé of what hardforks are, thank you as I was unaware of the full extent of the matter. The education provided really brings about a much wider understanding of the lingo used on platforms such as this one, or coder/programmer sites.

The choice for your poster at the bottom of the page is brilliant too! Great job, upvoted and resteemed.

All for one and one for all! Namaste :)

I do like me a little propaganda giggles.
That is exactly what blockstream is doing pushing their SegWit as a solution to the block size problem. Yes we need segregation of witness data but what they are doing is propaganda.

I was making 300 SP per day before the fork. Now I am nearly complete on my power down. Less inflation but the price is exactly where it was before the talk of a hard fork.

Liquid inflation actually increased massively after the hardfork due to the power down change. Liquid supply has doubled in two months. It is normalizing pretty quickly though.

It is normalizing pretty quickly though.

Yeah, but we still have the three-month mark (when the steemit-inc types startpowering down) to deal with. So i would expect it to unnormalize pretty quickly.

I could see the economy approaching a somewhat normal state, where liquid inflation rates are commensurate with actual inflation, somewhere around june/july (lol maybe in time for another july spike)

I was making 300 SP per day before the fork.

and how much you were loosing everyday because of inflation?

Now I am nearly complete on my power down.

So I believe, you should be happy, that you didn't have to wait 2 years to do that :)

Less inflation but the price is exactly where it was before the talk of a hard fork.

Correct, but right STEEM is mostly only in hands of people, which want to hold it :)

I am talking here less about the steem hardforks but what exactly is your point about the price?

Followed

I remember you posting about my Jaxx wallet post and I read your work and I am seeing you make some good tech stuff posts, things I need to learn more about.

You live in the area where Steemit was created I see. Do you ever run into @ned or @dantheman someplace out having a pizza?

I posted tonite again about Bitcoin friendly appointee Mick Mulvaney being finally named your Budget Chief. - Have a good weekend

LOL

There is plenty more to come, stay tuned for more of my cryptocurrency series. I think Monero will be next.

I really need to get into contact with ned or dan, I know their offices are here in Blacksburg but I have to muscle up the courage to find them and try and chat. I know I should.

As for Mick, yay BTC but I have other problems haha

If you had 99 Bitcoins, the problems would be none lol

Have a nice week my man.

Thanks for the story! Seems it was so long ago...

Thanks for the education on these terms. I'm new to Steemit and appreciate it. Steem on brother.

The (y) is probably an emoticon of a thumbs up.

https://www.quora.com/What-does-the-y-smiley-mean

Coin Marketplace

STEEM 0.17
TRX 0.12
JST 0.027
BTC 61555.74
ETH 2980.33
USDT 1.00
SBD 2.51