To fork or not to fork — that is the question.

So, what the f*ck happened here?

  • The widely covered and lauded Ethereum smart contract known as The DAO, which raised USD equivalent amounts of over $150 million in ETH was hacked.
  • The hacker identified and exploited a vulnerability in The DAO that allowed them to repeatedly drain it of ETH into a child DAO.
  • According to Vitalik himself:
  • In total, the hacker ran away with 3,641,694 ETH (US ~$51mm at time of writing). Hacker contract link is here
  • Due to the nature of the contract code, it is locked away for 27 days.
  • This leaves the community 27 days to discuss what to do about said contract.

The Options:

Incredibly important point to keep in mind: any fork of the system would require consensus from miners. It cannot be forced onto the network.

Soft-fork

  • A soft-fork will make any transaction that makes any call to the DAO and children invalid from a specific block onwards, preventing the ether from being withdrawn by the attacked past the 27-day window.
  • It would have No Rollback — no transactions or blocks will be ‘reversed’
  • Freezes the attacker’s account, and buys the community additional time past the 27-day window to figure out what to do about it.
  • Upside: more time to debate.
  • Downside: more time to debate.

Hard fork

  • Details are light, but the hard fork would essentially refund most, if not all of the stolen ETH by moving the DAO and its children into a new contract where owners can simply withdraw their ETH.
  • DAO token holder get their ETH back
  • Potential slippery slope: the integrity of the system is compromised by subjective consensus, not objective code.

No Fork

  • The community doesn’t fork, and tries everything possible to recover the funds within 27 days.
  • Most likely that the ~$50mm USD will be lost forever in the hands of an unknown hacker
  • System is known for its emotionless integrity, serves as a tough lesson in smart contracts and cryptocurrency in general.

What I think could happen:

Let’s not forget that there is already a difficulty bomb built into the current version of the code that will force a hard-fork. It was initially intended to bring about the transition to the Proof-Of-Stake consensus mechanism.

  • ETH-VERSION-FOR-HARD-FORK.zip
  • ETH-VERSION-AGAINST-HARD-FORK.zip

Let’s keep it civil

The Ethereum community up until this point has established itself as an incredibly welcoming and open minded group of people working towards a common goal. The r/ethereum subreddit is uncharacteristically kind and informative and it’s been a reason for such high developer engagement and adoption. Let’s keep our heads and live up to that as we deal with this, we’ll all be better for it.

--

--

Cofounder of Zora

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store