In what has become a typical morning for me, I sat down at my computer, with a cup of coffee, and started reading through some of the articles here on Steemit. I happened across one written by @PSamuelson titled: Immutability and other Myths of cryptocurrency Part 1.
And as I read through it, I found some things that I disagreed with because I believe immutability is, by and large, the single most important feature of a blockchain. More than how the tokens are distributed, or how many there are, or what the blockchain can do, or any of that. If I cannot trust that the blockchain is immutable (unchangeable), then it's a nonstarter.
One caveat to this article: I am talking about public blockchains. When you're talking about a private blockchain, the rules are whatever the collective agrees the rules are. If that includes the ability to do charge-backs or whatever, that's different than a public, decentralized blockchain, such as Bitcoin and Ethereum.
History Lesson on the DAO
When The DAO was hacked, what the attacker essentially did was move the ethereum stored within the smart contract into a child-DAO. By moving it from The DAO to the child-DAO, he (let's assume it's a he) was transferring funds from one place to the next.
A transfer of funds is a transaction. This is an important point that I will return to in a moment.
Recognizing that this had occurred, the Ethereum team first tried to do a soft fork, but recognized that this would be a large attack vector by which someone could DoS the network. Therefore, they opted to do a hard fork.
What this hard fork did was essentially roll back the clock. It removed the stolen ether from the child-DAO and put it into a new DAO, which was programmed to do one thing: distributed 1 ether per 100 DAO.
Now this is significant because what the hard fork absolutely did was change a transaction. The transfer of ETH from The DAO to the child-DAO was a transaction. And by doing this hard fork, it essentially altered the blockchain.
ETH vs. ETC
This hard fork resulted in two chains: Ethereum One (ETH) and Ethereum Classic (ETC).
What's significant is that, to begin with, ETH had the majority of the hashing power, with ETC moving along with about ~5%. This is significant because the ETH chain raced ahead, leaving the much weaker ETC to inch along.
It wasn't until Poloniex opened up the possibility for ETC to be traded that suddenly ETC holders could actually choose. Did they want to stay on ETC? Did they want to go to ETH?
And with that, we saw ETC begin to gain power. Once miners knew that they could generate an income from mining ETC, they had options.
Remember ... Miners are trading work for compensation. Either we pay them or the code pays them for securing the chain. So miners were doing what was in their best interest: generating an income.
However, what became very real was the reality that people were choosing between mutability and immutability. They were choosing between a world where the blockchain could be changed and one where it wouldn't be changed.
Immutability as a Myth
With that, I wanted to touch on a key point. Immutability is not a myth. Bitcoin is immutable. Transactions cannot be changed on Bitcoin unless someone initiates a hard fork to change a transaction.
One of the comments in PSamuelson's piece, posted by , said: " I think that clinging to the immutability ideology is going to doom ETC from the start. All block chains fork. Many have forked to undo and even reverse vulnerabilities."
I think that there is a conflation of meanings here. The problem is not that Ethereum had a hard fork; the problem is that Ethereum had a hard fork to change a transaction.
On the contrary, a hard fork is a perfectly viable way to upgrade the code. It's cleaner than a soft fork and it ensures that everyone is operating on the same software. Steemit has had numerous hard forks and continues to release new ones as it sees fit. So hard forks are a great thing.
And as far as I can understand, ETC is not protesting hard forks. What they are protesting is why the hard fork was initiated. In their opinion, The DAO hacker should have been allowed to have the ether. It sucked that he got it, but that's the world that we live in with cryptocurrency.
So the problem is not that a hard fork happened; it's the why.
To the notion that immutability is a myth. Immutability, so long as there is sufficient proof-of-work to protect the platform, is not a myth. According to some analysis I have seen, it would cost hundreds of millions of dollars to procure enough hardware to even come close to modifying the Bitcoin blockchain through a 51% attack.
And remember ... A 51% attack is an attack. Immutability is a state of the blockchain. Therefore, we have proof-of-work to protect the immutability of a blockchain from a 51% attack.
I don't disagree that young blockchains are at risk, but I do disagree that it means they're not immutable. If they were coded with immutability, they are immutable unless someone forces a fork to change that; or, it's attacked. That's why I actually believe the future is where bitcoin acts as the security layer to other chains vis a vis sidechains. But that's for another time!
Steemit & Immutability
So this is a general question that I have for any of the developers. How can we, as average Steemit members, help to ensure that Steemit stays immutable? I can imagine many would hate to see transactions changed--votes, steem distribution, etc.--so I know many would want to help. Is it through mining? Is it through running a node? Would love some insight!