بررسی کاربردی الگوریتم های اجماع استفاده شده در شبکه های بلاک چین

نوع مقاله : مقاله مروری

نویسندگان

1 دانشجوی دکتری مدیریت فناوری اطلاعات، دانشگاه علامه طباطبائی

2 دانشیار دانشگاه علامه طباطبائی

چکیده

فناوری بلاک چین، که با معرفی رمزارز بیت کوین در سال 2008 به اوج شکوفایی خود رسید، امروزه نوعی فناوری دگرگون کننده در فضای کسب و کار به شمار می رود. با استفاده از شبکه های بلاک چین می توان پایگاه های داده و دفاتر کل متمرکز را با دفاتر کل و پایگاه های دادۀ امن و توزیع شده میان اعضای شبکه، که به عنوان صحه گذار شناخته می شوند، جایگزین نمود. مهم ترین بخش ساختار شبکۀ بلاک چین، الگوریتم های اجماع به کار رفته در آن است که با استفاده از آن، شیوۀ به توافق رسیدن اعضای شبکه دربارۀ اضافه کردن بلوک اطلاعاتی به زنجیرۀ اطلاعاتی بلوک ها تعیین می شود. به عبارت دیگر، الگوریتم های اجماع قوانین و پروتکل هایی را مشخص می کنند که مطابق آن اعضا دربارۀ اینکه کدام بلوک به زنجیره اضافه شود و این کار را چه عضوی انجام دهد به توافق می رسند و از شکل گیری ساختارهای موازی و متناقض جلوگیری می کنند. الگوریتم های اجماعِ به کار رفته در بلاک چین به دو گروه تقسیم می شوند. گروه نخست، الگوریتم های اثبات محورند. در این الگوریتم ها، اعضای مشارکت کننده در شبکۀ صحه گذاری باید نشان دهند که برای افزودن بلوک جدید شرایط و توان بهتری به نسبت سایرین دارند. گروه دوم الگوریتم های رأی محورند؛ در این الگوریتم ها، اعضای شبکه قبل از تصمیم نهایی، باید نتایج خود را درخصوصِ صحت تراکنش یا بلوک جدید با یکدیگر درمیان بگذارند. در این مقاله، الگوریتم های اجماعی بررسی می شوند که در بلاک چین کاربرد بیشتری دارند و ضمن بیان ویژگی های مهم آن ها، از جهات گوناگون نیز با یکدیگر مقایسه می شوند.

کلیدواژه‌ها


عنوان مقاله [English]

An applied investigation of Consensus Algorithms Used in Blockchain Networks

نویسندگان [English]

  • Mohammad Shahbazi 1
  • Saeed Kazem Pourian 1
  • Mohammadreza Taghva 2
1 Allameh Tabatabai University
2 Allameh Tabatabai University
چکیده [English]

Today, Blockchain technology is seen as a revolutionary technology in the business environment, and the peak of its prosperity was the introduction of Bitcoin in 2008. Blockchain networks allow centralized databases and general ledgers to be replaced, protected, and distributed databases to network members recognized as network verifiers. The most important part of the Blockchain network structure is the consensus algorithm, which determines how a new block between all nodes in the verifying network is agreed to be appended. In other words, consensus algorithms decide rules and protocols that define which block and by which member to connect to the main chain, and prevent parallel and conflicting structures. Consensus algorithms can be divided into two principal classes. The first category is proof-based consensus algorithms, which allow the nodes that enter the verifying network to demonstrate that they are more eligible and better than the others to do the new block that is to be added. The second group is consensus algorithms focused on voting, allowing nodes in the network to share their results from checking a transaction or a new block before making the final decision. In this paper, we discuss consensus algorithms that have been researched and are currently being applied in some well-known Blockchain applications, while discussing and comparing key features in various aspects.

کلیدواژه‌ها [English]

  • Consensus algorithms
  • Blockchain
  • Proof-based Algorithms
  • Vote-based Algorithms
 
