Caduceus

⌘K
Quickstart
Blockchain Basics
What is a Blockchain?
Types of Blockchain
Consensus Mechanism
What is a Smart Contract?
The Ethereum Virtual Machine
Solidity
Caduceus Basics
What is Caduceus?
Consensus
Parallel Execution
Storage
Edge Rendering
Smart Contracts
Nodes
Tokenomics
GameFi
Introduction to GameFi
Introduction to Unity
ChainSafe SDK overview
Using ChainSafe with Unity
Users
Wallets
Exchanges
D'Apps
🦉Oracles
Redstone
Developers
To Api's
Caduceus RPC Endpoints
Getting Testnet Tokens
SDK's
Templates
Tutorials
EVM Tools
Explorers
XR Dev Kit
Node Operators
Node Architecture
Network Specs
Running a V1 Node
Staking
Feedback
Docs powered by archbee 

Consensus

3min

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.



Updated 03 Mar 2023
Did this page help you?
Yes
No
PREVIOUS
What is Caduceus?
NEXT
Parallel Execution
Docs powered by archbee