What is Elrond Network?
Adaptive State Sharding – Elrond proposes a dynamically adaptive sharding mechanism that ena-bles shard computation and reorganizing based on necessity and the number of active network nodes. The reassignment of nodes in the shards at the beginning of each epoch is progressive and nondeter-ministic, inducing no temporary liveness penalties. Adaptive state sharding comes with additional chal-lenges compared to the static model. One of the key-points resides in how shard-splitting and shard-merging is done to prevent overall latency penalties.
Elrond solves this challenge by:
- Dividing the wallet address space in shards, using a binary tree which can be built with the sole requirement of knowing the exact number of shards in a certain epoch.
- Introducing a technique of balancing the nodes in each shard, to achieve overall architecture equilibrium. This technique ensures a balanced workload and reward for each node in the network.
- Designing a built-in mechanism for automatic transaction routing in the corresponding shards, considerably reduces latency as a result.
- In order to achieve considerable improvements with respect to bootstrapping and storage, Elrond makes use of a shard pruning mechanism. This ensures sustainability of our architecture even with a throughput of tens of thousands of transactions per second (TPS).
Secure Proof of Stake – As an improved variation of Proof of Stake (PoS) that ensures long term security and distributed fairness, while eliminating the need for energy intensive PoW algorithms. Elrond introduces an improvement which reduces the latency allowing each node in the shard to deter-mine the members of the consensus group (block proposer and validators) at the beginning of a round. This is possible because the last block’s aggregated signature is used as the randomization factor. In addition to the stake factor generally used in PoS architectures as a sole decision input, Elrond refines its consensus mechanism by adding an additional weight factor called rating.
[Main problems tackled]:
- Full descentralization – Eliminating the need for any trusted third party, hence removing any single point of failure
- Robust security – Allowing secure transactions and preventing any attacks based on known attack vectors;
- High scalability – Enabling the network to achieve a performance at least equal to the centralized counterpart, as measured in TPS; Initial tests show 5000tps at 4MB/s average bandwidth with 16 shards. Linearly, Elrond has reached 10000tps at 8BM/s with 16shards and 50000 tps at 8MB/s average bandwidth 64shards.
- Efficiency – Performing all network services with minimal energy and computational requirements;
- Bootstrapping and storage enhancement – Ensuring a competitive cost for data storage and boot-strapping;
- Cross-chain interoperability – Enforced by design, permitting unlimited communication between external services.
- Security through multi signing – This scaling technique can be used in blockchains to partition states and transaction processing, so that each node would process only a fraction of all transactions in parallel with other nodes. As long as there is a sufficient number of nodes verifying each transaction so that the system maintains high reliability and security, then splitting a blockchain into shards will allow it to process many transactions in parallel, and thus greatly improving transaction throughput and efficiency. Sharding promises to increase the throughput as the mining network expands, a property that is referred to as horizontal scaling.
- Randomness source – Each node from the list E can be selected as part of j an optimally dimensioned consensus group, by a deterministic function, based on last block’s aggregated signature, the round r and a set of variation parameters. The random number, known to all shard nodes through gos-sip, cannot be predicted before the block is actually signed by the previous consensus group. This property makes it a good source of randomness and prevents highly adaptive malicious attacks. We define a selection function to return the set of chosen nodes.
- Performance – Sharding approach shows a linearly increasing throughput.
- Shard storage pruning – To reduce storage requirements and bootstrapping time.