[1] کاظم پوریان، سعید، شهبازی، محمد، تقوا، محمدرضا. (1399). امن‌سازی رایانش مرزی از طریق زنجیره بلوکی. سیاست نامه علم و فناوری، 10(1)، 9-10.
[2] Abeyratne, S. A., and Monfared, R. P. (2016). Blockchain ready manufacturing supply chain using distributed ledger. International Journal of Research in Engineering and Technology, 05(09), 1-10.
 
[3] Alsunaidi S., J., Alhaidari, F. A., (2019). A Survey of Consensus Algorithms for Blockchain Technology, International Conference on Computer and Information Sciences (ICCIS), DOI: 10.1109/ICCISci.2019.8716424.
 
[4] Armknecht, F., Karame, G. O., Mandal, A., Youssef, F., and Zenner, E. (2015). Ripple: Overview and outlook, International Conference on Trust and Trustworthy Computing, Springer, 163–180.
 
[5] Attaran M, Gunasekaran, A. (2019). Applications of Blockchain Technology in Business: Challenges and Opportunities. https://doi.org/10.1007/978-3-030-27798-7
 
[6] Bach, L.M., Mihaljevic, B., and Zagar, M. (2018). Comparative analysis of blockchain consensus algorithms, 41st International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, 1545-1550.
 
[7] Bentov, I., Lee, C., Mizrahi, A., and Rosenfeld, M. (2014). Proof of activity: extending bitcoin's proof of work via proof of stake. ACM SIGMETRICS Performance Evaluation Review, 42(3), 34-37.
 
[8] Bessani, A., Sousa, J., and Alchieri, E. E. P. (2014). State machine replication for the masses with BFT-SMART, Proceedings of 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, Atlanta, GA, 355-362.
 
[9] Bradbury, D. (2013). The problem with Bitcoin, Computer Fraud & Security, 11, 5–8.
 
[10] Cachin, C. (2016), Architecture of the hyperledger blockchain fabric. Proceedings of ACM Workshop onDistributed Cryptocurrencies and Consensus Ledgers, Chicago, IL.
 
[11] Castro, M., Liskov, B. (1999). Practical byzantine fault tolerance. OSDI '99: Proceedings of the third symposium on Operating systems design and implementation, 99, 173–186.
 
[12] Cohn, J. M., Finn, P. G., Nair, S. P., Panikkar, S. B., and Pureswaran, V. S. (2017). Autonomous decentralized peer-to-peer telemetry, International Business Machines Corp.
 
[13] Croman, K., Decker, C., Eyal, I., Gencer, A. E., & Juels E. A. A., (2016). On scaling decentralized blockchains. ICFCDS16, Christ Church, Barbados, pp. 106–125.
 
[14] Dziembowski, S., Faust, S., Kolmogorov, V., and Pietrzak, K. (2015). Proofs of space” in Advances in Cryptology–CRYPTO, Heidelberg: Springer, 585-605.
 
[15] EOS. IO. (2018). EOS.IO Technical White Paper v2, https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md, 2018.
 
[16] Ethereum [Online]. Available: https://www.ethereum.org.
 
[17]. Ethereum Wiki, Problems. (2017a). [Online]. Available: https://github.com/ethereum/wiki/wiki/Problems
 
[18]. Florian, T., & Bjorn, S. (2016). Bitcoin and beyond: a technical survey on decentralized digital currencies. IEEE Communications Surveys & Tutorials, vol. 18, no. 3, pp. 2084–2123.
 
 [19] Feng, Q., He, D., Zeadally, S., Khan, M. K., Kumar, N. (2019). A survey on privacy protection in blockchain system. Journal of Network and Computer Applications, 126(15), 45-58.
 
 
[20] Haber, S., and W. S. Stornetta, S. (1991). How to time-stamp a digital document. Journal of Cryptology, 3(2), 99-111.
 
 [21] Kiayias, A., Russell, A., David, B., and Oliynykov, R. (2017). Ouroboros: A provably secure proof-of-stake blockchain protocol. Annual International Cryptology Conference, Springer, 357–388.
 
 [22] King, S., and Nadal, S. (2012). PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake.
 
[23] Lamport, L. (2001). Paxos made simple. ACM SIGACT News, 32(4), 18-25.
 
