We introduce our Forest protocol, denoted by F to reach faster consensus using topological ordering of events for an asynchronous non-deterministic distributed system that guarantees BFT with deterministic finality. The core idea of Forest is the NCOG’s DAG, which is a block DAG. Nodes generate and propagate event blocks asynchronously and the Forest algorithm achieves consensus by confirming how many nodes know the event blocks using the NCOG’s DAG. In Forest protocol, a node can create a new event block, which has a set of 2 to k parents. NCOG DAG is used to compute special event blocks, such as Root, Clotho, and Atropos. The Main chain consists of ordered Atropos event blocks. It can maintain reliable information between event blocks. The NCOG’s DAG and Main chain are updated frequently with newly generated event blocks and can respond strongly to attack situations such as forking and parasite attack. We introduce Staked Dag protocol which presents a general model that integrates Proof of Stake model into DAG-based consensus protocol Forest. Both generate blocks asynchronously to build a weighted DAG from Validator blocks. Consensus on a block is computed from the gained validating power of validators on the block. We use Lamport timestamp, Happened-before relation between event blocks, graph layering and hierarchical graphs on the weighted DAG, to achieve deterministic topological ordering of finalized event blocks in an asynchronous leaderless DAG-based system. The Forest protocol allows dynamic participation so that any participant can join the network at any point of time. Assigned layers are used to achieve deterministic topological ordering of finalized event blocks in an asynchronous leaderless DAG-based system. The important concepts of Forest protocol are as follows:
- Event block: Nodes can create event blocks. Event block includes the signature, generation time, transaction history, and reference to parent event blocks.
- Happened-before: Is the relationship between nodes which have event blocks. If there is a path from an event block x to y, then x Happened-before y. “x Happened-before y” means that the node creating y knows event block x.
- Lamport timestamp: For topological ordering, Lamport timestamp algorithm uses the happened-before relation to determine a partial order of the whole event block based on logical clocks.
- Stake: This corresponds to the amount of tokens each node possesses in their deposit. This value decides the validating power a node can have.
- User node: A user node has a small amount stake (e.g., containing 1 token).
- Validator node: A validator node has large amount of stake (≥ 2 tokens).
- Validation score: Each event block has a validation score, which is the sum of the weights of the roots that are reachable from the block.
- NCOG’s DAG: Is the local view of the DAG held by each node, this local view is used to identify topological ordering, select Clotho, and create time consensus through Atropos selection.
- S-NCOG DAG: Is the local view of the weighted Directed Acyclic Graph (DAG) held by each node. This local view is used to determine consensus.
- Root: An event block is called a root if either (1) it is the first event block of a node, or (2) it can reach more than 2/3 of the network’s validating power from other roots. A root set Rs contains all the roots of a frame. A frame f is a natural number assigned to Root sets and its dependent event blocks.
- Clotho: A Clotho is a root at layer i that is known by a root of a higher frame (i + 1), and which in turns is known by another root in a higher frame (i +2).
- Atropos: Is a Clotho assigned with a consensus time.
- Main chain: Staked Dag’s Main chain is a list of Atropos blocks and the subgraphs reachable from those Atropos blocks.
Regarding the fairness, PoW protocol is fair because a miner with pi fraction of the total computational power can win the reward and create a block with the probability Pi. PoS protocol is fair given that an individual node, who has Wi fraction of the total stake or coins, can a new block with Wi probability. However, in PoS systems, initial holders of coins tend to keep their coins in their balance in order to gain more rewards. NCOG’s Forest protocol is fair since every node has an equal chance to create an event block. Nodes in Forest protocol can enter the network without an expensive hardware like what is required in PoW. Further, any node in Forest protocol can create a new event block with a stake-based probability, like the block creation in other PoS blockchains. In a PoS blockchain system, it is a possible concern that the initial holders of coins will not have an incentive to release their coins to third parties, as the coin balance directly contributes to their wealth. Unlike existing PoS protocols, each node in Forest protocol are required to validate parent event blocks before or can create a new block. Thus, the economic rewards a node earns through event creation is, in fact, to compensate for their contribution to the on-chain validation of past event blocks and its new event block. Forest protocol is more intuitive because our reward model used in
stake-based validation can lead to a more reliable and sustainable network. About security, Forest protocol has less vulnerabilities than PoW, PoS and DPoS. As for a guideline, Table below shows a comparison between existing PoW, PoS, DPoS and our Forest protocol, with respect to the effects of the common types of attack on previous protocols.