Blockchain, DAG or “clean” Ledger without blocks and events. It can be split into subchains, if subchains are sharded, then for each sub-shard (cell) there will be its own chain. A data structure is designed to record events occurring in a distributed system. The Cellframe Network uses three types of chains:
- Blockchain - a chain of blocks;
- DAG chain - event graph used in zero-chain;
- No-consensus chain - “clean” ledger.
The main idea is to make the abstraction level for common usage of DAG, Blockchain and No-Consensus modes.
Chain structure
Chain consists of atomic chain elements - chain atoms. Atom is an abstraction: it can be a Block, an Event or even just a database record for no-consensus storage. An atom can contain one or more datums - custom data that is stored in a chain.
Sharded, non-sharded chains
Chain itself can be divided into cells (be sharded) or not. So it can be a single set of consistent data or a number of sets. Keep in mind: the cell is not part of the chain. It’s part of the network. The chain may or may not be associated with the cell. For Cellframe Network and Cellframe Chain a cell is just a kind of ID that is used for splitting the network into independent segments that have their own datasets - chains, whitelists, mempools, etc.
Blockchain
For such a chain structure, each atom is a block with a set of datums inside and usually only one hash link to the previous block. The first generation of blockchains uses PoW consensus, however, PoS consensus and others can be used with this type of chain.
DAG chain
A DAG is a more advanced version of a chain. A DAG consists of events, each event contains only one datum and usually few more hash links to other events. Events are added in sets, forming connected graphs, each such set is called round. While forming the round is in Global Database (GDB) not in chains and may have different formation rules (Hashgraph, PoT).
No-consensus chain (GDB mode)
A chain can only be a wrapper around the Global Database (GDB) with no guarantee of consistency and no consensus at all. This is the fastest way to store the Ledger, it is designed to store private ledgers where there is no need to protect the system from spam but it is necessary to ensure maximum performance.