A common misconception about Accumulate is that it is simply another monolithic blockchain like Bitcoin, Ethereum, or Solana. While blockchain architecture is typically not something that can be fully explained in a short ‘elevator pitch’ conversation, Accumulate‘s architecture, particularly its structure as a ‘chain of chains’ is one of the most unique selling points and an integral piece of the to broader focus to create a universal digital identity layer for the traditional economy and web3 space.
Accumulate is not a single network but a ‘chain of chains’. This means it is capable of operating hundreds to thousands of independent blockchains.
Each ADI (Accumulate Digital Identifier) is made up of a collection of independent sub-chains that are consolidated into a Block Validator Network or BVN.
Block Validator Networks or BVNs are responsible for producing hashes, which are then tied together and summarized by a Directory Network (DN).
The Directory Network plays a critical role in Accumulate by consolidating the records of all transactions between the various ADI accounts and their various sub-chains. This allows Accumulate to maintain a single unified state, even while existing as many fragmented networks running in parallel.
This modular architecture is effective for enabling the Accumulate network to scale while maintaining decentralization.
Chain of Chains Architecture
Now that we have covered how Accumulate’s chain of chains structure works at a high level, let’s break down what are the different types of chains featured on the network.
Within the Directory Network and BVN, there is an interconnected network of chains whose role is to collect signatures, synchronize Tendermint nodes within a BVN, communicate between BVNs, collect roots, and anchor roots to other blockchains.
Signature (Sig) Chain
The signature chain is where digital signatures for transactions are stored. The signature chain collects signatures for a period of 2 weeks. If a transaction has not collected the required number of signatures within this time period, it is automatically discarded.
The main chain is where the transactions themselves are stored. Transactions are recorded on the mainchain in the account of origin as well as any account that has been altered by the transaction once it has gathered the required number of signatures to be executed.
Each Account on Accumulate (where ADIs are stored) consists of a Signature Chain and the Main Chain. This separation allows there to be an independent consensus-building process for authorizing transactions that are then executed on a separate chain (the main chain).
Synthetic Transaction Chain
A Synthetic transaction is a simulated transaction that is produced by the Accumulate protocol to relay information about a real user transaction from one Block Validator Network (or BVN) to another. The purpose of a synthetic transaction chain is to provide cryptographic proof that a synthetic transaction was actually produced by a particular BVN. This is necessary to ensure that accounts can be properly updated across multiple identities using accurate and cryptographically secure information.
Binary Patricia Trie (BPT)
The BPT chain is responsible for collecting hashes that represent the current state and history of all accounts in a BVN or DN, thereby helping to keep the entire network in sync.
Root Anchor Chain
The root anchor chain also serves a key role in keeping the Accumulate network in sync. It records an anchor (i.e a timestamp) once every block, which contains information from every account chain and system chain updated during that block.
The root anchor also produces a root hash for the BVN or DN of every major or minor block, with the root hash of the DN containing the state of the entire Accumulate Network.
Intermediary Anchor Chain
These chains collect an anchor from the root anchor chain of every BVN once per block, as well as another anchor from the DN root anchor chain also once per block.
Each BVN can contain multiple accounts, each of which has a Signature Chain and a Main Chain. Each BVN (and the DN) has a Synthetic Transaction Chain, a Root Anchor Chain, and one or more Intermediate Anchor Chains. These are collectively referred to as system chains, as they are not tied to any specific account and are used by the system as a whole.
All chains inside a BVN or DN are anchored to a root anchor chain, essentially making them a sidechain to the root anchor chain.
Root anchor chains are anchored to the DN’s intermediary anchor chain, which serves as a link between the DN and various BVNs. The DNs intermediary anchor chain is also anchored to the DNs root anchor chain, which allows all BVNs to have direct access to the DN and receive updates on its state.
Using root hashes, each chain connects to the other to form a growing Merkle tree of data. This tree is where we get the concept of a ‘chain of chains’, as every chain within a BVN or the DN can be considered a side chain of its respective BVN/DN root anchor chain.
Lastly, the state of every account is constructed and recorded into the Binary Patricia Trie (BPT), effectively making the BPT responsible for recording the current state of the entire Accumulate Network.
In summary, the Accumulate’s chain-of-chains modular architecture is uniquely designed to enable hundreds to thousands of independent blockchains to coordinate as one unified network while mitigating the scaling challenges that come from more monolithic single chain architectures, thereby making it possible to develop a universal digital identity layer that can serve the needs of both the traditional economy and web3 space.