If you want more cryptocurrency analysis, including full-length research reports, trading signals, and social media sentiment analysis, use the code "Publish0x" when subscribing to CryptoEQ.io to make your first month of CryptoEQ just $10! Or simply click the button above!
In the wake of the Tornado Cash sanctions, some Ethereum dapps have begun censoring/blocking certain Ethereum addresses from using their front-end UI. Aave is one such case. However, as the tweet below demonstrates, they are not and do not intend to engage in actual protocol-level censorship.
Even so, this sort of behavior has many wondering about Ethereum at its core consensus level and potential censorship. So, let's talk about Ethereum consensus and decentralization...
Voting System and Influential Players
Ethereum’s governance mechanism is one of its more polarizing characteristics. The community is led by prominent developers, chief among them being creator Vitalik Buterin. Overall, consensus follows an off-chain model similar to Bitcoin since there is no direct on-chain voting baked into the protocol.
Similar to how Bitcoin full nodes maintain the integrity of miners by ensuring they produce valid blocks that comply with the state transition function, Ethereum full nodes maintain the integrity of validators by ensuring they produce valid blocks that conform to the rules of the protocol. A single honest, complete node cannot be tricked by a supermajority of fraudulent validators.
Consensus mechanisms like PoS are a method for determining how new transactions are added to the blockchain and do not possess the ability to unilaterally coerce the blockchain state. Ethereum does not have on-chain governance. The state transition rules are contained inside the protocol and cannot be altered unless the rules are changed (hard forks). Even with a supermajority, neither miners nor stakers can violate these criteria as long as others run their own nodes on the network to verify honest state transitions.
The lead developers have the most influence in the governance structure of Ethereum and are primarily responsible for making decisions as to the future direction of the network. This is a divisive aspect of Ethereum, depending on your outlook. To some, it is an unavoidable consequence that a relative few hold a disproportionate amount of influence in the direction of Ethereum since only a handful of people in the world are knowledgeable enough to make an informed decision on certain hyper-technical matters.
Ethereum network specifications run through and maintained by the EVM are high-level rules which dictate things like how miners broadcast blocks, block rewards, and how transactions are sent to the mempool. They provide standards to ensure that the rules defined in the Ethereum protocol are properly followed and that the code executes as intended without intermediaries.
For anyone to participate in the Ethereum network, they need to run node software or a client. This allows users to interact within the Ethereum ecosystem within the rules laid out by the protocol. Essentially, Ethereum serves as the back-end infrastructure for crypto applications, not unlike "front-end" and "back-end" web architecture today.
All else equal, having more nodes is good for decentralization, but sometimes, running a node is too technical, expensive, or burdensome for the average user. Archive node store all the blockchain data from genesis and forms an archive of historical states (who owns what at a certain point in the past). This is only necessary if a user/entity needs to query something such as an account balance at block 4,000,000, making it necessary for only services such as block explorers, chain analytics firms, wallets, etc. Because of this structure, archive nodes contain terabytes of data, making them less appealing to normal users due to the hardware requirements and storage costs needed to run one.
Any synchronization option other than archive will result in the deletion of blockchain data. This indicates that there is no archive of all prior states, but the entire node can generate them on demand.
Full nodes store the full blockchain data (although periodically pruned) and help verify the blocks that are getting added to the blockchain. Full nodes also provide proofs that show that past transactions are valid.
Light nodes just store the much smaller ‘proofs’ of past transactions. These light nodes help more people participate in the network since they store less stuff and are cheaper to run. An archive node store everything that the full nodes keep and more. These require the most computing space to run and maintain and are really only necessary for analytics tools, wallet providers, and Ethereum infrastructure projects.
Unlike Bitcoin, Ethereum does not have just one software client but 4-5 different ones. The most popular one is Geth, but other ones like OpenEthereum, Besu or Nethermind are also options. Ethereum’s success in maximizing uptime and network reliability, unlike outages experienced in Solana, Polygon, and others, is thanks to this multi-client ecosystem. This approach amplifies redundancy and isolates bugs to just one implementation.
~86% of all nodes synced to the Ethereum network run Geth client software. Bitcoin simply has one client implementation, Bitcoin Core. The benefit of having multiple client options should be apparent to the normal cryptocurrency user. It removes single points of failure and makes the network more resilient. If one client software were to fail or contain a bug, the network would still continue to run normally due to the other clients and the nodes running that client software.
Each client differs slightly in some respect and is maintained by a different team. However, they all follow the same Ethereum protocol specifications. Most differences between clients can be attributed to developer preferences like a programming language, team/developer support, or the open-source licenses they employ.
Regardless of an individual’s preference, Ethereum has core teams that lead most of the conversation around protocol upgrades, with 5-6 separate teams working towards the Ethereum Merge. The teams try to keep the community informed and act in lockstep with public opinion, holding open developer calls and sharing most technical conversations at ethresear.ch. Each client team has its own strengths and tradeoffs when it comes to its node software and how it connects nodes/validators to the Beacon Chain. In addition to different areas of expertise, there are various levels of funding and team size that make some client teams faster and more responsive. This leads to differences in quality and performance between nodes due to the client software they are running.