Below is an article that was written by Liam Li, a senior architect at DAEX. The text was translated from Mandarin Chinese into English.

In PoW, the miners and the system itself are separate entities. PoS is different in that nodes which hold tokens in a PoS system are able to participate in the consensus process, forming a “weak binding” connection with the system. However, there is still no way for these nodes to penalize malicious nodes which act only in their own interests. ASPoS aims to solve this by basing each node’s stake on its deposit amount, activity levels and Clearing Value Factor (CVF). Nodes that contribute more to the ecosystem will naturally have a higher CVF, which in turn means they will obtain greater rewards from mining during the consensus process.

Consensus mechanisms are at heart blockchain technology. One of the most popular consensus mechanisms, Bitcoin’s Proof of Work (PoW), is used by many blockchains because of its high availability, decentralization and security advantages. This has given rise to many algorithms based on PoW. However, for all its advantages, PoW uses an unsustainable amount of electricity. In fact, the current annual power consumption of Bitcoin alone is 61.4 TWh­ — which is roughly equal to 1.5% of the total energy consumption in the United States. Because of this, alternative consensus mechanisms such as those based on PoS (Proof of Stake) and BFT, are steadily gaining popularity. Ethereum’s switch from PoW to PoS is a clear indicator of this trend. Following this, PoS consensus variants such as PoS 3 (Qtum), Casper (Ethereum) and DPoS (EOS) have all been developed according to different application environments. DAEX has continued this trend with its creation of ASPoS for use in the DAEX Clearing Chain. In this article, we will examine DAEX’s new consensus mechanism from the following five angles:

There are four types of nodes in ASPoS: regular nodes, validator nodes, quasi-creator nodes and creator nodes. A regular node can become a validator node after paying and locking in a deposit. The locked deposit system not only prevents Sybil attacks and long-range attacks, it also penalizes malicious nodes by making them forfeit their deposits. This leads to increased system security. At the next stage in the process, the validator nodes with the highest activity levels are chosen to become quasi-creator nodes. Activity levels are calculated according to each node’s contribution to the DAEX ecosystem. Selecting highly active nodes to participate in the creation of new blocks therefore incentivizes nodes to participate more in the ecosystem while also de-incentivizing malicious behavior. Finally, quasi-creator nodes use a verifiable random function (VRF) lottery to determine which node becomes the creator node. The creator node then creates and broadcasts the next block. This VRF lottery system prevents DoS and bribery attacks by ensuring the randomness of the next creator node, thus achieving greater fairness. The ASPoS node selection process has two goals:

(1) To ensure positive feedback between nodes and the ecosystem by incentivizing node participation.

(2) To de-incentivize malicious node behavior, thereby increasing system security.

Consensus Design Choices

Blockchains are distributed systems that rely on the exchange of information between various nodes in the network in order to reach a consensus. Network delays, crashes and partitions are all potential problems that should be considered when choosing a consensus mechanism. There are three kinds of blockchains: private blockchains, consortium blockchains and public blockchains. Consortium blockchains and private blockchains are deployed in synchronous LANs or special networks in which network conditions are optimal. Consensus mechanisms for these blockchains therefore do not need to consider too many potential problems. Good consensus mechanisms for synchronous networks include DPoS, DBFT and PBFT. Public blockchains, on the other hand, have to face an asynchronous network environment where the network conditions are completely uncontrollable. In this case, DAEX’s ASPoS and Satoshi Nakamoto’s PoW are better choices. The first consideration when choosing a consensus mechanism should always be ensuring availability in various network environments. This is because information delays and network uncertainty in asynchronous networks can lead to a series of problems.

In an asynchronous network, it is impossible to use a consensus mechanism which depends on synchronization (such as PBFT or Tendermint). This is because in an asynchronous environment, there is no synchronized global “clock”. Each node can therefore only make decisions based on its own perspective, using only its local clock and local information. These decisions can range from whether a new block should be created at the next height to whether the block received has the smallest selection value out of all blocks, and so on. This means that the finality of the blockchain is not guaranteed. Unfavorable network conditions may cause some nodes to fail to receive new blocks with smaller selection values ​​within the designated time period, causing them to accept other new blocks into the chain. This leads to a fork in the system. When the two forks meet again, convergence is achieved with one branch being selected to continue the blockchain while the other is abandoned. The transactions contained in the abandoned forked block are also discarded, which inevitably leads to a lack of block finality. As in Bitcoin, blocks in ASPoS have a high probability of being confirmed, which means that after a sufficiently long period, forks are bound to converge. At the same time, the accumulated signature mechanism in ASPoS can be used as a reference for confirmation probability. BFT-type consensus mechanisms, such as PBFT and DBFT, are strong finality consensus mechanisms that do not produce system forks. However, these consensus mechanisms are completely dependent on the assumed synchronicity of the system.

Throughput Issues

Throughput problems have long been a bottleneck in blockchain systems. At present, there are two ways to increase throughput:

(1) The delegation of certain nodes to participate in consensus, as seen in DPoS and DBFT

(2) Sharding, as seen in Ethereum and Zilliqa

Using the node delegation approach, the consensus process is transformed from one in which everyone participates to one in which only node delegates participate. If the delegates cooperate with malicious intent, this creates a disastrous situation for the entire network. In addition, with a relatively few number of nodes participating in consensus, attacks such as DoS are also easier. The node delegation approach therefore achieves high throughput at the expense of the security and robustness of the system. Sharding, on the other hand, improves throughput by parallelizing the consensus process. In Ethereum, both transaction sharding and storage sharding are implemented. In Zilliqa, only transaction sharding is implemented, with each node storing all historical data. The DAEX ecosystem will use sub-chains and ASPoS sharding to handle throughput issues.

The Nothing-At-Stake Problem

The nothing-at-stake problem is native to PoS consensus. It occurs because each rational node in a PoS system will chose to vote on all forks in order to maximize profits. Ethereum’s Casper solves the nothing-at-stake problem by penalizing the deposit of validator nodes that vote at the same time on multiple forks. ASPoS is different in that it also mitigates the nothing-at-stake problem by implementing an alternative reward distribution strategy. In other PoS mechanisms, only nodes that create new blocks obtain rewards. ASPoS, on the other hand, also rewards nodes that participate in the accumulative signature validation of blocks. The block with the smallest selection value has the largest probability of being recorded on the blockchain. This makes it pointless for validator nodes to maliciously sign every block. In addition, idle nodes that do not participate in block validation in the system may be penalized, while greater rewards are given to validator nodes which validate blocks more quickly. Working in combination, these rewards and penalties ensure the system runs as intended.

System Security Considerations

The only way to ensure security in the blockchain is to make the cost of malicious behavior much greater than the rewards obtained from said behavior. If this is implemented correctly, most participants will choose not to engage in malicious behavior. ASPoS increases system security in the following five ways:

(1) The deposit mechanism mitigates Sybil attacks and increases the cost of double-spend attacks by dunkle nodes.

(2) Activity ranking creates a shared interest between nodes and the ecosystem itself, promoting positive behavior while filtering out malicious nodes.

(3) By using a VRF lottery system, the random selection of which node creates the next block is guaranteed, preventing node bribery and DoS attacks.

(4) The propagation selection mechanism ensures that even if a malicious node creates an illegal block or maliciously signs a block with a larger selection value, these blocks will be filtered out during the process of propagation. The cost of malicious behavior is therefore greatly increased.

(5) A limited period of time between the creation of new blocks prevents long-range attacks.

In conclusion, even an entity which controls 51% of the node stake will find it difficult to carry out an attack in ASPoS.