[24] Lamport, L., Shostak, R. E., and Marshall, C. (1982). The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems, 4(3).
 
[25] Larimer, D. (2018). Delegated proof-of-stake (dpos), Bitshare whitepaper.
 
[26] Li, X., Jiang, P., Chen, T., Luo, X., and Wen, Q. (2018). A survey on the security of blockchain systems. Future Generation Computer Systems, https://doi.org/10.1016/j.future.2017.08.020
 
[27] Mazieres, D. (2015). The Stellar Consensus Protocol: a federated model for internet-level consensus [Online]. Available: https://www.stellar.org/papers/stellar-consensus-protocol.pdf.
 
[28] Milutinovic, M., He, W., Wu, H., and Kanwa, M. (2016). Proof of luck: an efficient Blockchain consensus protocol. Proceedings of the 1st Workshop on System Software for Trusted Execution, New York, NY.
 
[29] Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system.
 
[30] Nem technical reference. Available: https://nem:io/wp-content/themes/nem/files/NEM techRef:pdf.
 
[31] Nguyen, G. T., and Kim, K. (2018). A Survey about Consensus Algorithms Used in Blockchain. Journal of Information Process Systems, 14(1), 101-128.
 
[32] Nxt wiki, (2016). Whitepaper: Nxt, [Online]. Available: https://nxtwiki.org/wiki/Whitepaper:Nxt.        
 
[33] P4Titan. (2014). Slimcoin: a peer-to-peer crypto-currency with proof-of-burn [Online]. Available: http://www.doc.ic.ac.uk/~ids/realdotdot/crypto_papers_etc_worth_reading/proof_of_burn/slimcoin_whitepaper.pdf.
 
[34] Poon, J., Dryja, T. (2016). The bitcoin lightning network: Scalable off-chain instant payments [White paper].
 
[35] Poon, J., Buterin, V. (2017). Plasma: Scalable autonomous smart contracts [White paper].
 
[36] Popov, S. (2016). A probabilistic analysis of the Nxt forging algorithm, Ledger, 1,69-83.
 
[37] QuorumChain Consensus [Online]. Available: https://github.com/jpmorganchase/quorum/wiki/QuorumChain-Consensus.
 
[38] Robert, E. (2017). Digital signatures, [Online]. Available: http://cs.stanford.edu/people/eroberts/courses/soco/projects/public-key-cryptography/dig_sig.html.
 
[39] Schwartz, D., Youngs, N., Britto, A. (2014). The ripple protocol consensus algorithm [Online]. Available: https://ripple.com/files/ripple_consensus_whitepaper.pdf.
 
[40] Sompolinsky, Y., and Zohar, Z. (2013). Accelerating Bitcoin's transaction processing: fast money grows on trees not chains, [Online]. Available: https://eprint.iacr.org/2013/881.pdf.
 
.
 
[41] Yang, R., Yu, F. R., Si, P., Yang, Z., & Zhang, Y. (2019). Integrated blockchain and edge computing Systems: A Survey, Some Research Issues and Challenges. IEEE Communications Surveys & Tutorials, vol. 21, no. 2, pp. 1508–1532.
 
[42] Yu, F. R. (2019). A service-oriented blockchain system with virtualization. Transactions on blockchain technology and Applications, vol. 1, no. 1, pp. 1–10.
 
[43] Yu, F. R., Liu, J., He, Y., Si, P., & Zhang, Y. (2018). Virtualization for distributed ledger technology (vdlt). IEEE Access, vol. 6, pp. 25019–25028.
 
[44] Vukolic, M. (2015). The quest for scalable blockchain fabric: Proof-of-work vs. BFT replication. International Workshop on Open Problems in Network Security, Zurich, Switzerland.
 
[45] Wu, M., Wang, K., Cai, X., Guo, S., M. Guo, M., and Rong, C.  (2019). A Comprehensive Survey of Blockchain: From Theory to IoT Applications and Beyond, IEEE Internet of Things Journal, 6(5), 8114-8154.
 
[46] Zhang, S., Lee, J. H. (2019), Analysis of the main consensus protocols of blockchain, ICT Express.