Publications-Theses

Article View/Open

Publication Export

Google ScholarTM

NCCU Library

Citation Infomation

Related Publications in TAIR

題名 實作拜占庭容錯共識於以太坊
An Implementation of BFT Consensus for Ethereum
作者 許翌君
Shiu, Yi-Jiun
貢獻者 陳恭
Chen, Kung
許翌君
Shiu, Yi-Jiun
關鍵詞 區塊鏈
Blockchain
日期 2017
上傳時間 13-Sep-2017 14:49:11 (UTC+8)
摘要 區塊鏈是一種基於點對點網路架構的分散式網路技術,近年來已經有 許多快速蓬勃的發展。區塊鏈從一開始在比特幣上的數位貨幣應用到以太 坊上能夠運行準圖靈完備 (Turing complete) 的智能合約,已經多了許多不 同面貌與應用。
區塊鏈運作的主要核心技術在於共識機制,即如何讓所有網路上的節 點對所發生的交易都有同樣的共識。比特幣與以太坊這兩個最著名的區塊 鏈的共識機制皆是工作量證明 (Proof of Work)。工作量證明機制在公開鏈 上非常適合,但是對於非公開鏈就會變成負擔。本篇論文針對以太坊,實 作出一個具有模組性的共識機制,讓以太坊除了工作量證明,也能夠實現 拜占庭容錯 (Byzantine Fault Tolerance) 的共識演算法,並且保留以太坊智 能合約功能,以利的以以太坊發展聯盟區塊鏈平台。
Blockchain is a kind of distributed ledger technology, which is based on P2P network protocol and a distributed consensus mechanism. It has developed rapidly in recent years. There are many kinds of blockchains, such as the most noted ones, Bitcoin and Ethereum, the latter of which contains a Turing complete language for developing programs running on top of it.
A core technical component of a blockchain is its consensus mechanism, which implements the method of reaching consensus about what transactions have been done among all peer nodes in the network. The consensus mechanism of Bitcoin and Etheruem are Proof of Work (PoW), which is often referred to as mining. Although Proof of Work is suitable for public blockchains, it may become a burden for private or consortium blockchains. The objective of this thesis is to extend the consensus module of Ethereum with Byzantine Fault Tolerance (BFT) consensus algorithm, which can speed up the consensus process significantly when the number of network peers is not large. This can be a key step for making Ethereum suitable for suporting consortium blockchains.
參考文獻 [1] Satoshi Nakamoto. (Nakamoto, 2008)Bitcoin: A peer-to-peer electronic cash system. 2008.
[2] Vitalik Buterin, (Buterin 2015), Ethereum White Paper: A Next-Generation Smart Contract and Decentralized Application Platform. https://github.com/ethereum/wiki/wiki/White-Paper
[3] Jae Kwon (Kwon, 2014), Tendermint: Consensus without Mining, Draft available at https://pdfs.semanticscholar.org/fd8b/536f5859753da9a63f30bcddcd55a5b8473e.pdf
[4] Hydrachain (brainbot technologies AG 2015) Retrieved January 11, 2017, from http://www.brainbot.com/hydra
[5] Quorum (J.P.Morgan 2016) Ethereum-based distributed ledger protocol with transaction/contract privacy and a new consensus mechanism. Retrieved January 11, 2017 from https://www.jpmorgan.com/country/US/EN/Quorum
[6] Miguel Castro, Barbara Liskov, et al. (Castro et al, 1999) “Practical Byzantine fault tolerance”. In: Proceedings of the Third Symposium on Operating Systems Design and Implementation. 1999.
[7] Leslie Lamport, Robert Shostak, and Marshall Pease. (Lamport et al, 1982), “The Byzantine generals problem”. In: ACM Transactions on Programming Languages and Systems (TOPLAS) 4.3 (1982), pp. 382–401.
[8] Leslie Lamport. (Lamport, 1998) “The part-time parliament”. In: ACM Transactions on Computer Systems (TOCS) 16.2 (1998), pp. 133–169.
[9] Marko Vukolić (Vukolić, 2015), The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication. In Proceedings of the IFIP WG 11.4 Workshop , iNetSec 2015, December 2015.
[10] Cynthia Dwork, Nancy Lynch, and Larry Stockmeyer. (Dwork et al, 1988) “Consensus in the presence of partial synchrony”. In: Journal of the ACM (JACM) 35.2 (1988), pp. 288–323.
[11] Gavin Wood. (Wood, 2014) “Ethereum: A secure decentralised generalised transaction ledger”. In: Ethereum Project Yellow Paper (2014).
[12] C. Dwork (Dwork, 1988), Consensus in the Presence of Partial Synchrony , In: Journal of the ACM, Volume 35 Issue 2, April 1988 Pages 288-323.
描述 碩士
國立政治大學
資訊科學學系
104753008
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0104753008
資料類型 thesis
dc.contributor.advisor 陳恭zh_TW
dc.contributor.advisor Chen, Kungen_US
dc.contributor.author (Authors) 許翌君zh_TW
dc.contributor.author (Authors) Shiu, Yi-Jiunen_US
dc.creator (作者) 許翌君zh_TW
dc.creator (作者) Shiu, Yi-Jiunen_US
dc.date (日期) 2017en_US
dc.date.accessioned 13-Sep-2017 14:49:11 (UTC+8)-
dc.date.available 13-Sep-2017 14:49:11 (UTC+8)-
dc.date.issued (上傳時間) 13-Sep-2017 14:49:11 (UTC+8)-
dc.identifier (Other Identifiers) G0104753008en_US
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/112679-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學學系zh_TW
dc.description (描述) 104753008zh_TW
dc.description.abstract (摘要) 區塊鏈是一種基於點對點網路架構的分散式網路技術,近年來已經有 許多快速蓬勃的發展。區塊鏈從一開始在比特幣上的數位貨幣應用到以太 坊上能夠運行準圖靈完備 (Turing complete) 的智能合約,已經多了許多不 同面貌與應用。
區塊鏈運作的主要核心技術在於共識機制,即如何讓所有網路上的節 點對所發生的交易都有同樣的共識。比特幣與以太坊這兩個最著名的區塊 鏈的共識機制皆是工作量證明 (Proof of Work)。工作量證明機制在公開鏈 上非常適合,但是對於非公開鏈就會變成負擔。本篇論文針對以太坊,實 作出一個具有模組性的共識機制,讓以太坊除了工作量證明,也能夠實現 拜占庭容錯 (Byzantine Fault Tolerance) 的共識演算法,並且保留以太坊智 能合約功能,以利的以以太坊發展聯盟區塊鏈平台。
zh_TW
dc.description.abstract (摘要) Blockchain is a kind of distributed ledger technology, which is based on P2P network protocol and a distributed consensus mechanism. It has developed rapidly in recent years. There are many kinds of blockchains, such as the most noted ones, Bitcoin and Ethereum, the latter of which contains a Turing complete language for developing programs running on top of it.
A core technical component of a blockchain is its consensus mechanism, which implements the method of reaching consensus about what transactions have been done among all peer nodes in the network. The consensus mechanism of Bitcoin and Etheruem are Proof of Work (PoW), which is often referred to as mining. Although Proof of Work is suitable for public blockchains, it may become a burden for private or consortium blockchains. The objective of this thesis is to extend the consensus module of Ethereum with Byzantine Fault Tolerance (BFT) consensus algorithm, which can speed up the consensus process significantly when the number of network peers is not large. This can be a key step for making Ethereum suitable for suporting consortium blockchains.
en_US
dc.description.tableofcontents 第一章 緒論 1
1.1 研究背景與動機 1
1.2 研究目標 2
1.3 研究貢獻 3
1.4 各章節說明 3
第二章 相關研究 4
2.1 比特幣與區塊鏈 4
2.2 以太坊與智能合約 7
2.4 Practical Byzaantine Fault Tolerance 11
2.5 Tendermint 14
2.6 Hydrachain 15
第三章 共識演算法 20
3.1 共識假設與定義 20
3.2 共識流程 22
3.2.1 Propose 23
3.2.2 Prevote 23
3.2.3 Precommit 24
3.2.4 Commit 25
3.3 Timeout 25
3.4 安全性(Safety) 25
3.5 活性(Liveness) 26
第四章 系統架構 27
4.1 以太坊基本架構 27
4.2 以太坊共識引擎 29
4.3 共識模組架構 31
第五章 實驗結果 35
5.1環境建置 35
5.2 吞吐量與共識時間 35
5.3 拜占庭容錯測試 37
第六章 結論與未來規劃 40
6.1 結論 40
6.2 未來規劃 40
參考文獻 42
zh_TW
dc.format.extent 2417076 bytes-
dc.format.mimetype application/pdf-
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0104753008en_US
dc.subject (關鍵詞) 區塊鏈zh_TW
dc.subject (關鍵詞) Blockchainen_US
dc.title (題名) 實作拜占庭容錯共識於以太坊zh_TW
dc.title (題名) An Implementation of BFT Consensus for Ethereumen_US
dc.type (資料類型) thesisen_US
dc.relation.reference (參考文獻) [1] Satoshi Nakamoto. (Nakamoto, 2008)Bitcoin: A peer-to-peer electronic cash system. 2008.
[2] Vitalik Buterin, (Buterin 2015), Ethereum White Paper: A Next-Generation Smart Contract and Decentralized Application Platform. https://github.com/ethereum/wiki/wiki/White-Paper
[3] Jae Kwon (Kwon, 2014), Tendermint: Consensus without Mining, Draft available at https://pdfs.semanticscholar.org/fd8b/536f5859753da9a63f30bcddcd55a5b8473e.pdf
[4] Hydrachain (brainbot technologies AG 2015) Retrieved January 11, 2017, from http://www.brainbot.com/hydra
[5] Quorum (J.P.Morgan 2016) Ethereum-based distributed ledger protocol with transaction/contract privacy and a new consensus mechanism. Retrieved January 11, 2017 from https://www.jpmorgan.com/country/US/EN/Quorum
[6] Miguel Castro, Barbara Liskov, et al. (Castro et al, 1999) “Practical Byzantine fault tolerance”. In: Proceedings of the Third Symposium on Operating Systems Design and Implementation. 1999.
[7] Leslie Lamport, Robert Shostak, and Marshall Pease. (Lamport et al, 1982), “The Byzantine generals problem”. In: ACM Transactions on Programming Languages and Systems (TOPLAS) 4.3 (1982), pp. 382–401.
[8] Leslie Lamport. (Lamport, 1998) “The part-time parliament”. In: ACM Transactions on Computer Systems (TOCS) 16.2 (1998), pp. 133–169.
[9] Marko Vukolić (Vukolić, 2015), The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication. In Proceedings of the IFIP WG 11.4 Workshop , iNetSec 2015, December 2015.
[10] Cynthia Dwork, Nancy Lynch, and Larry Stockmeyer. (Dwork et al, 1988) “Consensus in the presence of partial synchrony”. In: Journal of the ACM (JACM) 35.2 (1988), pp. 288–323.
[11] Gavin Wood. (Wood, 2014) “Ethereum: A secure decentralised generalised transaction ledger”. In: Ethereum Project Yellow Paper (2014).
[12] C. Dwork (Dwork, 1988), Consensus in the Presence of Partial Synchrony , In: Journal of the ACM, Volume 35 Issue 2, April 1988 Pages 288-323.
zh_TW