区块链技术作为一种去中心化的基础架构与分布式计算范式,已经引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注.去中心化是区块链技术的核心优势,如何在分布式系统中高效达成共识是制约区块链技术发展应用的重要问题.目前已有多个研究机构及科技公司发布了适用于不同应用场景的共识机制.对现有的几种典型共识机制及其不同变形的算法原理进行深入分析,通过对比,阐述现有共识机制的优缺点,明确区块链技术发展所需的新型共识机制的基本要求,并提出新型共识机制算法设计中的一些基本思路.
As a decentralized infrastructure and distributed computing paradigm, blockchain technology has attracted a great attention from government departments, financial institutions, technology enterprises, capital markets, and so on. As the core advantage of blockchain technology, how to obtain an efficient consensus in the distributed system is an important issue which restricts the development and application of blockchain technology. At present, several research institutions and companies have proposed different consensus mechanisms applied in different application scenarios. In this paper, we conduct an in-depth analysis of several typical consensus mechanisms and their different deformation. Through comparison, the advantages and disadvantages of existing consensus mechanisms have been illustrated. Moreover, the basic requirements of new consensus mechanism have also been defined. Finally, some basic ideas in the designing of new consensus mechanism have been proposed.
[1] Nakamoto S. Bitcoin:A peer-to-peer electronic cash system[EB/OL]. (2008-11-01)[2018-09-30]. https://bitcoin.org/bitcoin.pdf.
[2] Sompolinsky Y, Zohar A. Secure high-rate transaction processing in bitcoin[C]//International Conference on Financial Cryptography and Data Security, Heidelberg:Springer, 2015, 8975:507-527.
[3] Decker C, Wattenhofer R. Information propagation in the bitcoin network[C]//The 13th IEEE Conference on Peer-to-Peer Computing, Trento:IEEE 2013:1-10.
[4] Eyal I, Gencer A E, Sirer E G, et al. Bitcoin-NG:A scalable blockchain protocol[C]//Proceedings of the 13th Usenix Conference on Networked Systems Design and Implementation, 2016:45õ59.
[5] Sompolinsky Y, Lewenberg Y, Zohar A. Inclusive block chain protocols[C]//International Conference on Financial Cryptography and Data Security, Heidelberg:Springer, 2015, 8975:528-547.
[6] Quantum Mechanic. Proof of stake[EB/OL]. (2011-07-11)[2018-09-30]. https://bitcointalk.org/index.php?topic=27787.
[7] Bentov I, Lee C, Mizrahi A, et al. Proof of activity:Extending bitcoin's proof of work via proof of stake[J]. IACR Cryptology ePrint Archive, 2014:452.
[8] King S, Nadal S. PPcoin:Peer-to-peer crypto-currency with proof-of-stake[EB/OL]. (2017-03-26)[2018-09-30]. https://www.peercoin.net/assets/paper/peercoin-paper-nl.pdf.
[9] BitFury Group. Proof of stake versus proof of work[EB/OL]. (2015-09-13)[2018-09-30]. http://bitfury.com/content/5-white-papers-research/pos-vs-pow-1.0.2.pdf.
[10] Lampson B. How to build a highly available system using consensus[J]. Distributed Algorithms, 1996, 1151:1-17.
[11] Larimer D, Kasper L, Schuh F. BitShares 2.0:Financial smart contract platform[EB/OL]. (2015-11-01)[2018-09-30]. http://docs.bitshares.eu/downloads/bitshares-financial-platform.pdf.
[12] Bentov I, Lee C, Mizrahi A, et al. Proof of activity:Extending bitcoin's proof of work via proof of stake[J]. ACM SIGMETRICS Performance Evaluation Review, 2014, 42(3):34-37.
[13] Wood G. Ethereum:A secure decentralised generalised transaction ledger[J]. Ethereum Project Yellow Paper, 2014:1-32.
[14] REN L. Proof of stake velocity:Building the social currency of the digital age[EB/OL]. (2018-04-10)[2018-09-30]. https://assets.coss.io/documents/whitepapers/reddcoin.pdf.
[15] Dziembowski S, Faust S, Kolmogorov V, et al. Proofs of space[C]//Annual Cryptology Conference, Heidelberg:Springer, 2015:585-605.
[16] Intel. Proof of elapsed time[EB/OL]. (2016-12-16)[2018-09-30]. https://intelledger.github.io/introduction.html.
[17] Chen L, Xu L, Shah N, et al. On security analysis of proof-of-elapsed-time (PoET)[C]//International Symposium on Stabilization, Safety, and Security of Distributed Systems, Cham:Springer, 2017, 10616:282-297.
[18] Miller A, Juels A, Shi E, et al. Permacoin:Repurposing bitcoin work for long-term data preservation[C]//2014 IEEE Symposium on Security and Privacy, IEEE Computer Society, 2014, 1:475-490.
[19] Buterin V. A next-generation smart contract and decentralized application platform[J]. Etherum, 2014, 1:1-36.
[20] Juels A, Kaliski B S. PORs:Proofs of retrievability for large files[C]//Proceedings of the 14th ACM conference on computer and communications security, Alexandria:ACM, 2007:584õ597.
[21] Sengupta B, Bag S, Ruj S, et al. Retricoin:Bitcoin based on compact proofs of retrievability[C]//Proceedings of the 17th International Conference on Distributed Computing and Networking, New York:ACM, 2016, 1:1-10.
[22] Monkeymomo. What is UTXO?[EB/OL]. (2018-07-01)[2018-09-30]. https://blog.csdn.net/weixin35780812/article/details/80877892.
[23] Castro M, Liskov B. Practical byzantine fault tolerance[C]//Proceedings of the Third Symposium on Operating Systems Design and Implementation, New Orleans:ACM, 1999:1-10.
[24] Kotla R. Zyzzyva:speculative byzantine fault tolerance[J]. ACM SIGOPS Operating Systems Review, 2007, 41(6):45-58.
[25] Aublin P L, Mokhtar S B, Quema V. RBFT:Redundant byzantine fault tolerance[C]//2013 IEEE 33rd International Conference on Distributed Computing Systems, Washington:IEEE Computer Society, 2013:297-306.
[26] Miller A. The honey badger of BFT protocols[C].//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications, Vienna:ACM, 2016:31-42.
[27] Duong T, Fan L, Zhou H S. 2-hop blockchain:Combining proof-of-work and proof-of-stake securely[EB/OL]. (2017-04-14)[2018-09-30]. https://www.chainnews.com/papers/781680375911.html.