| 研究生: |
邱天 Chiu, Tien |
|---|---|
| 論文名稱: |
企業區塊鏈平台Quorum的共識機制與交易復原程序之研究 A Study on Consensus Mechanism and Transaction Recovery Procedure of Enterprise Blockchain Platform Quorum |
| 指導教授: |
陳恭
Chen, Kung |
| 口試委員: |
郭桐惟
Kuo, Tung-Wei 王大為 Wang, Da-Wei 劉敦仁 Liu, Duen-Ren |
| 學位類別: |
碩士
Master |
| 系所名稱: |
理學院 - 資訊科學系 |
| 論文出版年: | 2020 |
| 畢業學年度: | 108 |
| 語文別: | 中文 |
| 論文頁數: | 40 |
| 中文關鍵詞: | 企業區塊鏈 、共識機制 、私有交易 、容錯 |
| 外文關鍵詞: | Enterprise blockchain, Consensus mechanism, Private transaction, Fault tolerance |
| DOI URL: | http://doi.org/10.6814/NCCU202000861 |
| 相關次數: | 點閱:97 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
Quorum 是美國摩根大通銀行(JP Morgan Chase)所投資研發,基於以太坊所開發的聯盟鏈。Quorum跟以太坊最大的差異在於私有交易的功能,只有參與私有交易的節點能夠知道交易內容。Quorum提供較佳的交易執行效率以及隱私性,但其在容錯方面的表現並不是很完善,當有惡意節點或是故障節點出現時,Quorum在特定情況下將會出錯。
本論文將從惡意節點和故障節點兩方面來討論如何加強Quorum的容錯功能。惡意節點方面,將在Quorum上實作2-Step-BFT,此共識能夠容忍小於總節點數五分之一的惡意節點,且保證安全性(safety)和活性(liveness)。而故障節點方面,將提出兩種方法來修改私有交易的架構。第一種是以資料庫備份來提高可用性。第二種是新增一個全知節點,全知節點將能夠知道所有私有交易參與方。最後將結合以上兩種方法,讓故障節點遺失的私有交易能夠順利被復原。
實驗結果顯示,2-Step-BFT共識機制能夠在有惡意節點的情況下正常運作,且新的私有交易架構也能將故障節點遺失的私有交易復原。
Quorum is invested and developed by JP Morgan Chase and is the consortium blockchain based on Ethereum. The biggest difference between Quorum and Ethereum lies in the function of private transactions. Only nodes participating in private transactions can know the transaction content. Quorum provides better transaction execution efficiency and privacy, but its performance in fault tolerance is not perfect. When faulty nodes or crash nodes appear, Quorum will make mistakes under certain circumstances.
This thesis discusses how to enhance Quorum's fault tolerance capability from two aspects: faulty nodes and crash nodes. In terms of faulty nodes, 2-Step-BFT algorithm is implemented in Quorum. It can tolerate faulty nodes that are less than 1/5 of the total number of nodes, and guarantees safety and liveness. In terms of crash nodes, two methods will be proposed to modify the structure of the private transaction. The first way is to improve the availability by backing up the database. The second way is to add the all-knowing node. Finally, the above two methods will be combined to allow the private transactions lost by the crash node to be successfully restored.
The experimental results show that the 2-Step-BFT consensus mechanism can operate normally in the presence of faulty nodes, and the new private transaction architecture can also recover the lost private transactions of the crash node.
第一章 緒論 1
第一節 研究背景與動機 1
第二節 研究問題與目的 3
第三節 研究貢獻 4
第二章 技術背景與相關研究 5
第一節 區塊鏈 5
第二節 以太坊 7
第三節 公有鏈、私有鏈、聯盟鏈 8
第四節 Quorum 9
第五節 共識機制安全性與活性問題 19
第六節 2-Step-BFT 20
第三章 系統設計與實作 21
第一節 共識機制 21
第二節 修改私有交易架構 25
第四章 實驗評估 31
第一節 環境建置 31
第二節 惡意節點容錯實驗 31
第三節 故障節點容錯實驗 35
第五章 結論與未來規劃 38
第一節 結論 38
第二節 未來規畫 38
參考文獻 39
[1] D. H.-W. Roberto Saltini, “Correctness Analysis of IBFT,” 2019.
[2] “Istanbul BFT's design cannot successfully tolerate fail-stop failures,” [線上]. Available: https://github.com/jpmorganchase/quorum/issues/305.
[3] J.-W. Su, “私有區塊鏈上的兩步驟拜占庭共識演算法,” 2019.
[4] S. Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System," 2008.
[5] L. Lamport, R. Shostak and M. Pease, "The Byzantine Generals Problem," ACM Transactions on Programming Languages and Systems, vol. 4, no. 3, pp. 382-401, July 1982.
[6] V. Buterin, “A Next-Generation Smart Contract and Decentralized Application Platform,” 2014.
[7] Y. Sompolinsky and A. Zohar, "Secure High-Rate Transaction Processing in Bitcoin," 2013.
[8] J.P. Morgan. [線上]. Available: https://github.com/jpmorganchase/quorum/blob/master/docs/Quorum%20Whitepaper%20v0.2.pdf.
[9] M. Vukolic, "The quest for scalable blockchain fabric: Proof-of-work vs. BFT replication," in International Workshop on Open Problems in Network Security, Zurich, Switzerland, 2015.
[10] L. Lamport, "The part-time parliament," ACM Transactions on Computer Systems (TOCS), vol. 16, no. 2, pp. 133-169, 1998.
[11] L. Lamport, "Paxos made simple," ACM Sigact News, vol. 32, no. 4, pp. 18-25, 2001.
[12] D. Ongaro and J. Ousterhout, "In search of an understandable consensus algorithm," in 2014 USENIX Annual Technical Conference, 2014.
此全文未授權公開