Status.im has developed a brand new client to help users scale on the Ethereum blockchain. Introducing Nimbus, an Ethereum 2.0 sharding client that promises blue skies and a sunny forecast for developers.
Status.im, a mobile Ethereum OS gives blockchain developers the ability to browse, chat and make payments securely on the decentralized web. Now, they have created a sharding client for resource-restricted devices called Nimbus.
Blockchain protocols rely on verification through nodes that process all transactions. However, due to its inherent design, a blockchain cannot process more transactions than a single node can. This leads to significant limitations on scalability: Bitcoin is limited to around 3-7 transactions per second. Ethereum is slightly faster with around 7-15.
Sharding is the attempt to get around this issue while maintaining the core blockchain goals of decentralization, scalability, and security. Simply put, it’s a way to split up the state and the history into partitions called shards. Each shard has its own transaction history, in effect aiming for a multi-asset blockchain.
What is Nimbus?
Status.im wants to bring the masses to Ethereum. This can’t happen without solving the scalability issue: it already takes way too long for a transaction to go through. The transaction time is a hard limit on further adoption. No one is going to want to wait in a queue for 15 minutes to verify that they’ve paid, not when paper money and credit cards exist.
By improving the Ethereum ecosystem, Status is laying a sturdy foundation for future adoption. Nimbus is a sharding client implementation for Ethereum. It’s designed to perform well on IoT and mobile devices, including older smartphones with resource-restricted hardware.
Nimbus’ extensible, configurable, and modular design ensures that it is production ready. It’s a client designed to allow for rapid iteration. Nimbus is based on Nim.
A quick look at Nim
Despite the name, there’s no relation to our favorite customizable text editor, Vim. Instead, Nim is a mature, statically typed programming language that produces native binaries with no need for a runtime or interpreter. Nim offers efficient and expressive programming to developers.
Nim primarily focuses on thread local (and garbage collected) heaps and message passing between threads. Each thread has its own garbage collector. Unrelatedly, it also supports a wide variety of your favorite editors, with out of the box support for Scite, Howl, and Micro.
The Nimbus team chose to base their client on Nim because of its lightweight footprint. Additionally, its rapid development process, good performance, and a Python-ish syntax all proved to be positive factors.
Interested in programing languages and devops? Take a look at Jaxenter for specialized information.