Yet one does not judge the strength of a startup team by mere talk, but by results. To our knowledge, we were the first to formalize and present a fully sharded architecture achieving linear throughput, combined with near instant and efficient secure proof of stake consensus via pBFT.

The theoretical paper was only the first step and we’ve published it in May 2018. Immediately after that, our focus has shifted on validating the paper and demonstrating a working prototype doing cross-shard transactions. We first released this prototype in July 2018, and eventually made it open source in November 2018. — Elrond github

Build a prototype, learn, revise

Architecture Diagram

For our prototype we’ve designed a modular, plug and play architecture. The modules are decoupled, having single responsibility, and ensuring maximal flexibility for future updates. The architecture contains 3 packages: a UI wallet, a node app, and the Elrond Core.

The Elrond Core was divided into several layers. The cryptographic layer contains novel cryptography done via a Schnorr scheme for transactions signing, and Bellare — Neven multisignature scheme for block signing. The data layer contains a data model with blocks, transactions, accounts, and the execution layer processes transactions, assembles blocks, and maintains state across all nodes for consistency and security.

The communication layer is the network protocol that ensures node connectivity and discovery, direct messaging, and operations to broadcast blocks, transactions and receipts( for cross-shard transactions).

Architecture components

The consensus layer has introduced a rudimentary form of PoS based on pBFT. The sharding layer was built to demonstrate a state sharded architecture, containing network sharding, transaction sharding, and storage sharding.

All this was done in our prototype for one reason: to validate the hypothesis that we can do cross-shard transactions, and hence, scale linearly.

This effort puts Elrond in stark contrast with the empty performance claims marketed by numerous blockchain projects.

Testnet: use what you learned, write everything from scratch

Internal testnet results

With the prototype released, we learned some insightful lessons about the limitations of Java libraries. Thus, Elrond Core has been rewritten from scratch in GO for our testnet, to incorporate our new findings, and leverage drastically more optimized GO libraries.

Results could not be more promising. Initial internal testing shows a 30x improvement in throughput compared to our prototype. A feat practically impossible without the lessons from our prototype.

Back to the future: what 2019 looks like