The Hard Fork: What's About to Happen to Ethereum and The DAO

in #hard8 years ago


Last month, an unknown attacker drained tens of millions of dollars worth of the digital currency ether from The DAO, an ethereum-based smart contract aimed at functioning as a funding vehicle for projects in the ecosystem. The incident sparked an effort to effectively roll back the clock and undo much of the damage, a process that comes to a head this week as network-wide changes are set to be rolled out.

For weeks, the impact has been largely confined to the pages of social media and, for developers, within the workspaces and private chats of those most closely involved with the so-called ‘hard fork’ effort. Now, however, with code for the changes completed and merged with major wallet implementations, that’s about to change.

Major exchanges that offer trading services for ether have announced their plans to support the fork in the past few days. Generally speaking, the plan is to support the strongest blockchain, which will be determined by how much hashing power it draws from ethereum’s distributed network of miners.

So far, digital currency exchanges Poloniex and Kraken (which comprise more than 50% of ether trading volumes) have both said they plan to briefly suspend deposits and withdrawals prior to the fork activation.

Miners, signs indicate, have largely moved to adopt the hard fork measures, with major pool operators looking to their members to assess support for the plan, even if reluctantly.

The stakes on the outcome of the vote are high. If the hard fork fails to be implemented, many early adopters of ethereum who purchased DAO tokens meant to give them voting rights in the new organization will be out $60m worth of the cryptocurrency, increasing concerns about potential regulatory involvement.

On the other hand, if the hard fork is implemented, the ethereum blockchain, which is supposed to be an unchangeable record of all transactions, will no longer be seen as immutable. In sense, code may no longer be law.

How we got here

For those who may be unfamiliar with The DAO, here’s a quick recap of the story so far.

Launched in April, The DAO was designed as a series of contracts that would raise funds for ethereum-based projects and disperse them based on the votes of members. An initial token offering was conducted, exchanging ethers for "DAO tokens" that would allow stakeholders to vote on proposals, including ones to grant funding to a particular project.

That token offering raised more than $150m worth of ether at then-current prices, distributing over 1bn DAO tokens.

Just over a month ago, however, news broke that a flaw in The DAO’s smart contract had been exploited, allowing the removal of more than 3m ethers.

Subsequent exploitations allowed for more funds to be removed, which ultimately triggered a ‘white hat’ effort by token-holders to secure the remaining funds. That, in turn, triggered reprisals from others seeking to exploit the same flaw.

An effort to blacklist certain addresses tied to The DAO attackers was also stymied mid-rollout after researchers identified a security vulnerability, thus forcing the hard fork option.

How the fork works

Much has been said about the ethereum hardfork and the idea that it constitutes a "rollback" of the network. While not necessarily false, the specifics of the hard fork proposal on the table are a bit more complicated – here’s how.

The proposal doesn’t exactly unwind the network’s transaction history. Rather, it relocates the funds tied to The DAO to a new smart contract with the single purpose of letting the original owners withdrawal them.

According to a recent blog post explaining the move, DAO token holders will be able to withdraw ETH at a rate of 1 ETH to 100 DAO.

The extra balance and any ether that remains as a result of the re-entrancy exploit and the splitting mechanism will be withdrawn and distributed by the DAO curators, or individuals selected prior to the collapse of The DAO to provide "failsafe protection" for the organization.

As part of an effort to help ensure the hard fork doesn't also include new vulnerabilities, ethereum co-founder Jeff Wilcke also announced a bounty program for those who test the hard fork code. Coders earned rewards based on vulnerabilities they discovered in the code.

Miners make their pitch

By Friday, major mining pools in the ethereum network had begun to open up voluntary voting to gauge their contributors' interests on how to handle the hard fork. Pools measured sentiment by way of hashrate, rather than individual miner accounts.

Though support by the miners does seem to swing toward the hard fork, low turnout has opened the door to criticism that the vote wasn’t representative of the entire network. At least one large mining pool said it would only begrudgingly honor the fork.

Pools like Dwarfpool, which possesses about a quarter of the network’s total hashing power, held a vote in which a majority of participants indicated their support. However, less than 7% of Dwarfpool’s hashrate was accounted for in the vote.

Fourteen percent of Ethermine’s hashrate voted in a similar poll, with a clear majority of those taking part voicing support. 23% of Ethpool’s mining power voted, with a slim majority moving against the hard fork.

Other miners, including F2Pool, which operates a major bitcoin mining pool, suggested a degree of apprehension about the hard fork plan but indicated that it would likely support it.

The pool said in a statement:

"We are as a matter of principle against unduly rushed or controversial hard forks irrespective of the team proposing and we will not run such code on production systems nor mine any block from that hard-fork. I believe this is universal and it could be applied to ethereum, too. I fail to see why we must take such a controversial and risky hard fork. We are not willing to deploy this hard fork unless we have to."

Exchanges make their own plans

The fork is scheduled to kick in at block 1,920,000, estimated to take place sometime around 21st July, which will limit the amount of time ether exchanges like Poloniex, Bitfinex and Kraken have to implement their plans.

In a blog post, Poloniex said it will temporarily disable deposits and withdrawals for an unspecified length of time leading up to the migration process.

"Once the network is stable and the migration is complete, we will enable deposits and withdrawals," the post said.

In an email Friday, Kraken said it intends to disable withdrawals on 19th July, approximately one hour before the hard fork activates. Trading will function as normal during the fork and all ether on Kraken after the fork will be tokens of the chain with the most number of miners working on it.

Earlier reports that withdrawals will also be closed for one hour after the hard fork are untrue, according to a representative of Kraken speaking to CoinDesk.

From the email:

"ETH deposits and withdrawals will be enabled again once the winning chain has become clearly evident. We expect the hard fork process to be smooth and quick, but there is no certainty of this."

In its statement, Bitfinex largely echoed Poloniex and Kraken, declaring its intention to support the strongest change.

The exchange said in a blog post:

"We will re-enable deposits and withdrawals when we are confident that the longest valid chain has been clearly decided. During this time exchange trading, margin trading, and margin funding will all continue to operate as usual."