In the realm of Ethereum clients, such as Geth and others, to strenghten privacy and independence, a generic, open hook implementation will allow verfiable, independent and seamless querying of Ethereum's state.
Presently, this data is primarily accessed through full Ethereum nodes, centralising and elevating their burden, including Layer 2 data, a novel approach that can efficiently and securely query Ethereum's state data, including L2 data, while respecting privacy concerns, is essential.
This open hook would serve as a door to access the desired information, catering to the evolving needs of clients and ensuring the availability of critical data without relying solely on full nodes.
It will not only strengthens Ethereum's position as a leading decentralized platform but also advances the broader vision of a user-centric, decentralized Web3 infrastructure that promotes privacy, trust and equal access to information.
Ethereum’s state consists of many small binary blobs addressed by their Keccak hashes. The vast majority of these blobs are less than 4 kilobytes in size. Requests to such state data constitute the bulk of light client requests to light servers.
Swarm has been specifically engineered to retrieve and cache binary blobs (called “chunks”) that are at most 4 kilobytes in size. While Swarm’s content addressing is different from Ethereum’s, it is relatively easy to define an extension to Swarm that would allow retrieving specific chunk payload by its Keccak hash.
If light clients could request such data from Swarm, which, in turn would either serve it up from cache or, in the absence of a cached copy, request it from different Ethereum nodes (not necessarily light servers), it would considerably alleviate the load on light servers and thus improve the overall user experience of using light clients.
This will allow light clients, browsers, dapps or developers to query Ethereum's state more efficiently and trust the result with data structures and indexes.
Firstly, it addresses state data integrity, since Block explorers digest state data and prune some of the collected data, lacking accuracy: “EtherScan misses nearly 15% of what are called ‘appearances’ ” (Source: Trueblocks - How Accurate is EtherScan?).
Secondly, the project protects users’ privacy and does not leak the originator of queries: “Infura will collect your IP address and your Ethereum wallet address when you send a transaction.” (Source: Unmasking Metamask — Is Web3 Really Decentralized And Private?).
Thirdly, it provides a true censorship resistance solution to resist centralised services that might be keen to restrict their use to politically targeted communities (Source: Infura Cuts Off Users to Separatist Areas in Ukraine, Accidentally Blocks Venezuela) or other reasons (Source: Infura, Alchemy Block Tornado Cash Following Treasury Ban).
This project not only strengthens Ethereum's position as a leading decentralized platform but also advances the broader vision of a user-centric, decentralized Web3 infrastructure that promotes privacy, trust and equal access to information.
The go client could be easily modified with a slight adaptation of the ETH API and state trie related libraries, adding to Swarm API client calls to current on-disk storage.
Embracing a standardized, open hook for querying Ethereum's state signifies a commitment to decentralization and privacy. By allowing various clients to access data in a uniform and privacy-respecting manner, the Ethereum ecosystem becomes more resilient and scalable. As nodes progressively move away from storing all data, this standardized approach ensures that clients can still obtain crucial information without compromising on privacy and security. Collaborating on the development and implementation of this open hook fosters a spirit of cooperation among diverse client implementations, contributing to the growth and stability of the Ethereum network.
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing