Hybrid Consensus Algorithm Based on Modified Proof-of-Probability and DPoS
2. Background and Related Work
2.3. Delegated Proof-of-Stake
2.5. Requirement Analysis
3. System Model and Algorithm
3.2. Main Algorithm
- When the transaction occurs, the whole network publishes a true hash and many false hashes.
- Each PoP node uses its own hash sorting algorithm to give the mining order.
- The PoP node creates the block header and exhausts the nonce value for mining.
- If a hash is decrypted, the nonce value is compared with the expected value given by the supernode of DPoS. If they do not match, the PoP node needs to enter the waiting time (the waiting time depends on the number of PoP nodes. If the number of nodes is less than 10, the waiting time is 1 min. If the number of nodes is greater than or equal to 10, the node needs to wait until a block is successfully verified, i.e., at most wait for ten minutes) and mining should be continued by other PoP nodes. When the next hash is decrypted, the current supernode can specify one more expected value, until the tenth time, when ten expected values are specified; it must be consistent. If it is consistent, it shall be submitted to other supernodes for further verification. If more than half of the supernodes pass the verification, it shall be deemed as successful mining (it should be noted that the nodes that generate blocks and pass all validation should also enter the waiting time to prevent the same high computing power node from generating blocks continuously). Otherwise, this PoP node will enter the waiting time, and other PoP nodes will continue mining. After a block is generated and verified successfully, the next supernode will verify when the next hash is decrypted.
- DPoS supernodes are elected through calculating the corresponding votes of each DPoS node by using the sublinear function according to the number of tokens they own (not one vote for one person, which increases the cost of controlling votes, and is not linearly related to the number of tokens, which limits the voting weight of nodes with many tokens). If more than half of the tokens have voted, 72 nodes with the most votes will be selected as supernodes from the candidate pool.
- After randomly disrupting the order of supernodes, each supernode validates the block by giving the expected value in turn. If the node does something bad, it is removed from the system by voting, and a node is selected from the candidate pool to replace it. After ten rounds, they vote again to select the supernodes.
4. Analysis of Algorithm
4.1. Security Analysis
4.1.1. Supernodes Election Security
4.1.2. Mining Security
4.1.3. System Security
4.2. Liveness Analysis
5. Evaluation and Results
5.1. Supernodes Election
5.2. Transaction Throughput
- 51% attack: For the blockchain system based on a single consensus algorithm, malicious nodes usually only need 51% of the computing power or 51% of the token in the system to launch 51% attacks. In the proposed algorithm, due to the combination of two consensus algorithms, the malicious node must have 51% of the computing power and 51% of the token in the system to launch an effective malicious attack, which greatly increases the cost of malicious attacks and improves the security of the system.
- DDoS attack: In fact, blockchain technology itself can well resist traditional DDoS attacks. This is because the traditional centralized system will absorb a lot of spam information, which may lead to DDoS attacks, and the nature of DDoS attacks makes it almost impossible to achieve the bandwidth needed to process these data. A decentralized blockchain platform allows users to rent their bandwidth, which can be pooled, thus, greatly increasing the amount of data processing and greatly reducing the risk of DDoS attacks. At the same time, for the proposed algorithm, due to the use of the waiting time mechanism and the expected value mechanism, it is easy to verify the validity of the request, so a large number of malicious requests will be easily rejected, and at the same time, force the malicious nodes to enter the waiting time, which significantly reduces the frequency of malicious attacks, and then, enables the blockchain system to effectively resist DDoS attacks.
- Selfish mining attack: In the general blockchain system, malicious nodes may choose not to disclose their own generated blocks, but to continue mining on their own branch. When the length of the public branch exceeds that of the private branch, the malicious node will publish the private branch to make the mining of the honest node invalid. However, in the proposed algorithm, due to the introduction of the waiting time mechanism and expected value mechanism, block generation only depends on computing power competition to a small extent, and more depends on probability. Therefore, malicious nodes usually do not have the ability to create private branches. In addition, even if a malicious node can generate blocks earlier, it must be disclosed, compared with the expected value, and matched to be considered as a valid block. Therefore, the malicious node can’t hide blocks and guarantee their validity. Moreover, it will be regarded as malicious behavior to disclose a blockchain containing several invalid blocks later. Then, the malicious node will be removed by voting. Therefore, the proposed algorithm can effectively prevent a selfish mining attack.
- Sybil attack: In the blockchain system, a single malicious node may disguise as multiple nodes to control the whole network and conduct malicious behavior. In the proposed algorithm, due to the combination of PoP and DPoS, no matter what kind of node the malicious node wants to disguise as, it needs to pay a price. That is, if the malicious node disguises as a PoP node, it must have certain computing power and carry out mining. Only if the node mines successfully can it be regarded as an effective node. If it is disguised as a DPoS node, it must have a certain number of tokens to participate in voting. Obviously, the cost of a Sybil attack by a malicious node is as high as that of 51% attack. Therefore, the proposed algorithm can also better resist Sybil attacks. It is worth mentioning that this algorithm can be further improved to better resist Sybil attacks. For example, adding an authentication mechanism can make use of third-party trusted organizations such as Oracle for authentication, but this will sacrifice the decentralization of the system and the anonymity of nodes. Therefore, a guaranteed algorithm can also be used to ensure that any new node must be guaranteed by the trusted node in advance, which can be used for identity authentication under the premise of ensuring anonymity.
Conflicts of Interest
- Shen, X.; Pei, Q.Q.; Liu, X.F. Survey of block chain. J. Netw. Inf. Secur. 2016, 2, 11–20. [Google Scholar]
- Hosen, S.; Singh, S.; Sharma, P.K.; Ghosh, U.; Wang, J.; Ra, I.H.; Cho, G.H. ABlockchain-Based Transaction Validation Protocol for a Secure Distributed IoT Network. IEEE Access 2020, 8, 117266–117277. [Google Scholar] [CrossRef]
- Malik, A.A.; Tosh, D.K.; Ghosh, U. Non-Intrusive Deployment of Blockchain in Establishing Cyber-Infrastructure for Smart City. In Proceedings of the 2019 16th Annual IEEE International Conference on Sensing, Communication, and Networking (SECON), Boston, MA, USA, 10–13 June 2019; pp. 1–6. [Google Scholar] [CrossRef]
- Singh, P.; Nayyar, A.; Kaur, A.; Ghosh, U. Blockchain and Fog Based Architecture for Internet of Everything in Smart Cities. Future Internet 2020, 12, 61. [Google Scholar] [CrossRef][Green Version]
- Lamport, L.; Shostak, R.; Pease, M. The Byzantine generals. Problem. ACM Trans. Program. Lang. Syst. 1982, 4, 382–401. [Google Scholar] [CrossRef][Green Version]
- Conti, M.; Kumar, E.S.; Chhagan, L.; Ruj, S. A survey on security and privacy issues of bitcoin. IEEE Commun. Surv. Tutor. 2018, 20, 3416–3452. [Google Scholar] [CrossRef][Green Version]
- Dwork, C.; Naor, M. Pricing via Processing, Or, Combatting Junk Mail. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 16–20 August 1992; Springer: Berlin, Germany, 1992; pp. 139–147. [Google Scholar]
- King, S.; Nadal, S. PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake [EB/OL]. 5 March 2012. Available online: https://peercoin.net/assets/paper/peercoin-paper.pdf (accessed on 15 May 2018).
- Dantheman. DPOS Consensus Algorithm—The Missing White Paper [EB/OL]. 2017. Available online: https://steemit.com/bitshares/@.testz/bitshares-history-delegated-proof-of-stake-dpos (accessed on 15 November 2019).
- Sungmin, K.; Joongheon, K. POSTER: Mining with Proof-of-Probability in Blockchain. In Proceedings of the 2018 on Asia Conference on Computer and Communications Security (ASIACCS’ 18), Incheon, Korea, 4–8 June 2018; Association for Computing Machinery: New York, NY, USA; pp. 841–843. [Google Scholar]
- Tromp, J. Cuckoo Cycle: A memory bound graph-theoretic proof-of-work. In Financial Cryptography and Data Security; BITCOIN 2015; Springer: Berlin, Germany, 2015; pp. 49–62. [Google Scholar]
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Technical Report. Available online: http://bitcoin.org/bitcoin.pdf (accessed on 21 October 2019).
- Antonopoulos, A.M. Mastering Bitcoin: Unlocking Digital Crypto-Currencies; O’ Reilly: Sebastopol, CA, USA, 2014; p. 5760. [Google Scholar]
- BTC.com. Mineral Pool Statistics [EB/OL]. 13 May 2018. Available online: https://btc.com/stats/pool?pool_mode=day (accessed on 13 May 2018).
- Houy, N. It will cost you nothing to ‘kill’ a proof-of-stake. Cryptocurrency 2014, 34, 1038–1044. [Google Scholar]
- Xia, Q.; Zhang, F.J.; Zuo, C. Review for consensus mechanism of. cryptocurrency system. Comput. Syst. Appl. 2017, 26, 1–8. [Google Scholar]
- Castro, M.; Liskov, B. Practical Byzantine fault tolerance. In Proceedings of the OSDI, New Orleans, LA, USA, 22–25 February 1999; Volume 99, pp. 173–186. [Google Scholar]
- Nayak, K.; Kumar, S.; Miller, A.; Shi, E. Stubborn Mining: Generalizing Selfish Mining and Combining with an Eclipse Attack. In Proceedings of the IEEE European Symposium on Security & Privacy, Saarbrücken, Germany, 21–24 March 2016; IEEE: Piscataway, NY, USA, 2016. [Google Scholar]
- Eyal, I.; Sirer, E.G. Majority is not enough: Bitcoin Mining is Vulnerable. In Proceedings of the International Conference on Financial Cryptography and Data Security, Christ Church, Barbados, 3–7 March 2014; pp. 436–454. [Google Scholar]
- Karame, G.; Androulaki, E.; Capkun, S. Two bitcoins at the price of one? Double-spending attacks on fast payments in bitcoin. In Proceedings of the Conference on Computer & Communications Security, Raleigh, NC, USA, 16–18 October 2012; pp. 906–917. [Google Scholar]
- Mirkovic, J.; Robinson, M.; Reiher, P.; Oikonomou, G. Distributed Defense against DDOS Attacks; University of Delaware CIS Department Technical Report CIS-TR-2005-02; University of Delaware: Newark, DE, USA, 2005. [Google Scholar]
- Douceur, J.R. The Sybil Attack. In Proceedings of the Peer-to-Peer Systems, First International Workshop (IPTPS), Cambridge, MA, USA, 7–8 March 2002; Springer: Berlin, Germany, 2002. [Google Scholar]
|Resistance of various attacks||✓✓✓||✓||✓✓||✓✓||✓|
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Wang, B.; Li, Z.; Li, H. Hybrid Consensus Algorithm Based on Modified Proof-of-Probability and DPoS. Future Internet 2020, 12, 122. https://doi.org/10.3390/fi12080122
Wang B, Li Z, Li H. Hybrid Consensus Algorithm Based on Modified Proof-of-Probability and DPoS. Future Internet. 2020; 12(8):122. https://doi.org/10.3390/fi12080122Chicago/Turabian Style
Wang, Baocheng, Zetao Li, and Haibin Li. 2020. "Hybrid Consensus Algorithm Based on Modified Proof-of-Probability and DPoS" Future Internet 12, no. 8: 122. https://doi.org/10.3390/fi12080122