LATEST NEWS
Home/Blog/Pier Two receives a Grant from the Ethereum Foundation

Pier Two receives a Grant from the Ethereum Foundation

Read time: 3 minutesMay 22 2023
Pier Two receives a Grant from the Ethereum Foundation

Pier Two is in Active Grant status, supported by the Ethereum Foundation Ecosystem Support Program (ESP) for implementing Discv5 in C#.

Nodes without full chain history and state data are likely to have poor peer connections and may be disconnected frequently when they cannot provide the requested data to their peers. Not all nodes are created equal. “Light client”, in the context of Ethereum, typically refers to the DevP2P LES network. LES (Light Ethereum Subprotocol) is a protocol for Ethereum blockchain that allows low-power devices, such as smartphones or IoT devices, to access the blockchain network securely and efficiently, without having to download and store the entire blockchain, and without compromising on the security of the network. The DevP2P LES network is designed using a client/server architecture. Servers are service providers and store all of the data. Clients request the data and are purely consumers of this data. With growing demand on Ethereum, including L2s and L3s, if there are not enough servers, the clients cannot get the data required. We need something more scalable, and more reliable.

“Like light client technology...I want every Ethereum wallet 2-years from now to be actually verifying the chain and not just be dependent on a central infrastructure provider telling it what the hashes are.” - Vitalik Buterin, Shapella Hard Fork launch event, April 12, 2023

The Discovery v5 protocol (Discv5) is a mechanism used by the Beacon chain to discover peers in the network. In building and specifying the Kademlia DHT, built on top of Discv5, the “Portal Network”, and contributing researchers, are working to address the problem outlined above. By designing decentralised peer-to-peer networks which together provide the data and functionality necessary to expose the standard JSON-RPC API, each additional stateless client that joins the network adds additional capacity to the network. This would expose the APIs necessary for standard "wallet" applications, run on resource constrained devices and doesn't require syncing. Referred to as Functional Light Clients (FLCs). Importantly, these networks are not critical to the operation of the core Ethereum protocol. They simply provide a view into the protocol.

The primary challenge for FLCs is to develop a system that enables each node to store a portion of the data and for the network to provide a way for nodes to locate the nodes that contain the data they require. Whether that is using bloom filters to reduce the amount of data needed to be transmitted between nodes or enabling wider adoption of blockchain technology in developing countries where high-powered devices are not readily available, or to make Ethereum more accessible to users with limited storage or processing power.

For the purposes of the current Ethereum Foundation Ecosystem Support Program (ESP), this is where Pier Two is contributing to implement on Discv5, and has received a grant. Now in an “Active” state.

As part of the Discv5 Grant, the following deliverables for Pier Two are as set:

  • A comprehensive and documented understanding of the Discv5 components and design rationale.

  • Review the "discv5-wire.md" and understand the wire protocol

  • Study the "discv5-theory.md" and familiarize with the algorithms and data structures

  • Read the "discv5-rationale.md" to understand the design rationale behind Discv5

  • Document and publish the process/findings as Discv5 educational blog posts

  • A working implementation of the Discv5 wire protocol.

    • Implement the Discv5 wire protocol as defined in discv5-wire.md
    • Implement the required algorithms defined in discv5-theory.md
    • Test the implementation to ensure it conforms to the specification
    • Refactor and optimize the code as necessary: https://github.com/Pier-Two/Lantern.Discv5
  • A production-ready implementation of the Discv5 library in C#.

  • Integrate the test vectors defined in discv5-wire-test-vectors.md

  • Perform comprehensive testing to ensure the library is production-ready

  • Refactor and optimize the code as necessary

Pier Two has been researching the topic of light clients for some time, and will continue to find ways to contribute to important ongoing research. For those interested, you can find a link to an independent article published back in March 2022, “World of Light Clients”. We look forward to sharing more information on this topic, and others in the future.

Follow us on Twitter.