Skip to main content

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