How transactions might be censored after Ethereum changes next month
Ethereum watchers now fret that, when the blockchain upgrades next month, there's more danger that some of its operators will start censoring transactions based on the rules made by nation-states.
Why it matters: It has been argued that the only real value of blockchains is the fact that they offer censorship resistance. Without that, it could be argued, they are just very cumbersome, expensive databases.
- "I think censorship resistance is the highest goal of Ethereum and the blockchain space in general. If we compromise on that, there's not much else to do," Marius van der Wijden, an Ethereum developer working on the Go Ethereum client said during the Aug. 18 core devs call.
Driving the news: After the U.S. Treasury sanctioned the decentralized application Tornado Cash, other projects began voluntarily extending the sanctions, though there are no reports that the U.S. government has asked them to do so directly.
- That said, one prominent crypto attorney, Marc Boiron, has explained why it behooves projects, in terms of staying on the right side of the law, to comply proactively.
How it works: When Ethereum executes The Merge on approximately Sept. 15, it will shift to a proof-of-stake system. In that one, organizations can earn yield securing the blockchain as validators.
- In such a system, every validator will have to post at least 32 ETH and agree to run a few pieces of code continuously.
- In proof-of-stake, there's a block every 12 seconds, and one validator gets randomly chosen to select transactions that Ethereum users have made to include in that block (transactions haven't happened till they go on chain in a block).
- A committee of other validators will also be randomly chosen to "attest" to this block, basically saying "this all looks right." One would expect, most of the time, the vote would be 100%.
The intrigue: This two-step process might make proof-of-stake more prone to censorship than the old system, because there are two ways censoring validators could reject transactions.
- Under proof-of-work (the way Ethereum works now), each block was really just validated by one entity and then the entire network — as everyone agreed that that block was the one to build the next block atop.
So, if a validator wanted to censor sanctioned addresses, it could simply refuse to include any transactions from a sanctioned address or smart contract in the block when that validator is randomly chosen to write it.
- Transactions get broadcast to the network and loaded into what's called "the mempool." It isn't unusual for transactions not to get included in the next block after it's posted. Transactions just wait when they aren't selected.
- So some validators excluding sanctioned addresses wouldn't really matter (much) because the transactions one validator skipped another could include in the next block, as Tim Beiko, Ethereum's core developers coordinator explained in a Twitter thread.
The intrigue: To a bystander, it would seem like validators could just stop here, but that might not happen.
But, what if validators also refused to attest? In other words, a validator said they would not — when chosen to serve on the attestation committee — validate any block that included a sanctioned transaction?
- In a blog post from Bitmex, it explains this could cause chaos on the chain or it could lead to censors earning such hefty fines they just leave the network.
- It would still take multiple validators acting in concert to invalidate a block at this level, but if validators feared the U.S. government more than the Ethereum community, it could happen.
- Coinbase is expected to run one of the very largest validators. CEO Brian Armstrong has said that his company would probably just get out of the staking business if it believed it had to censor.
Going to the attestation level of censorship would require custom software. Beiko, citing Ethereum founder Vitalik Buterin, said that such software isn't being built as far as the core team knows — yet.
The bottom line: Michah Zoltu, a prominent developer in the Ethereum community, pointed out on the last Ethereum core call and on the forums that the community can punish bad actors. He's pushing Ethereum developers to write code to punish validators that try to censor now.
- He said, "Ultimately, I think we really do need to make a very strong credible threat that is public and well known to the community that the core devs are going to be on the side of the not censoring chain."