Sharding
To become an unlimited decentralized network, Archethic Blockchain is using a feature call Sharding
uses to split processing and storage power to ensure a scalable system.
Thanks to the Transaction Chain
paradigm, transactions can be divided into chain, to ensure a concurrent processing
as the opposite of traditional blockchains.
Other new blockchain networks start to use Sharding
but sometimes not in a complete form:
- either storage
- either validation
Archethic Blockchain supports a complete sharding scheme for validation and for storage.
Validation​
Each transaction is validated by a new set of rotating nodes.
This ensures the distribution of validation and the processing, to achieve a linear scalability and a high TPS.
Because transaction are using the UTXO model, there is no reality out of the transaction, so the network is not subject to issue like:
- cross shards synchronization
- state channels communication
To get the state of a transaction, only the transaction and the transaction inputs will be taken into consideration
Storage​
After the validation of the transaction, validation nodes will be in charge to send the transaction to several pools of nodes:
- Transaction Chain Storage Pool: All the transaction associated with the same chain must be replicated on the storage nodes associated with the new transaction's address.
- I/O Storage Pool: Each validated transaction is replicated on the storage nodes associated with the addresses of the transaction input/outputs:
- Transaction movements addresses storage pools
- Node movements public key storage pools
- Recipients addresses storage pools
- Beacon Storage Pool: Each transaction address must be replicated on the storage nodes of the associated address subset See BeaconChain
For each transaction, the Transaction Chain Storage Pool will change, assuring a completed distribution of nodes and the data replication. Nevertheless, nothing prevents the storage nodes to overlap within the chain.
Rotating Election​
Like the validation nodes election, the storage nodes election is subject to a rotating election. In other terms, each transaction will have its own shard and storage nodes.
The storage node election is based on:
- the address of the transaction
- the storage nonce: a stable secret known by the network
- the list of nodes
This permits any node to perform this computation autonomously to reproduce this list and to request a transaction from the closest node.
To ensure the best availability of the data, this list is refined by some criteria, such as:
- P2P availability
- Geographical distribution