基于可验证随机函数的权威证明共识算法改进
Improved Proof of Authority Consensus Based on Verifiable Random Functions
DOI: 10.12677/CSA.2021.112038, PDF,  被引量    国家自然科学基金支持
作者: 周 宇, 胡振宇, 杨振国, 刘文印:广东工业大学计算机学院,广东 广州
关键词: 区块链共识算法权威证明可验证随机函数Blockchain Consensus Algorithm Proof of Authority Verifiable Random Functions
摘要: 权威证明(Proof of Authority, PoA)共识算法中的领导节点需要提出和确认区块,针对该算法中领导节点选取容易导致权威节点公开易遭受攻击、权威节点不能变更等问题,提出一种基于可验证随机函数领导节点随机选取和动态变更权威节点的可验证权威证明(Verifiable Proof of Authority, VPoA)改进算法。首先,改进PoA共识算法中领导节点的选取方法,在所有权威节点集合中随机选取一个领导节点,其他节点可以验证该领导节点的身份,但无法预知下一阶段中的领导节点,防止权威节点的公开被攻击。其次,PoA中其他节点不经过验证直接接受新区块,VPoA在共识流程中改进区块接收阶段,可以通过投票验证区块的有效性,防止领导节点作恶的情况。此外,VPoA实现节点状态动态变更,即可以通过已参与共识的权威节点来投票决定新节点加入和恶意节点的移除。最后实现了VPoA方案,并进行了实验和安全分析,结果表明VPoA共识改进方案能够正确有效随机选取领导节点,提供稳定的区块出块时间,实现区块链网络共识的一致性。
Abstract: Proof of Authority (PoA) needs leader node to propose block and confirm block. The selection of leader node may expose the authorities, which is vulnerable to attacks and result in the authorities cannot be updated. In this paper, we propose a Verifiable Proof of Authority (VPoA) algorithm based on Verifiable Random Function, aiming to dynamic update the leader node. Firstly, a leader node is randomly selected from the set of all authorities, which can prevent the publicity of authorities from being attacked. The other nodes can verify the identity of the leader node, but they cannot predict the leader node in the next phase. Secondly, other nodes in PoA directly accept new blocks without verification. VPoA adds a Block Acceptance phase to the consensus process, which can verify the validity of the block by voting to prevent the leader node from conducting evil. In addition, VPoA realizes the dynamic change of node status, that is, authority nodes can determine adding new nodes and deleting malicious nodes. Finally, we implement the VPoA and conduct experiments and security analysis. The VPoA consensus can correctly and effectively select the leader node randomly, ensure a stable block generation time, and achieve the consensus of the blockchain network.
文章引用:周宇, 胡振宇, 杨振国, 刘文印. 基于可验证随机函数的权威证明共识算法改进[J]. 计算机科学与应用, 2021, 11(2): 383-393. https://doi.org/10.12677/CSA.2021.112038

参考文献

[1] Nakamoto, S. (2008) Bitcoin: A Peer-to-Peer Electronic Cash System. http://bitcoin.org/bitcoin.pdf
[2] Du, M.X., et al. (2017) A Review on Consensus Algorithm of Blockchain. 2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC), Banff, 5-8 October 2017, 2567-2572.
[3] Gervais, A., Karame, G.O., Karl, W., et al. (2016) On the Security and Performance of Proof of Work Blockchains. ACM SIGSAC Conference on Computer & Communica-tions Security, Vienna, 24-28 October 2016, 3-16. [Google Scholar] [CrossRef
[4] Wood, G. (2014) Ethereum: A Secure Decentralized Generalised Transaction Ledger. Ethereum Project Yellow Paper Vol. 151, 1-32.
[5] Saleh, F. (2018) Blockchain without Waste: Proof-of-Stake. Social Science Electronic Publishing. [Google Scholar] [CrossRef
[6] Castro, M. and Liskov, B. (1999) Practical Byzantine Fault Tolerance. Proceedings of the 3rd Symposium on Operating Systems Design and Implementation, Vol. 99, 173-186.
[7] Gavin, W. (2015) PoA Private Chains. Github.
[8] Parity: Fast, Light, Robust Ethereum Implementation, Parity Technologies, 2017-12-12.
https://www.parity.io
[9] Go-Ethereum.
https://geth.ethereum.org
[10] De Angelis, S., Aniello, L., Baldoni, R., et al. (2018) PBFT vs Proof-of-Authority: Applying the Cap Theorem to Permissioned Block-chain.
[11] Aura.
https://github.com/paritytech/parity/wiki/Aura
[12] Clique.
https://github.com/ethereum/EIPs/issues/225
[13] Ekparinya, P., Gramoli, V. and Jourjon, G. (2019) The Attack of the Clones against Proof-of-Authority. Network and Distributed Systems Security (NDSS) Symposium 2020, San Diego, 23-26 February 2020, 1-14. [Google Scholar] [CrossRef
[14] Xian, X., Zhou, Y., Guo, Y., et al. (2019) Improved Consensus Mechanisms against Censorship Attacks. 2019 IEEE International Conference on Industrial Cyber Physical Systems (ICPS), Taiwan, 6-9 May 2019, 718-723. [Google Scholar] [CrossRef
[15] 刘懿中, 刘建伟, 喻辉. 区块链共识机制研究: 典型方案对比[J]. 中兴通讯技术, 2018, 24(6): 6-11.
[16] 韩璇, 刘亚敏. 区块链技术中的共识机制研究[J]. 信息网络安全, 2017, 17(9): 147-152.
[17] Gilad, Y., Hemo, R., Micali, S., et al. (2017) Algorand: Scaling Byzantine Agreements for Cryptocurrencies. Proceedings of the 26th Symposium on Operating Systems Principles, Shanghai, 28-31 October 2017, 51-68. [Google Scholar] [CrossRef
[18] Deploy Ethereum Proof-of-Authority Consortium Solution Tem-plate on Azure.
https://docs.microsoft.com/en-us/azure/blockchain/templates/ethereum-poa-deployment
[19] 袁勇, 王飞跃. 区块链技术发展现状与展望[J]. 自动化学报, 2016, 42(4): 481-494.