The past week has been a very busy time for all of us in the Ethereum ecosystem. DAOs have shown that writing smart contracts requires much more effort than originally expected. Moreover, reaching agreement on a problem of this scale requires a surprising amount of debate.
Everyone in our community has been very proactive and proactive about their opinions on how the problem should be solved or if there is a problem that should be solved in the first place. Many have suggested an immediate hard fork, but the implications of such a move are not yet fully understood. Another proposal was to create a soft fork that would allow miners to temporarily hold certain transactions to recover their funds without taking any intrusive action against the Ethereum protocol itself.
Since there is no clear, best course of action that will satisfy all community members equally, we have decided to give the people who run Ethereum the power to decide whether to support this decision or not.
For this we have launched: Geth version 1.4.8 (codenamed “DAO Wars”) is a small patch release intended to give the community a voice in deciding whether to temporarily suspend the release of funds for TheDAO v1.0. If the community decides to freeze funds, only a few accounts on the whitelist will be able to retrieve the blocked funds and return them to their previous owners. A similar mechanism is provided as follows: Parity version 1.2.0 do.
Note: If the soft fork passes, all DAOs will be blocked from releasing funds, not just those that the community deems under attack. This is obviously undesirable for any legally partitioned DAO. Therefore, if the community votes to enact a soft fork, we propose a follow-up patch to the soft fork that whitelists all split DAOs according to the intent of the enacted soft fork.
How to use this release?
Miners who support the DAO soft fork can get started as follows: Geth 1.4.8 with –dao-softfork. This will lower the block gas limit by one million until a decision block is reached. 1800000 We’ve reached (about 6 days from now). If the gas limit for this block is below 4M, a soft fork will take effect and miners (who update everything) will start blocking DAO transactions that release funds.
Miners that do not support DAO soft forks can run Geth normally without any additional arguments. They will try to maintain the block gas limit at its current 4.7 million. If the gas limit of a critical block exceeds 4M, the soft fork will be rejected (any updates) and miners will accept a DAO transaction that releases the funds.
Note: All clients that update agree to the results of the vote and follow that decision. Once the soft fork vote passes, miners who oppose it also begin blocking transactions. On the other hand, if a soft fork is rejected, miners who vote for it will accept all transactions.
What happens if I don’t update?
By definition, miners who do not update will vote against the soft fork as they will continue with the current logic of keeping the gas limit above the voting threshold. If the majority accepts the soft fork, miners who do not update will still accept blocked transactions. In this case, miners who do not update will either split their Ethereum network from the majority or forfeit all blocks they have mined (since most will not accept this, ignoring minority blocks).
Do non-miners (nodes, wallets, Mist, etc.) need to update too?
From a non-miner’s perspective, this update has little relevance. The voting results are all equally valid from the perspective of the regular nodes, so the regular nodes accept what the heavier chain miners decide without having to know anything about the soft fork mechanism or outcome.
epilogue
this release avatar soft fork. Soft forks are fully compatible with all protocol rules and require only the consensus of a majority of miners to be enacted. This is temporary and may be removed/modified at any time by agreement of the miners. Does not violate any protocol rules. Does not rollback executed transactions/blocks. No changes are made to the state of the blockchain other than the original protocol functionality.
NOTE: This release does not indicate consent to a network hard fork. This is a means of giving people more time to come up with the best solutions.