Hearing about new grants being awarded is always exciting, but what comes next? In this series, we explore projects that are progressing well or have already reached completion. Continue reading to discover some recent accomplishments and milestones achieved by grantees!
Nimbus** focused on **Fluffy Portal Client and Portal Network Development
Nimbus is primarily recognized as a beacon chain client known for its low resource requirements, needing only about 750mb of memory to operate a full consensus node. However, away from the limelight of The Merge, the skilled Nimbus team (part of the Status organization) is striving to make participation in the Ethereum network attainable for everyone, on any device. The Portal Network is an ongoing, cross-team initiative aimed at redefining how resource-constrained devices can engage with the Ethereum network, and Nimbus is playing a crucial role in this endeavor.
Efforts towards light clients have been in place for years, focusing on crafting clients that consume minimal resources. A variety of clients currently provide some light client functionality; recently, Nimbus introduced a standalone light client, which enables users to track the head of the beacon chain without necessitating a full sync. However, the potential for Ethereum light clients is ultimately limited by the network’s design itself. The current light client network operates on a client/server model: light clients download block headers and relevant data as needed but do not provide contributions. Consequently, light clients depend on full nodes to obtain their required data, but only a few full nodes are willing to serve this data, limiting resource availability.
Understanding that various applications require different data and functionalities, the Portal Network is designed with flexibility in mind. Rather than containing all functionalities in one package, it integrates multiple subprotocols, each tailored to perform specific functions. Portal clients can connect to all the subprotocols or just a selection according to their needs. Additionally, devices running portal clients can contribute whatever resources they can offer (e.g., storing a small piece of state or relaying peer-to-peer messages). Simply put, each client also acts as a server, accessing the information they require while enhancing the network’s capacity based on their capabilities. Consequently, an increase in clients online leads to a more robust network, rather than a zero-sum competition for scant resources.
The Nimbus team has played a pivotal role in the Portal Network’s design and development. They were the first to implement several network functionalities through the development of Fluffy, a Nimbus implementation tailored specifically for the Portal Network and one of the three clients expected to be active once the Portal Network launches (with two others being developed by Ethereum Foundation teams). Fluffy was the premier client able to both store and deliver content, serving as the foundation for early test networks and helping to identify essential revisions to network specifications as they encountered challenges during implementation.
The team aims to make Fluffy lightweight enough to operate directly from within a wallet and eventually to incorporate it into the Status mobile app. The ability to run a complete client from within a wallet or dapp carries significant implications, not just for network health but also for decentralization and privacy, as it lessens reliance on the centralized infrastructure that many wallets now utilize to access Ethereum data.
If this industrious team achieves their goals, you’ll soon have an Ethereum client in your pocket! You can find periodic updates on Fluffy and Portal Network development on HackMD and the Nimbus blog. Follow Nimbus on Twitter @ethnimbus; check Github for updates on the Fluffy and Nimbus clients (and don’t forget they’re also developing an execution client?), or connect with the team through Discord, Status, or Gitter.
Paul Miller** dedicated to **Ethereum-Cryptography Enhancements
Ethereum-Cryptography is among the most widely utilized Ethereum libraries, containing crucial cryptographic primitives for developing Ethereum applications in JavaScript and TypeScript. It was introduced in 2020 by the Nomic Foundation to enhance the Ethereum developer experience by consolidating Ethereum-specific cryptographic dependencies into a single library, thereby removing the often problematic node-gyp-based dependencies developers previously relied upon.
By bringing these common cryptographic tools together, the library alleviated significant pain points for developers. However, Paul Miller recognized further opportunities for improvement by diminishing both the number of dependencies and the overall codebase size. It’s no surprise that Paul was keen on undertaking this task—he has a solid history of creating tools that aid developers in building more efficiently and securely, including Chokidar, a cross-platform file-watching service, and noble-secp256k1, a JavaScript implementation of the secp256k1 elliptic curve.
When Paul embarked on his work with ethereum-cryptography, the install package consisted of 38 dependencies and 3.46 megabytes of source code. Although not all of this code is deployed in production, an end user of a dapp utilizing this library would still download approximately 793kb—roughly 24,000 lines of code. Paul aimed to construct a streamlined and secure library that could deliver the same functionalities, rewriting various cryptographic implementations and subjecting the new version to a formal audit. This overhaul produced significant gains in efficiency and security:
- External dependencies decreased from 38 to 5
- Directory size shrank from 10.2MB to 650KB
- Source code contracted from 23,799 lines to 5,225 lines
- NPM traffic reduced from 3.6MB to 324KB uncached
- Audit carried out by Cure53, with all vulnerabilities addressed
To find out more, check out the v1.0.0 release post, or review some of the technical insights that emerged during the rebuild. You can explore ethereum-cryptography on Github; follow Nomic Foundation on Twitter or visit their blog; and connect with Paul on Twitter @paulmillr or on his personal Github.
Are you pursuing a project that could positively impact Ethereum? Visit our website to discover more about the Ecosystem Support Program and to apply for assistance.