學術產出-Theses

Article View/Open

Publication Export

Google ScholarTM

政大圖書館

Citation Infomation

題名 以蒙地卡羅方法提升共識演算法效率
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-Aug-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-Weien_US
dc.contributor.author (Authors) 黃清昱zh_TW
dc.contributor.author (Authors) Huang, Ching-Yuen_US
dc.creator (作者) 黃清昱zh_TW
dc.creator (作者) Huang, Ching-Yuen_US
dc.date (日期) 2022en_US
dc.date.accessioned 1-Aug-2022 18:13:33 (UTC+8)-
dc.date.available 1-Aug-2022 18:13:33 (UTC+8)-
dc.date.issued (上傳時間) 1-Aug-2022 18:13:33 (UTC+8)-
dc.identifier (Other Identifiers) G0107753032en_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 (描述) 107753032zh_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 第一章 緒論 1
1.1區塊鏈 1
1.2區塊鏈裡的共識演算法 1
1.3拜占庭容錯協議類型的共識方法 2
1.4研究問題 2
1.5研究挑戰 3
1.6本論文所提之方法 4
1.7論文架構 4
第二章 文獻探討 6
2.1鏈上擴容layer1 6
2.1.1打包交易 6
2.1.2分片技術(Sharding) 6
2.1.3共識演算法 7
2.2鏈下擴容layer2 8
第三章 技術背景 9
3.1 Two-Step-BFT 9
3.1.1演算法中的名詞介紹 9
3.1.2 第一個步驟 10
3.1.3 第二個步驟 10
第四章 研究問題與方法 12
4.1研究問題 12
4.2訊息傳輸時間:觀察與討論 12
4.3動態決定等待時間上限和成長速率 20
4.3.1收集傳輸時間與資料處理 21
4.3.2蒙地卡羅方法共識時間模擬程式 22
發現 28
4.3.3決定異質的等待時間上限和成長速率 29
第五章 實驗結果 32
5.1實驗設定 32
5.1.1實驗環境 32
5.1.2訊息收發與驗證 32
5.2其他等待時間上限設定方法 34
5.3實驗結果 37
5.3.1相同數據中心 37
5.3.2不同數據中心 39
5.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/#G0107753032en_US
dc.subject (關鍵詞) 共識演算法zh_TW
dc.subject (關鍵詞) 私有鏈zh_TW
dc.subject (關鍵詞) Consensus Algorithmen_US
dc.subject (關鍵詞) Private Blockchainen_US
dc.title (題名) 以蒙地卡羅方法提升共識演算法效率zh_TW
dc.title (題名) A Monte Carlo method to improve the efficiency of consensus algorithmsen_US
dc.type (資料類型) thesisen_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/NCCU202200900en_US