I find it interesting and partly amusing to see two fractions in the cryptosphere arguing over whether a “white” hard fork like the one Ethereum employed to reverse the famous DAO hack, is a positive or a negative for crypto in general. Opinions seem to be very strong on this matter, especially in light of the recent parity hack and would like to add mine to the chorus.
A brief overview
A few things should be explained beforehand:
- A hard fork, as a basic idea, is a change in code that governs a blockchain, sometimes resulting in two chains if the change is not accepted by all participants
- The DAO was one of the earliest ICOs and was designed to be a “Decentralized Autonomous Organization” where people would provide funding via an ICO and could then vote (via DAO token) who would receive the funding. Projects would compete for this funding
- Due to an issue in the code of the DAO’s smart contract, an attacker managed to drain the DAO smart contract of the Ether contributed in the ICO and thereby steal the money
- In the aftermath a division of crypto enthusiasts appeared, where one group argued that “Code is law” and if you poorly design a smart contract and someone else manages to take advantage of you, then you are fair game. They would also say that a hard fork to reverse the hack would impair the immutability of the blockchain and should therefore never occur. This group later split off with a fork of their own, creating Ethereum Classic (a parallel world where the hack still took place) and without generalizing too much, people in this group often belong to a part of the crypto community that is extremely hostile towards anything driven by the Ethereum foundation and criticize any and all centralization in an almost radical manner. I will call this group the “purists”. The other group that formed was spearheaded by the Ethereum foundation and argued that the hard fork should be enacted in order to reverse the unlawful “theft” of Ether. I will call this group the “contemplatives”.
- I describe as a “white” hard fork such a hard fork that is enacted by consensus (ie a majority of the participating nodes upgrades to the new code) and designed to “right a wrong”
A “white” hard fork in context of today’s society
Quite frankly, to me the arguments by the “purists” do not make much sense. Let me list the major points and my issue with them:
- “Code is law”: This argument basically goes along the lines of “if you wrote a stupid contract and still signed it that is your own mistake”. My issue here is that in an illuminated society we write contracts as well. These contracts however, sometimes literally say something that needs interpretation or much more importantly they sometimes literally lead to consequences that were not intended by the parties to the contract. We have realized that it is not always possible to foresee all eventualities that might happen, so that in every jurisdiction I know, the intention of the parties usually supersedes any literal meaning that goes directly against that intention. It is fair to say that neither the people contributing Ether to the DAO smart contract, nor those who came up with the DAO intended their contract to be drained (read: misinterpreted) by a third party so that that funds would end up stolen. How anyone can suggest to build a system that is designed to replace most of our contracts and enable trustless interactions based on not ensuring that the different contracts do not work against both parties intent is beyond me.
- Immutability is lost: The argument here goes something like “if we reverse a hack like the DAO hack, we are in essence showing that transactions on the blockchain are not immutable and irreversible, thereby rendering the entire chain useless”. I get the point of this argument, but it is a bit like saying “contracts often get challenged in courts, therefore written agreements are useless”. I think the truth is a little less “black and white” here and what is really necessary is a method to “right a wrong” that does not generally make any kind of code that was enacted by two parties and is functioning as intended subject to a potential hard fork. The “purists” seem to argue that this is impossible, but I do not think that is true. A hard fork that is accepted by the majority of the network’s nodes is unlikely to violate ethics or intention of a contract. Rather it seems to be a method of jurisdiction that closely resembles democratically validated methods.
- Centralization: This argument basically says that all centralization is negative and given the power of the Ethereum foundation and specifically Vitalik Buterin to sway network opinion, if hard forks are enacted for contracts gone wrong, there is not much difference between a centralized authority taking random decisions or decisions that benefit a unique, small group of people and the respective blockchain. Again, I can relate to this argument, especially since there is a point to be made that today’s political elite in most (though not all) developed democratic societies is doing just that. Yet, I would argue, it’s the best system we have and I would prefer it over a decentralized society which is entirely governed by libertarian thought (no healthcare, no societal safety nets, no rule of law that follows intention rather than literal words. At least I do not believe that a decentralized society where libertarian thought guides everything (no healthcare, no societal safety nets, no rule of law that follows intention rather than literal words) is better. Or to use a very stark example, I am sure we can agree that just because someone signed a contract that would under unforeseen circumstances make him/her an actual slave to the other party or even let the other party kill him/her is not in societies best interest. In this case, not even if this was the intention of either of the parties. After all, there is such a thing as “immoral conduct” or I think it might even be “contra bonos mores” (but I am not a lawyer).
Why the cryptosphere should support “white” hard forks built on consensus, even if consensus is likely to be shaped by opinion leaders
I believe that in order to achieve mass adoption of decentralized blockchains it is important that a few ideas from established, democratically vetted law get carried over:
- It makes zero sense to force through contracts that go against the clearly stated intent of both parties and benefit a third party that is not a part of the contract, just because it ensures immutability on a sinister level. Again I refer to the example above — should a contract in which unintended circumstances or coding mistakes lead to automatic death of one of the parties be carried out because “code is law”? If you say yes to that there is no point in even talking…
- While decentralization is, I agree, extremely important and a quality that we should not lose, there is nothing wrong with enforcing rules via consensus that support basic human ethics. In order for this consensus to work in a mass market setting, people need to be able to easily participate or delegate their decision making explicitly to an institution. The Ethereum foundation is currently playing that role implicitly, which is a problem, but that can be remedied.
- If the cryptosphere does not manage to provide socially acceptable means of mediation then the current crypto assets have little chance to not be supplanted by government sponsored crypto assets as people will feel they are safer with them. I know this point will take a lot of heat from purists, but let’s not forget that most people (maybe not all) in democratic societies believe the system is generally not the worst one.
In summary, I believe that hard forks “righting a wrong” are a good thing. Naturally this triggers the question of “who decides over what is right and wrong?”. Granted, there is a large number of grey-areas where the answer to this question is not clear. In such unclear cases, (arbitrary) hard forks should be ruled out. However, in clear cases, which can be defined as those where all parties to the contract unanimously agree that the contract’s outcome is unintended/undesirable, a hard fork is probably called for. On a side note: Tezos, the project that came under fire for some governance issues earlier this year on the non-technical side, is trying to solve this problem with pre-auditable smart contracts. Interesting to watch how that plays out!