Elrond (or "the Project") is a high-throughput public blockchain focused on providing security, efficiency, scalability, and interoperability by employing two key elements: Adaptive State Sharding and a new Secure Proof of Stake ("SPoS") consensus mechanism.
KEY FEATURES & HIGHLIGHTS
Elrond is a complete redesign of blockchain architecture with the aim to achieve global scalability and near instant transaction speed. Elrond focuses on combining these key innovations:
- State sharding (transaction, data & network sharding); adaptivity through shard merges and shard splits
- Consensus in two communication rounds with modified Boneh–Lynn–Shacham ("BLS") multi-signatures
- High resiliency to malicious attacks due to intra and cross shard node reshuffling
- Secure randomness beacon with BLS signing
- Smart contracts on a state sharded architecture with balanced load on shards
- Fast finality for cross shard transactions (seconds)
WHAT IS ELROND?
Elrond's testnet is already live and can process upwards of 10K TPS, with 5-second latency and minimal cost (based on 5 shards). The Project aims to be a platform for easy deployment of programmable money and dApps, thus becoming the backbone of an open, permissionless, borderless, globally accessible internet economy.
Elrond's goal is to be a high throughput, fast transaction speed and low transaction cost platform, allowing efficient and competitive dApp user experiences in real world use cases.
Elrond believes that its high scalability, fast transaction speed, and low transaction cost makes it well-suited for machine-to-machine transactions and the IoT economy.
Elrond Token Ecosystem
The Elrond token (ERD)'s uses include, but are not limited to: payment for transaction fees and payment for the cost of deploying dApps on the network and rewards for various contributions to the network.
During its first few years, the Project's main focus will be on establishing Elrond as a global public utility within the internet ecosystem, offering a scalable, efficient, and interoperable blockchain architecture, only accessible through ERD tokens. All activity within the network (i.e. making transactions, running smart contracts, providing services like staking, or running a validator node) will be fueled by the ERD token. Both startups and large-scale enterprises will be able to build decentralized applications on top of Elrond's network and integrate Elrond as part of their infrastructure solution for products and services.
Token Governance & Use of Funds
As of the June 2019, Elrond has used approximately 5% of TGE funds according to the breakdown below:
- R&D - 62%
- Operational - 17%
- Marketing/PR - 11.6%
- Business Development - 5.5%
- Legal & Audit - 3.9%
Elrond plans to hold sufficient fiat reserves to fund the operational costs for at least 18 months. The rest of any funds held in crypto will be stored in cold wallets with multisig support.
Token Overview & Use Cases
The use cases intended for ERD include but are not limited to: (1) payment for transaction fees, (2) payment for the cost of deploying dApps and (3) rewards for staking and various contributions to the network.
- The ERD token is used to stake and participate in the Secure Proof of Stake consensus of the network.
- In addition, the ERD token is used to pay for transactions, storage fees, and as gas. The token also serves as rewards to the SPoS validators.
- The ERD token will also be used for voting and on-chain governance at a later stage, once on-chain governance is enabled.
- In Elrond, rewards are paid through an emission of ERD defined in the protocol. The majority of all newly issued ERD will go to validators, while a very small part will go to a reserve pool. The reserve pool will be used to fund development and ecosystem expansion, increasing the security and value of the network in the long term.
- Each time a transaction happens in Elrond, a percentage of transaction fees will go to validators, another percentage will be burned, while the small remaining part will either be: a) donated to the Elrond Community Fund or b) also burned. The percentages will be released publicly in upcoming releases from the team.
BLOCKCHAIN & NETWORK DATA
The blockchain has low system requirements and can run on anything from an ordinary computer to T2 medium AWS machines.
The blockchain features epochs of ~24 hours and rounds of ~5 seconds.
All the validators in Elrond’s network will be split among multiple shards, where they will only have to synchronize the state for the current shards and process transactions only for their current shard. In order to prevent collusion amongst validators, up to ⅓ of the validators in a shard will be reshuffled to other shards at the end of every epoch. Liveness is not affected by this because the fast state synchronization for the newly reshuffled validators needs to synchronize only the state for the current epoch (~24 hours timeframe), while the remaining ⅔ of the unshuffled validators in the shard can still process transactions.
Each shard will consist of 400-600 validators and have a separate chain, accounts and application state. The consensus group (currently set to be n=63) changes every round based on a randomness seed stored in the previous block’s header. These validators in the consensus group need to agree on the proposed block in every round of every epoch.
Based on the randomness source in the previous block, n validators are chosen using a deterministic function. Every other validator in the shard can compute the n validators and verify the correctness of this nomination. The first selected validator will be the block proposer for the current round.
The block proposer signs the previous randomness source with a BLS single signature to generate the next randomness source, creates a block with transactions, adds the new randomness source in the block header and broadcasts this block to consensus group members.
Each member validates the block, also validating that the new randomness source is a signature verifiable with the leader’s public key on the old randomness source. If both are valid, it creates a BLS signature on the proposed block and sends this back to the leader.
The block proposer selects from among all received signatures, creating a subset of at least ⅔*n + 1 signatures, and creates a bitmap for his selection, where B[i]=1 if the ith member of consensus group was selected and B[i]=0 otherwise. The proposer then aggregates the signatures and attaches the bitmap and signature to the block. It must also sign the end result to "seal" the configuration for (B[ ], aggSig) before propagating the resulted block through gossip inside the shard.
The upcoming testnet releases will include a public adversary game (Battle of Stakes) that will combine all the metrics together and will produce the highest level of stressing the protocol, allowing us to improve and find new opportunities for improvement. New stress results will follow in the upcoming weeks.