General
What is Shardeum?
Shardeum is an EVM-based, linearly scalable smart contract platform that provides low gas fees forever while maintaining true decentralization and solid security through dynamic state sharding.
What does Shardeum aim for?
Shardeum aims to be a chain capable of onboarding over a billion people to the blockchain and crypto revolution. Shardeum, like the Internet, will be open, collaborative, and community-driven and would democratize accessibility to decentralization.
Shardeum will be the infrastructure on which the next iteration of the Internet, Web3, will be built.
What are the features of Shardeum?
- Compute and State Sharding
- Smart Contracts
- Energy Efficient
- Auto Scaling
- Security
- Immediate finality
- Low transaction fees
- Low Bandwidth
- Low Latency
- High Capacity
- High Fairness
- High Throughput (TPS - Transaction Per Second)
How will Shardeum achieve energy efficiency?
Energy efficiency means that the consensus algorithm used by the network should not require excessive energy beyond what is necessary to process the transactions. Bitcoin and other networks based on the Nakamoto consensus are designed to use high energy expenditure to secure the network from a 51% attack. However, efficient consensus algorithms such as Paxos and PBFT do not require high energy expenditure. The tradeoff is that these algorithms need the nodes to be assigned a node id before joining the network. Thus, these algorithms have been used in permissioned networks and not for nodes that can participate without requiring a node id. Shardeum will use an energy-efficient consensus algorithm that requires nodes to have a node id upon joining the network. However, a novel approach does not need a central entity to decide which nodes are part of the network.
How will Shardeum achieve auto-scaling?
Auto-scaling means that the network should self-govern the number of nodes the network needs and properly incentivize nodes to achieve the desired size. This implies that the network can effectively use the available nodes to achieve desired tradeoffs, for example, scaling of throughput proportional to the number of nodes available. Otherwise, there is no benefit in a network trying to auto-scale.
In networks like Bitcoin, there are conflicts in the desired size of the network. The low bandwidth requirement would favor having as few nodes as possible. In contrast, the high security and decentralization requirement would prefer having as many (unrelated) nodes as possible. Shardeum will aim to build a network that can auto-scale.
How will Shardeum achieve Fast Finality?
Fast finality means having a quick turnaround time between submitting a transaction to the network and knowing that the transaction is irreversible. In networks like Bitcoin, there is a probabilistic finality time. The longer you wait, the lower the chance that a transaction confirmed in a block cannot be reversed. Thus, the finality time is not just for the transaction being included in a block. Still, some blocks are being produced after that to reduce the probability of the transaction being reversed. For large value transfers on the Bitcoin network, it is recommended to wait for at least six blocks (about an hour) to ensure irreversibility. Shardeum aims to provide immediate finality meaning that finality time is the same as latency time of a few seconds.
How will Shardeum achieve Low Data Bandwidth?
Low bandwidth means that the network should minimize the amount of data transfer needed when distributing transactions and achieving consensus. This does not imply just compressing the data or using binary formats; instead, the more critical factors are network architecture and algorithmic details of the consensus algorithm. In bitcoin-like networks, adding more nodes increases the amount of bandwidth used to process each transaction. Shardeum will aim to create a network where the amount of bandwidth consumed by a transaction is constant and does not increase proportionally to the number of nodes.
How will Shardeum achieve Low latency?
Low latency means the total turnaround time between submitting a valid transaction to the network and knowing that the network has committed to the transaction in a short period of time.
In networks like Bitcoin, latency is the time between submitting the transaction and including it in a block. For such networks, the fastest latency is no less than the average block production time which is around 10 minutes.
Shardeum will provide a latency of just a few seconds by processing each transaction individually before grouping them into blocks.
How will Shardeum achieve High capacity?
High capacity means that the network should provide persistent storage for massive amounts of state data. Global-scale applications could require exabytes of state data. The current blockchains and distributed ledgers appear to be functional only because they have not been stressed in this dimension. Shardeum will aim to build a network that can horizontally scale throughput and capacity.
How will Shardeum achieve High fairness?
High fairness means that a transaction received by the network earlier than another one should be processed accordingly.
In a blockchain-based network, transactions within a block are considered to have occurred simultaneously, and the order in which they are applied does not matter. For some applications like games, this does not provide sufficient time resolution. Also, it is possible for transactions that were received much later to be processed before earlier transactions. In bitcoin-like networks, you can get priority by paying more gas.
Shardeum will aim to create a network that processes and applies transactions in the order received.
How will Shardeum achieve High throughput?
High throughput means that the network should process a vast number of transactions per second. In networks like Bitcoin, where every node must process every transaction (i.e., validate and apply), the bottleneck is the processing power of the slowest full nodes. If the bitcoin network were to increase the self-imposed block size limit, it would run into a more natural bottleneck of processing power. The only way to speed up the network would be to raise the processing power of all the nodes (vertical scaling). So all networks where every full node must process every transaction have the same theoretical throughput limit.
But in actuality, we see considerable differences when comparing networks like Bitcoin, Litecoin, and Dash. These differences are mainly due to different self-imposed block size limits and block rates. If devs removed these self-imposed limits, the differences due to different consensus algorithms would start to appear. Networks that used proof-of-stake would be much faster than networks that used proof-of-work since the node's processing power is not being used up by proof-of-work computation. Ideally, the rate at which the network processes transactions should be proportional to the number of nodes in the network. Increasing throughput means increasing the number of nodes (horizontal scaling). Shardeum will aim to build a horizontally scalable network.
What are the types of nodes in Shardeum?
It's still a WIP, but tentatively we will end up having three types of nodes in Shardeum:
- Validator Nodes:
These nodes validate the transactions in the network by participating in the consensus. They will have to stake SHM to be able to participate. Shardeum will reward them SHM for participating (network rewards will come from predefined SHM emissions, and the transaction fees earned). Validator nodes don't store the whole history, so they are lightweight.
- Archive Nodes:
Archive nodes maintain the entire Transaction history. Archive nodes may or may not have to stake SHM (WIP), but they will earn a portion of the network reward (WIP) to incentivize these nodes to store historical data.
- Standby Nodes:
These are Validator nodes standing by in the network and not currently participating in consensus. Standby nodes help scale the Shardeum network quicker in times of traffic spikes. They may or may not need to stake SHM (WIP), but they will earn a portion of the network rewards (WIP) Again, all of these are WIP. This is just a peek into an overview of how the node ecosystem in Shardeum has been designed.
Will the Shardeum network work with different wallets?
Any EVM based wallet will work on Shardeum. Developers can also build new Shardeum wallets as a dApp utility on the network.
What is Dynamic State Sharding?
Unlike static state sharding where all the nodes in a shard cover the same address range, dynamic state sharding requires each node to hold a different address range, but there is significant overlap between the addresses covered by nodes. Although dynamic sharding is more complex to implement than static sharding, it allows for true linear scaling. Each node added to the Shardeum network immediately helps to increase the TPS, whereas with static sharding the number of nodes that must join has to be at least the number of nodes defined as the minimum shard size before another shard can be created. Only when another shard is created does the network TPS increase in a stepwise way with static sharding.
What is the difference between Shardeum and other similar sharded chains?
Features | Shardeum | Harmony | Near | Elrond |
---|---|---|---|---|
EVM Compatible | Yes | Yes | via Aurora | No (WASM) |
Smart Contract Language | Solidity, Vyper | Solidity, Vyper | Rust | C, C++, C#, Rust |
Explorer | EtherScan-like | Custom | Custom | Custom |
Tx Fees in $ | Very Low & Constant | 0.000001 | 0.00044 | 0.005 |
Txs Per Second (TPS) | 1 per node (100k TPS @ 100k nodes) | 2k per shard (8k TPS @ 4 shards) | 10k per shard (100k TPS @10 shards) | 3.75k per shard (15k TPS @ 4 shards) |
Nodes per Shard | 128 | 250 | 100 | 800 |
Latency | 10 Sec always for EIP2930 txs | 10 Sec per involved shard | 10 Sec per involved shard | 10 Sec per involved shard |
Consensus Algorithm | PoQ + PoS | FBFT | PBFT | SPoS |
Consensus Level | Transaction | Block | Block | Block |
Current Shards | NA | 4 but contracts on 1 | 1 unsharded | 3 + metachain |
Sharding Type | Dynamic | Static | Static | Static |
Scaling Type | Linear TPS per node | Stepwise TPS per shard | Stepwise TPS per shard | Stepwise TPS per shard |
Archive Nodes | Yes | No | No | No |
Cross Shard Composability | Yes | No | No | No |