Introducing Nimbus, An Ethereum 2.0 Sharding Client

In order to do this, we have had to play an active part in the development of the ecosystem at many levels: from improving Whisper, to working on Light Clients, to doing UX research and studies about the best patterns for easy and intuitive use of web3 frameworks. Much like many other projects now on Mainnet, the next big issue we have to tackle is scalability of the network itself.

In order to advance the collective work on scaling Ethereum, we have been building our own client, called Nimbus, which has a particular focus on sharding. Nimbus is written in a language called Nim, which offers us various unique features capable of handling both the complex computations required, while ensuring they can still happen on resource-restricted devices.

Sharding, Plasma, STARKs, better signature aggregation — all of these things will contribute to the sort of network and transaction processing speed we all need to make Ethereum a truly global phenomenon and actually build a more open, transparent, and secure internet. We are blessed, as always, to be able to work with many different people from across the community on solving these problems collectively and look forward to learning and contributing actively to scaling Ethereum so that we can build, together, the global computer we all envision.

What exactly is Nimbus?

Nimbus is a research project and a client implementation for sharding, light clients, and next-generation Ethereum technologies addressing the concerns of scalability and wide access. We feel Ethereum 2.0 will mostly live in embedded systems, so have designed Nimbus to perform well on IoT and personal mobile devices, including older smartphones with resource-restricted hardware. We also aim to make Nimbus extensible, configurable, and modular. A client designed to work well on mobile and embedded systems, that is modular enough to allow for rapid iteration and implementation of the research being done in terms of scaling will, we feel, advance greatly the goals of Ethereum as a decentralised ecosystem.

We have chosen to implement Nimbus in the programming language Nim because it is lightweight and therefore well suited to running efficiently on resource-restricted devices. The project has led us to better learn the Ethereum protocol, as well as attract highly specialized engineers with a deep understanding of the nuances of language. Nim has a rapid development process, good performance, and a syntax very similar to Python (which is used by the Ethereum Foundation for research) which allows us to more easily port existing research.

What are our goals?

Status started with the high level goal of contributing to the Web3 ecosystem through our own research. Our goals as a project are well aligned with that of the larger Ethereum community and we want to do our part to support its growth. Now with this team of highly experienced researchers in place, we have defined the following goals for the Nimbus project:

Create a mobile first client (energy and compute efficiency) for the full Web3 stack: decentralized logic, decentralized storage, and decentralized messaging.

Optimize for embedded devices and enable new and innovative use cases such as AndroidTV, point-of-sales units, or IoT devices. Nimbus will be licensed under Apache 2.0 and MIT; a permissive licensing structure with patent protection that will extend the reach of the Ethereum platform.

Design a research friendly client (using Nim) that enables rapid development and promotes a faster move to production.

Craft a high quality Ethereum implementation to strengthen the network against single client failures

A Look Ahead

The impact we hope to make with Nimbus is to add a mobile-first implementation to the Ethereum client ecosystem, ultimately increasing its resilience and potential user base. The Nimbus team has been steadily making progress for the past 3 months and progress can be tracked here. We have a clear roadmap and we will be sharing progress updates as well as technical deep dives into some of the implementation approaches regularly on our new research blog.