Caduceus Basics

Consensus

2min

Caduceus uses a Directed Acyclic Graph (DAG) architecture to store transactions and achieve consensus. This makes it orders of magnitude more efficient for Metaverse applications when compared to other blockchains such as Ethereum or Binance Smart Chain.

Unlike a conventional blockchain which consists of blocks, directed acyclic graphs are structured to incorporate vertices and edges. Thus, crypto transactions can be recorded as vertices. These vertices can then be connected to other transactions. Transactions are submitted to the DAG via nodes.

Simply put, whereas a blockchain system looks like a chain, DAG’s system looks more like a connected graph. The DAG model is currently seen in the industry as a possible substitute for blockchains in the future due to its efficiency in metaverse data storage and processing of online transactions. 

Asynchronous Byzantine Fault Tolerance (ABFT) mechanisms ensure that consensus can occur before all validating nodes achieve an absolute view of the state of the machine. This increases overall efficiency and allows faster settlements.

Caduceus' DAG is organized in the form of an orderly hypercube, a data structure that allows for efficient relationship management between DAG nodes and edges. This particular hypercube is 10 dimensional.

To illustrate how this architecture can elegantly maintain complex relationships betweewn nodes, we can depict the relationships between nodes in a 5 dimensional hypercube, vs the 10 dimensional hypercube used by Caduceus.

A 5-dimensional hypercube
A 5-dimensional hypercube




A 10-dimensional hypercube
A 10-dimensional hypercube


Ultimately, Caduceus will support more than 10,000 individual validators contributing to the consensus process. The consensus process can be depicted in the following data flow diagram:



Consensus under Caduceus
Consensus under Caduceus




The Consensus process progresses as follows:

Broadcasting Event: The consensus module broadcasts the proposed event through a P2P protocol to other consensus nodes.

Receiving Event: Every node that receives the broadcast event then executes the witness algorithm on the event; every witness in Round R + 2 will collect votes from Round R + 1; witnesses in Round R + 2 that strongly see witnesses (Events) of Round R + 1 can also strongly see events that are witnesses of Round R + 1. If the number reaches the requirement of an absolute majority, the event is confirmed immediately, reaching the consensus of the entire network and cannot be changed.

Forming/Shaping Block: Based on the transactions information in the event, a block will be formed in the DAG.

Performing transactions in batches: Based on the transactions in the block, verify the transactions and result sets in batches asynchronously, and analyze the transactions Directed Acyclic Graph (DAG); asynchronously write read-write sets into the global database.