Consensus Algorithm (DPOS + MCMC + PBFT)

EVAIO utilizes Delegated Proof of Stake (DPOS) to select 3 roles, Markov Chain Monte Carlo (MCMC) to randomly send the transactions to DAG peers, Practical Byzantine Fault Tolerance (PBFT) for state communication. Under DPOS algorithm, those who hold EVA tokens may select Block Producers, DAG peers and DAG witnesses through a voting system.

Anyone who chooses to participate in the system, will be given an opportunity to produce blocks, issue transactions, and post main chain. Users can persuade token holders to vote for them.

In general, the DAG peers will issue transactions for end users. The DAG witnesses will post the best child-parent link transactions as the DAG main chain. The witnesses can be understood as regulatory agencies in the DAG layer to ensure double-spend will not happen. The Block producers will verify the summarized transactions and produce blocks in Blockchain layer.

The 3 roles in this model have their separate responsibilities but serve the same purpose to make the ledger safe. We imprecisely call this Separation of powers. The powers come from token holders as shown in the image above.

The algorithms in EVAIO work as following:

1. DPOS Algorithm is used to elect 3 roles: Block producers, DAG peers, and Witnesses.

2. The DAG peers are randomly selected by MCMC algorithm.

3. The selected DAG peers start to do a light POW algorithm to find the nonce and then issue a transaction in DAG network.

4. The DAG witnesses post the best Parent-child link as the Main Chain.

5. PBFT algorithm is used when block producers send messages to each other.

6. The block producers summarize the transactions and create the EVAIO blocks.

The benefits of our design consists of more decentralization and offers a higher scalability compared to a blockchain. Furthermore, this model allows us to deploy decentralized apps much easier.