Historically, we have witnessed many censorship attempts, indicating a high probability that they could also occur within the Ethereum network. As this isn't aligned with the values promoted by Ethereum, it should undoubtedly be a challenge that we, the community, and users should prioritize to resolve.
The possibility of a chain suffering an attack is a latent risk. Ethereum Uncensored is a tool that protects the chain against censorship, informing you about the correlation between "Orphan Blocks" and their transactions to find If there is a malicious actor and allowing the community to take action and recover from the attack.
Ethereum Uncensored is a user-friendly tool that publicly informs about valid blocks rejected from the blockchain because a network lag allows another block to be accepted first, tracking if there's a pattern between the type of transaction, amount, or validator to know if there is a malicious action involved.
We designed a technology that determines:
Through Ethereum Uncensored we want to show the usefulness and necessity of building tools to inform about malicious activity in Ethereum. Also to raise awareness that these tools aren't easy to create, they do require a lot of support from the community.
We should start thinking, as users, founders and participants, about the possible censorship issues we could face, while creating solutions and have them ready before we actually need them.
One of the main and most important aspects that differentiates the Ethereum ecosystem is that neutral credibility is a key part of the protocol.
With the merge about to happen, and Ethereum going to PoS, identifying and actually taking action against bad actors will be one of the main challenges. This tool aims at making that task possible.
This project contains an external REST API which tracks the new blocks on-chain, saves the orphan blocks with their information to a database, and responds to the data calls. The API has been built with GoLang and MySQL has been used for the database. The web-app calls the API and shows the orphan blocks’ analytics and their validators information. The web-app has built with using Next.js and React.
a. Given that the merge didn't happen yet on Ethereum's mainnet, documentation is still quite scarce.
b. One of the biggest challenges is that, even though orphaned blocks play a main role in being able to identify censorship attempts, most ETH APIs actually don't save them or provide tools to easily find them.
c. There is a big problem about reaching data from Beacon Chain and its testnets. Infura is the only data provider for Beacon Chain and Prater Testnet, but it doesn’t serve data for orphan blocks which exposes significant risks for censorship attacks on the chain and users are not able to track orphan blocks.
For this project to be completed, the merge should be executed on Ethereum's mainnet. Also, API providers (such as Infura) should be able to facilitate finding this information and actually store it. Also, Consistent data sources for Beacon Chain which include all of the block's data. There is no data provider that serves orphan block information.