DPoR Consensus and the Dynamic Committee

by CPChain at Sept. 6, 2018

The consensus system of CPChain adopts the Dynamic Proof of Reputation Agreement (DPoR) which is being developed by Shanghai Jiao Tong University Distributed and Smart System Lab.

DPoR Consensus Protocol

The DPoR consensus is rapidly developing as the mainstream consensus agreement protocol. The DPoR Consensus Agreement proposes the concept of a dynamic committee with the aim of strengthening decentralization and avoiding the system-centric risk brought by the committee election process.

 

The Dynamic Committee

The Dynamic Committee is responsible for maintaining the mainchain, adding blocks, and packing blocks. Committee members are calculated by the dynamic election algorithm. The probability that a node is elected to the committee is positively related to the node’s reputation value. During the term of the committee, the committee is supervised by the entire network. If a committee member displays abnormal behavior (downtime, malicious attack, etc.), the system will punish it and the committee will make the corresponding member adjustments.

Current Methods for Committee Election

Voting by Nodes — Nodes with the highest number of votes form a committee with the decision-making power of the governance blockchain.
Authoritative Authorization — Similar to the traditional hierarchy, the recommended nodes form a committee and jointly maintain the mainchain.
Competency Competition — Election through the calculation of “Hash Puzzle” (PoW) to determine the rights of members of the committee and the block.
Encrypted Election — Algorand protocol conducts selection based on verifiable random functions (VRFs) and the probability of being selected has a positive correlation with the number of tokens or coins those nodes hold.

DPoR Committee Election Process

The DPoR consensus protocol takes into consideration privacy during the election process, the randomness of the election algorithm, and the efficiency of the election process.

The election algorithm selects the reputation nodes based on the node’s reputation value and the random number seed; the selected nodes form the committee. The process remains completely anonymous, unpredictable, and can be verified by the entire network. Nodes can perform the entire election process locally, therefore avoiding any extra communication loads.

The node will naturally accumulate higher credibility and increase the chance to be selected as a committee member.
 

Below is the election process:
Bob initiates the reputation node application and becomes a reputation node. The system will generate a list of reputation nodes. Bob will enter the reputation node list and the random number generated by the current system into the election algorithm. Next, the committee list is disclosed and Bob can determine whether his wallet address is on the list. If so, Bob would become an official committee member. Any node could be Bob and all nodes receive a completely identical list, i.e., the election result is unique.

Five Characteristics of DPoR

  1. Anonymity — The privacy of the node is protected. Both the reputation node list and committee list contain only the public key address of the node. Therefore, it is impossible to guess any other node information through the public key address. The entire election process remains completely anonymous and any information about the actual identity or IP address of the node will not be leaked.
  2. Unpredictability — The election results cannot be predicted or manipulated. The results of the election depend only on the list of reputation nodes and the random number seed generated by the system. The generation of the seed depends on the hash value of the nearest block, which cannot be accessed by any node prior to the start of the election.
  3. Randomness — There is a chance to be selected into the final committee regardless of the node level. Reputation nodes can ensure the probability of having a larger selection committee by accumulating credibility in the network. However, they may not be selected due to randomness. Each reputation node has a certain probability to be selected. In the DPoR consensus protocol election algorithm, reputation nodes with a higher reputation have a higher possibility of being selected.
  4. Low Cost — There is no additional cost in participating in the election except for the payment of a certain amount of margin and the need to configure the corresponding hardware services. There is no need to buy large servers or build server clusters to compete, and there is no need to canvass to increase the likelihood of selection. Participating nodes only require active participate in the ecological construction of CPChain, experience the services brought by the system (such as the PDash data trading platform), and assist users to quickly complete transactions.
  5. Dynamic — During the term of the committee, if nodes display abnormal behavior, the system will make dynamic adjustments to the committee members. In order to prevent the committee nodes from being targeted by network malicious nodes during their term of office, the DPoR consensus protocol has designed a shorter election period and each round of elections is relatively independent.

Key Points — DPoR Committee Election

  • The design of the DPoR election algorithm takes into account the democratization and fairness of the network.
  • All nodes which meet the basic requirements can participate in the election.
  • The election cannot be predicted and can be verified by the whole network.
  • The election process is completely anonymous, which protects the privacy and security of the reputation node.
  • The members of the committee are supervised by the whole network during the term.
  • The members change dynamically to enhance the robustness of the system.

The CPChain platform will implement the DPoR concensus protocol to guarantee the reliability and integrity of transactions in an efficient method, and also for reputation to serve as the network incentive.

Please continue to follow our social media for community announcements.

Learn more about CPChain:
Twitter | Telegram | Reddit | Discord | Medium | GitHub | Youtube | WeChat