學術產出-學位論文
文章檢視/開啟
書目匯出
-
題名 以蒙地卡羅方法提升共識演算法效率
A Monte Carlo method to improve the efficiency of consensus algorithms作者 黃清昱
Huang, Ching-Yu貢獻者 郭桐惟
Kuo, Tung-Wei
黃清昱
Huang, Ching-Yu關鍵詞 共識演算法
私有鏈
Consensus Algorithm
Private Blockchain日期 2022 上傳時間 1-八月-2022 18:13:33 (UTC+8) 摘要 區塊鏈可視為一個能抵抗攻擊的分散式資料庫。為了維護所有節點的資料一致性,共識演算法在區塊鏈中扮演重要的角色。私有鏈經常使用PBFT和Raft這類基於訊息交換的共識演算法。節點進行訊息交換時,會設定等待訊息的時間上限,而這個時間上限往往成為此類演算法的效能瓶頸。因此,本論文提出了一個根據網路環境動態調整等待時間上限的演算法。實驗結果顯示我們的演算法可以提升私有鏈效能。
Blockchain is a distributed database system that is resistant to attack, and a consensus algorithm plays an important role in maintaining data consistency among all nodes in the blockchain. Private blockchains often rely on message exchange to reach consensus (e.g., by PBFT and Raft). When messages are exchanged among nodes, a timeout is set to upper bound the waiting time, and this timeout often causes performance bottleneck for consensus algorithms. In this thesis, we propose an algorithm to dynamically adjust the setting of the timeout. Experiment results show that our algorithm can improve the throughput of private blockchains.參考文獻 [1] T. T. A. Dinh, J. Wang, G. Chen, R. Liu, B. C. Ooi and K.-L. Tan, “Blockbench: A framework for analyzing private blockchains,” 於 Proceedings of the 2017 ACM international conference on management of data, 2017.[2] E. Buchman, “Tendermint: Byzantine fault tolerance in the age of blockchains,” University of Guelph, 2016.[3] Castro, Miguel, and Barbara Liskov, “Practical Byzantine fault tolerance and proactive recovery,” 於 ACM Transactions on Computer Systems (TOCS) 20.4, 2002.[4] J. A. Chacko, R. Mayer and H.-A. Jacobsen, “Why do my blockchain transactions fail? a study of hyperledger fabric,” 於 Proceedings of the 2021 International Conference on Management of Data, 2021.[5] J. Sousa, A. Bessani and M. Vukolic, “A byzantine fault-tolerant ordering service for the hyperledger fabric blockchain platform,” 於 2018 48th annual IEEE/IFIP international conference on dependable systems and networks (DSN) , 2018.[6] P. Thakkar, S. Nathan and B. Viswanathan, “Performance benchmarking and optimizing hyperledger fabric blockchain platform,” 於 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), 2018.[7] C. Gorenflo, S. Lee, L. Golab and S. Keshav, “FastFabric: Scaling hyperledger fabric to 20 000 transactions per second,” International Journal of Network Management , p. Vol. 30 Issue 5 Pages e2099, 2020.[8] L. Luu, V. Narayanan, C. Zheng, K. Baweja, S. Gilbert and P. Saxena, “A secure sharding protocol for open blockchains,” 於 Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, 2016.[9] M. Zamani, M. Movahedi and M. Raykova, “Rapidchain: Scaling blockchain via full sharding,” 於 Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, 2018.[10] Y. Gilad, R. Hemo, S. Micali, G. Vlachos and N. Zeldovich, “Algorand: Scaling byzantine agreements for cryptocurrencies,” 於 Proceedings of the 26th symposium on operating systems principles, 2017.[11] L. Lamport, “Byzantizing Paxos by refinement,” 於 International symposium on distributed computing, 2011.[12] L. Lamport, “Paxos made simple,” ACM SIGACT News (Distributed Computing Column) 32, 4 (Whole Number 121, December 2001), pp. Pages 51-58, 2001.[13] D. Ongaro and J. Ousterhout, “The raft consensus algorithm,” 2015.[14] D. Ongaro and J. Ousterhout, “In search of an understandable consensus algorithm,” 於 2014 USENIX Annual Technical Conference (Usenix ATC 14), 2014.[15] C.-W. Chen, J.-W. Su, T.-W. Kuo and K. Chen, “MSig-BFT: A witness-based consensus algorithm for private blockchains,” 於 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS) , 2018.[16] Kuo, Tung-Wei, and Kung Chen, “No Need for Recovery: A Simple Two-Step Byzantine Consensus,” 於 arXiv preprint arXiv:1911.10361, 2019.[17] H. Moniz, “The Istanbul BFT consensus algorithm,” 於 arXiv preprint arXiv:2002.03613, 2020.[18] A. Miller, Y. Xia, K. Croman, E. Shi and D. Song, “The honey badger of BFT protocols,” 於 Proceedings of the 2016 ACM SIGSAC conference on computer and communications security , 2016.[19] Lu, Yuan, Zhenliang Lu, and Qiang Tang, “Bolt-dumbo transformer: Asynchronous consensus as fast as pipelined bft,” 於 arXiv preprint arXiv:2103.09425, 2021.[20] Poon, Joseph, and Thaddeus Dryja, “The bitcoin lightning network: Scalable off-chain instant payments,” 2016.[21] Coll Aumatell, Roger, “Analysis and development of blockchain rollups,” 於 MS thesis. Universitat Politècnica de Catalunya, 2021. 描述 碩士
國立政治大學
資訊科學系
107753032資料來源 http://thesis.lib.nccu.edu.tw/record/#G0107753032 資料類型 thesis dc.contributor.advisor 郭桐惟 zh_TW dc.contributor.advisor Kuo, Tung-Wei en_US dc.contributor.author (作者) 黃清昱 zh_TW dc.contributor.author (作者) Huang, Ching-Yu en_US dc.creator (作者) 黃清昱 zh_TW dc.creator (作者) Huang, Ching-Yu en_US dc.date (日期) 2022 en_US dc.date.accessioned 1-八月-2022 18:13:33 (UTC+8) - dc.date.available 1-八月-2022 18:13:33 (UTC+8) - dc.date.issued (上傳時間) 1-八月-2022 18:13:33 (UTC+8) - dc.identifier (其他 識別碼) G0107753032 en_US dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/141184 - dc.description (描述) 碩士 zh_TW dc.description (描述) 國立政治大學 zh_TW dc.description (描述) 資訊科學系 zh_TW dc.description (描述) 107753032 zh_TW dc.description.abstract (摘要) 區塊鏈可視為一個能抵抗攻擊的分散式資料庫。為了維護所有節點的資料一致性,共識演算法在區塊鏈中扮演重要的角色。私有鏈經常使用PBFT和Raft這類基於訊息交換的共識演算法。節點進行訊息交換時,會設定等待訊息的時間上限,而這個時間上限往往成為此類演算法的效能瓶頸。因此,本論文提出了一個根據網路環境動態調整等待時間上限的演算法。實驗結果顯示我們的演算法可以提升私有鏈效能。 zh_TW dc.description.abstract (摘要) Blockchain is a distributed database system that is resistant to attack, and a consensus algorithm plays an important role in maintaining data consistency among all nodes in the blockchain. Private blockchains often rely on message exchange to reach consensus (e.g., by PBFT and Raft). When messages are exchanged among nodes, a timeout is set to upper bound the waiting time, and this timeout often causes performance bottleneck for consensus algorithms. In this thesis, we propose an algorithm to dynamically adjust the setting of the timeout. Experiment results show that our algorithm can improve the throughput of private blockchains. en_US dc.description.tableofcontents 第一章 緒論 11.1區塊鏈 11.2區塊鏈裡的共識演算法 11.3拜占庭容錯協議類型的共識方法 21.4研究問題 21.5研究挑戰 31.6本論文所提之方法 41.7論文架構 4第二章 文獻探討 62.1鏈上擴容layer1 62.1.1打包交易 62.1.2分片技術(Sharding) 62.1.3共識演算法 72.2鏈下擴容layer2 8第三章 技術背景 93.1 Two-Step-BFT 93.1.1演算法中的名詞介紹 93.1.2 第一個步驟 103.1.3 第二個步驟 10第四章 研究問題與方法 124.1研究問題 124.2訊息傳輸時間:觀察與討論 124.3動態決定等待時間上限和成長速率 204.3.1收集傳輸時間與資料處理 214.3.2蒙地卡羅方法共識時間模擬程式 22發現 284.3.3決定異質的等待時間上限和成長速率 29第五章 實驗結果 325.1實驗設定 325.1.1實驗環境 325.1.2訊息收發與驗證 325.2其他等待時間上限設定方法 345.3實驗結果 375.3.1相同數據中心 375.3.2不同數據中心 395.3.3方法間的比較 41第六章 結論 42參考資料 43 zh_TW dc.format.extent 7039801 bytes - dc.format.mimetype application/pdf - dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0107753032 en_US dc.subject (關鍵詞) 共識演算法 zh_TW dc.subject (關鍵詞) 私有鏈 zh_TW dc.subject (關鍵詞) Consensus Algorithm en_US dc.subject (關鍵詞) Private Blockchain en_US dc.title (題名) 以蒙地卡羅方法提升共識演算法效率 zh_TW dc.title (題名) A Monte Carlo method to improve the efficiency of consensus algorithms en_US dc.type (資料類型) thesis en_US dc.relation.reference (參考文獻) [1] T. T. A. Dinh, J. Wang, G. Chen, R. Liu, B. C. Ooi and K.-L. Tan, “Blockbench: A framework for analyzing private blockchains,” 於 Proceedings of the 2017 ACM international conference on management of data, 2017.[2] E. Buchman, “Tendermint: Byzantine fault tolerance in the age of blockchains,” University of Guelph, 2016.[3] Castro, Miguel, and Barbara Liskov, “Practical Byzantine fault tolerance and proactive recovery,” 於 ACM Transactions on Computer Systems (TOCS) 20.4, 2002.[4] J. A. Chacko, R. Mayer and H.-A. Jacobsen, “Why do my blockchain transactions fail? a study of hyperledger fabric,” 於 Proceedings of the 2021 International Conference on Management of Data, 2021.[5] J. Sousa, A. Bessani and M. Vukolic, “A byzantine fault-tolerant ordering service for the hyperledger fabric blockchain platform,” 於 2018 48th annual IEEE/IFIP international conference on dependable systems and networks (DSN) , 2018.[6] P. Thakkar, S. Nathan and B. Viswanathan, “Performance benchmarking and optimizing hyperledger fabric blockchain platform,” 於 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), 2018.[7] C. Gorenflo, S. Lee, L. Golab and S. Keshav, “FastFabric: Scaling hyperledger fabric to 20 000 transactions per second,” International Journal of Network Management , p. Vol. 30 Issue 5 Pages e2099, 2020.[8] L. Luu, V. Narayanan, C. Zheng, K. Baweja, S. Gilbert and P. Saxena, “A secure sharding protocol for open blockchains,” 於 Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, 2016.[9] M. Zamani, M. Movahedi and M. Raykova, “Rapidchain: Scaling blockchain via full sharding,” 於 Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, 2018.[10] Y. Gilad, R. Hemo, S. Micali, G. Vlachos and N. Zeldovich, “Algorand: Scaling byzantine agreements for cryptocurrencies,” 於 Proceedings of the 26th symposium on operating systems principles, 2017.[11] L. Lamport, “Byzantizing Paxos by refinement,” 於 International symposium on distributed computing, 2011.[12] L. Lamport, “Paxos made simple,” ACM SIGACT News (Distributed Computing Column) 32, 4 (Whole Number 121, December 2001), pp. Pages 51-58, 2001.[13] D. Ongaro and J. Ousterhout, “The raft consensus algorithm,” 2015.[14] D. Ongaro and J. Ousterhout, “In search of an understandable consensus algorithm,” 於 2014 USENIX Annual Technical Conference (Usenix ATC 14), 2014.[15] C.-W. Chen, J.-W. Su, T.-W. Kuo and K. Chen, “MSig-BFT: A witness-based consensus algorithm for private blockchains,” 於 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS) , 2018.[16] Kuo, Tung-Wei, and Kung Chen, “No Need for Recovery: A Simple Two-Step Byzantine Consensus,” 於 arXiv preprint arXiv:1911.10361, 2019.[17] H. Moniz, “The Istanbul BFT consensus algorithm,” 於 arXiv preprint arXiv:2002.03613, 2020.[18] A. Miller, Y. Xia, K. Croman, E. Shi and D. Song, “The honey badger of BFT protocols,” 於 Proceedings of the 2016 ACM SIGSAC conference on computer and communications security , 2016.[19] Lu, Yuan, Zhenliang Lu, and Qiang Tang, “Bolt-dumbo transformer: Asynchronous consensus as fast as pipelined bft,” 於 arXiv preprint arXiv:2103.09425, 2021.[20] Poon, Joseph, and Thaddeus Dryja, “The bitcoin lightning network: Scalable off-chain instant payments,” 2016.[21] Coll Aumatell, Roger, “Analysis and development of blockchain rollups,” 於 MS thesis. Universitat Politècnica de Catalunya, 2021. zh_TW dc.identifier.doi (DOI) 10.6814/NCCU202200900 en_US