This is probably poorly written. I just want to put these thoughts in a single collection in case it's helpful and return to work.
The Need For Public Discussion
What we need from Ethereum's leadership and its community is what Vitalik exemplifies when he says:
I recognize that there are very heavy arguments on both sides
Many others, including inside the foundation, find the balance of arguments laying in the other direction; I will not attempt to prevent or discourage them from speaking their minds including in public forums, or even from lobbying miners to resist the soft fork. I steadfastly refuse to villify anyone who is taking the opposite side from me on this particular issue.
That's leadership. Leaders are not dictators. Leaders listen. Leaders influence. And when they act, they typically have the support of their base. What we need now is more of that, and less of "the code is ready, here's the PR, this is what we're doing." Copying what I wrote on reddit:
We have not even begun to fully understand all of the arguments for and against SFs/HFs.
There are numerous different SF proposals on the table, each with a long string of caveats and downsides/upsides that 99% of the people here do not know or understand, just like they did not know or understand the caveats of The DAO.
Listening To Critics and Cynics, But Questioning Them
Many folks are offering great criticism, even if it's not always packaged in a friendly way, and even if they're not always directly on target. Here's an example:
I'm impressed how Ethereum managed to take a compromise of DAO into an opportunity do destroy all of ETH by killing fungibility/etc.
I liked that tweet; it's funny and it raises a valid concern. OTOH, as others point out, it's slightly misleading in its use of the word "fungibility". Fungibility is the concept that the values of tokens are equal, regardless of provenance or ownership. What some are proposing is not a destruction of fungibility, but closer to some form of theft. Either:
- "Steal back and destroy the tokens" (i.e. soft fork to black hole them), or:
- "Steal back the tokens" (i.e. hard fork or soft fork)
The generic blacklist, however, gets closer to potentially destroying fungibility, or at least being the equivalent of today's asset seizure:
--illegal-code-hashesoption for miners to blacklist addresses … & with that, I'm done with Ethereum
This is my biggest problem with one of the two (at least) soft-forks being proposed. The description in the tweet above isn't 100% accurate, but it's close. Regardless of the reality of the implementation, making it any easier at all to censor transactions is a bad idea for a variety of reasons that I might cover in a future post if I have time. Sufficed to say, attempts at even "decentralized censorship" on blockchains do not make sense and are far more likely to compromise the utility of the entire blockchain, than to provide any meaningful utility themselves.
parity merged this 24+ hours ago. IMO they’re both equally bad, esp. as nobody really noticed the merge in parity
That there was no real discussion over the merging of a soft-fork into Parity, and that few seemed to notice, is a strong indicator that a project's development is centralized. Vitalik slipped up here, IMO, when he said:
Miners also have a choice in this regard in the pro-fork direction: ethcore's Parity client has implemented a pull request for the soft fork already, and miners are free to download and run it. We need more client diversity in any case; that is how we secure the network's ongoing decentralization, not by means of a centralized individual or company or foundation unilaterally deciding to adhere or not adhere to particular political principles.
This is not a real choice for two reasons:
- Most people who understand Ethereum, also understand that Parity is the direction Ethereum as a whole is headed in. It has a strong chance of replacing Geth as the node of choice.
- The only other competitor it has is the current client-of-choice: Geth, and both Parity and Geth appear to be moving in the Soft Fork direction.
If your future hotness flagship node is moving to Soft Fork by default (without clear consensus), and your current node appears to be heading toward generic blacklist, you are not giving people much of a choice. Gavin's offer, of letting people use the
--assist-dao-attack flag with Parity, is more of an insult than a real choice that allows users or miners to express their real thoughts.
There Are Various Other Considerations
For example, Alex Amsel points out (and I do not know if he's correct):
A loss of even the current amount, $50m (at one point), is easily enough for the SEC et al to clamp down permanently on all tokens and crowd sales. That would affect all ethereum holders, traders, investors, miners and the wider ecosystem, including Bitcoin (and yes, the same would have happened on a Rootstock). Conversely, ‘no one lost anything, try better next time’ is neither news worthy nor problematic (or at least less so, there may still be implications).
The leaked ether is in a child DAO at https://etherchain.org/account/0x304a554a310c7e546dfe434669c62820b7d83490; even if no action is taken, the attacker will not be able to withdraw any ether at least for another ~27 days (the creation window for the child DAO).
If the community is on the fence and decides more time is needed, Ethereum can buy itself that time by creating a soft-fork with a hard coded extension to give some breathing room.
My Hope: That Ethereum Does Not Rush And Repeat The DAO's Mistake
- Rush this decision more than is necessary.
- Make unilateral decisions without inviting public dialog & consensus making first.
- Ignore critics.
- Do anything along the lines of a generic censorship mechanism.
- Repeat the mistakes of The DAO by not giving sufficient time to really think this through.
- Communicate what's going on better.
- Help everyone make a wise and informed decision.