It’s always fun to hear about new grants as they are awarded, but what happens after the announcement? In this series, we check in on projects that are well underway – or already on the finish line. Read on to learn about some recent milestones and achievements from grantees!
Nimbus** For **Fluffy Portal Client and development of the portal network
Nimbus is best known to most people as a beacon chain client, notable for its low resource requirements with only ~750 MB of memory required to run a full consensus node. But outside of The Merge’s spotlight, the talented team behind Nimbus (part of Status organization) does much more to make participation in the Ethereum network accessible to everyone, on any device. THE Portal Network is an ongoing cross-team initiative to redefine how resource-constrained devices participate in the Ethereum network, and the Nimbus team has been instrumental in bringing it to life.
Thin client efforts have been ongoing for years and focus on designing clients that use minimal resources. Many customers now offer some form of thin client; Nimbus recently added a standalone thin clientwhich provides the information needed to track the head of the beacon chain without requiring full synchronization. However, the potential of Ethereum light clients is ultimately limited by the design of the network itself. THE current thin client network relies on a client/server architecture: thin clients download block headers and other data as needed, but contribute nothing. Thin clients rely on full nodes to provide the data they need, but few full nodes choose to provide this data, making them a limited and unreliable resource.
Recognizing that different applications require access to different data and functionality, the Portal network is designed to be flexible. Rather than grouping all the functionalities together, it combines several sub-protocols, each dedicated to a specific function. Portal clients can connect to all subprotocols, or just a subset, depending on their needs. Just as important, a device running a portal client can contribute whatever resources it has available (for example, storing a small amount of state or relaying peer-to-peer messages). In other words, each client is also a server, capable of accessing the information it needs while adding capacity to the network based on its capabilities. More customers online means a stronger network, not zero-sum competition for limited resources.
The Nimbus team was an integral part of the design and development of the portal network. They were the first to implement most network features through the development of Fluffya Nimbus implementation designed specifically for the Portal network and one of three clients expected to be available when the Portal network goes live (two more are under development by Ethereum Foundation teams). Fluffy was the first client capable of both storing and serving content and served as the backbone for initial testing of networks, helping to inform necessary changes to network specifications when problems were encountered during implementation. artwork.
The team aims for Fluffy to be lightweight enough to run from inside a wallet and, ultimately, to integrate into the Status Mobile App. The prospect of running a full client from a wallet or dapp has huge implications, not only for network health, but also for decentralization and privacy, as it reduces reliance on consideration of the centralized infrastructure that most wallets currently use to access Ethereum data.
If this busy team gets their way, you’ll have an Ethereum client in your pocket before you know it! Periodic updates on the development of Fluffy and Portal Network are posted on HackMD and the Nimbus blog. You can also follow Nimbus on Twitter @ethnimbus; watch GitHub for progress on Fluffy and Nimbus clients (did we mention they are also working on a execution client?), or connect with the team via Discord, Status Or Gitter.
Paul Miller** For **Ethereum-Cryptography Improvements
Ethereum-Cryptography is one of the most widely used Ethereum libraries, containing essential cryptographic primitives used to develop Ethereum applications in JavaScript and TypeScript. It was spear in 2020 by Nomic Foundation to improve the Ethereum developer experience by consolidating Ethereum-specific crypto dependencies into a single library, eliminating the need for often annoying node-gyp based dependencies that developers previously relied on.
Bringing these common crypto tools under one roof has alleviated some serious problems for developers; but Paul Miller saw further improvement opportunities by reducing both the number of dependencies and the overall size of the code base. It’s no surprise that Paul was eager to take on this task: he has a long track record of creating tools to help developers build more efficiently and securely, including Chokidara cross-platform file monitoring service; And noble-secp256k1a JS implementation of the secp256k1 elliptic curve.
When Paul started working on Ethereum cryptography, the installer package came with 38 dependencies and 3.46 MB of source code. Not all of this code made it to production, but the end user of a dapp built with this library was still downloading up to 793 KB, or about 24,000 lines of code. Paul set about creating a more compact and secure library that would provide the same functionality, rewriting many of the cryptography implementations and subjecting the new version to a formal audit. This overhaul has led to serious progress in terms of efficiency and security:
- External dependencies reduced from 38 to 5
- Directory size reduced from 10.2 MB to 650 KB
- Source code reduced from 23,799 lines to 5,225 lines
- NPM traffic reduced from 3.6 MB to 324 KB without caching
- Audit executed by Healing53 and all vulnerabilities fixed
To learn more, check out v1.0.0 exit stationor explore some of the technical information which occurred during the reconstruction. You can dig cryptography Ethereum on Github; follow Nomic Foundation on Twitter or consult their blog; and follow Paul on Twitter @paulmillr or its staff GitHub.
Are you working on anything that you think could improve Ethereum? Visit our website to learn more about the Ecosystem Support Program and request assistance.