學術產出-Theses

Article View/Open

Publication Export

Google ScholarTM

政大圖書館

Citation Infomation

題名 基於多重簽章之拜占庭共識演算法
Multi-Signature Byzantine Agreement
作者 陳俊瑋
Chen, Chun-Wei
貢獻者 郭桐惟
Kuo, Tung-Wei
陳俊瑋
Chen, Chun-Wei
關鍵詞 區塊鏈
共識演算法
拜占庭容錯
分散式系統
Blockchain
Consensus algorithm
Byzantine fault tolerance
Distributed system
日期 2018
上傳時間 1-Oct-2018 12:10:58 (UTC+8)
摘要 在比特幣面世之後,分散式帳本技術被應用在各式各樣的領域上。
     比特幣使用""工作量證明``來確保區塊鏈網路上的各節點狀態、資料的一致性。
     除了""工作量證明``外,還有包括""權益證明``、""拜占庭容錯``等相關的演算法各有不同的特性,也可以應用在不同用途的區塊鏈設計上。
     我們的研究關注在設計一個具有認許制性質的私有鏈、聯盟鏈上使用的區塊鏈系統,適合許多金融相關組織應用上的需求。
     我們的方法能夠在較嚴格的部分網路同步模型 (partially synchronous model),及拜占庭錯誤假設下保有足夠的安全性及活性,並具有相比目前相關工作更優秀的系統效能。
The distributed ledger has been widely used in different scenarios after the Bitcoin turns out.
     Unlike the Proof of work (PoW) approaches, there exist another mechanism that has been used on the decentralize database or fault-tolerate system that have great potential to be transplanted to nowadays consortium blockchain systems.
     Our research focuses on the applying of consensus algorithm to financial organizations with the partially synchronous model, byzantine attackers and permission policy in the system.
     We designed a novel consensus algorithm, Msig-BFT, that can tolerate one-third faulty nodes within the system and have better performance of the previous works.
參考文獻 [1] Buterin, V. (2014). A next-generation smart contract and decentralized application
     platform. https://github.com/ethereum/wiki/wiki/White-Paper.
     [2] Buterin, V. and Griffith, V. (2017). Casper the friendly finality gadget. arXiv preprint
     arXiv:1710.09437.
     [3] Cachin, C. and Vukolić, M. (2017). Blockchains consensus protocols in the wild.
     arXiv preprint arXiv:1707.01873.
     [4] Castro, M., Liskov, B., et al. (1999). Practical byzantine fault tolerance. In OSDI,
     volume 99, pages 173–186.
     [5] Crain, T., Gramoli, V., Larrea, M., and Raynal, M. (2017).
     (leader/randomization/signature)-free byzantine consensus for consortium
     blockchains. arXiv preprint arXiv:1702.03068.
     [6] Croman, K., Decker, C., Eyal, I., Gencer, A. E., Juels, A., Kosba, A. E., Miller, A.,
     Saxena, P., Shi, E., Sirer, E. G., Song, D., and Wattenhofer, R. (2016). On scaling
     decentralized blockchains. pages 106–125.
     [7] Eyal, I., Gencer, A. E., Sirer, E. G., and Van Renesse, R. (2016). Bitcoin-ng: A
     scalable blockchain protocol. In NSDI, pages 45–59
     [8] Gilbert, S. and Lynch, N. (2002). Brewer’s conjecture and the feasibility of consistent,
     available, partition-tolerant web services. Acm Sigact News, 33(2):51–59.
     [9] Johnson, D., Menezes, A., and Vanstone, S. (2001). The elliptic curve digital signature
     algorithm (ecdsa). International journal of information security, 1(1):36–63.
     [10] Kiayias, A., Konstantinou, I., Russell, A., David, B., and Oliynykov, R. (2016). A
     provably secure proof-of-stake blockchain protocol. IACR Cryptology ePrint Archive,
     2016:889.
     [11] King, S. and Nadal, S. (2012). Ppcoin: Peer-to-peer crypto-currency with proof-ofstake.
     self-published paper, August, 19.
     [12] Kogias, E. K., Jovanovic, P., Gailly, N., Khoffi, I., Gasser, L., and Ford, B. (2016).
     Enhancing bitcoin security and performance with strong consistency via collective
     signing. In 25th USENIX Security Symposium (USENIX Security 16), pages 279–296.
     [13] Kwon, J. (August, 2014). Tendermint: Consensus without mining. https://cdn.
     relayto.com/media/files/LPgoWO18TCeMIggJVakt_tendermint.pdf.
     [14] Lee, C. (2011). Litecoin.
     [15] Liao, W.-T. (2018). A performance evaluation tool for the consensus mechanism of
     ethereum-based private blockchains.
     [16] Mazieres, D. (2015). The stellar consensus protocol: A federated model for internetlevel
     consensus. Stellar Development Foundation.
     [17] Micali, S. (2016). Algorand: The efficient and democratic ledger. arXiv preprint
     arXiv:1607.01341.
     [18] Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system. https://
     bitcoin.org/bitcoin.pdf.
     [19] Pass, R. and Shi, E. (2017). Hybrid consensus: Efficient consensus in the permissionless
     model. In LIPIcs-Leibniz International Proceedings in Informatics, volume 91.
     Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
     [20] Ren, L., Nayak, K., Abraham, I., and Devadas, S. (2017). Practical synchronous
     byzantine consensus. arXiv preprint arXiv:1704.02397.
     [21] Schwartz, D., Youngs, N., and Britto, A. (2014). The ripple protocol consensus
     algorithm. https://prod.coss.io/documents/white-papers/ripple.pdf.
     [22] Shiu, Y.-J. (2017). Nccu bft for go ethereum. https://github.com/
     NCCUCS-PLSM/NCCU-BFT-for-Go-Ethereum.
     [23] Syta, E., Tamas, I., Visher, D., Wolinsky, D. I., Jovanovic, P., Gasser, L., Gailly, N.,
     Khoffi, I., and Ford, B. (2016). Keeping authorities” honest or bust” with decentralized
     witness cosigning. In Security and Privacy (SP), 2016 IEEE Symposium on, pages 526–
     545. Ieee.
     [24] Tsai, W. T., Yu, L., Hu, C. J., Yao, Y. F., and Li, G. N. (2016). Hydrachain: Design of
     a private blockchain. https://github.com/HydraChain/hydrachain/blob/develop/
     hc_consensus_explained.md.
     [25] Vasin, P. (2014). Blackcoin’s proof-of-stake protocol v2. URL: https://blackcoin.
     co/blackcoin-pos-protocolv2-whitepaper. pdf.
     [26] yutelin (2017). Istanbul byzantine fault tolerance. https://github.com/ethereum/
     EIPs/issues/650.
描述 碩士
國立政治大學
資訊科學系
105753021
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0105753021
資料類型 thesis
dc.contributor.advisor 郭桐惟zh_TW
dc.contributor.advisor Kuo, Tung-Weien_US
dc.contributor.author (Authors) 陳俊瑋zh_TW
dc.contributor.author (Authors) Chen, Chun-Weien_US
dc.creator (作者) 陳俊瑋zh_TW
dc.creator (作者) Chen, Chun-Weien_US
dc.date (日期) 2018en_US
dc.date.accessioned 1-Oct-2018 12:10:58 (UTC+8)-
dc.date.available 1-Oct-2018 12:10:58 (UTC+8)-
dc.date.issued (上傳時間) 1-Oct-2018 12:10:58 (UTC+8)-
dc.identifier (Other Identifiers) G0105753021en_US
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/120259-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學系zh_TW
dc.description (描述) 105753021zh_TW
dc.description.abstract (摘要) 在比特幣面世之後,分散式帳本技術被應用在各式各樣的領域上。
     比特幣使用""工作量證明``來確保區塊鏈網路上的各節點狀態、資料的一致性。
     除了""工作量證明``外,還有包括""權益證明``、""拜占庭容錯``等相關的演算法各有不同的特性,也可以應用在不同用途的區塊鏈設計上。
     我們的研究關注在設計一個具有認許制性質的私有鏈、聯盟鏈上使用的區塊鏈系統,適合許多金融相關組織應用上的需求。
     我們的方法能夠在較嚴格的部分網路同步模型 (partially synchronous model),及拜占庭錯誤假設下保有足夠的安全性及活性,並具有相比目前相關工作更優秀的系統效能。
zh_TW
dc.description.abstract (摘要) The distributed ledger has been widely used in different scenarios after the Bitcoin turns out.
     Unlike the Proof of work (PoW) approaches, there exist another mechanism that has been used on the decentralize database or fault-tolerate system that have great potential to be transplanted to nowadays consortium blockchain systems.
     Our research focuses on the applying of consensus algorithm to financial organizations with the partially synchronous model, byzantine attackers and permission policy in the system.
     We designed a novel consensus algorithm, Msig-BFT, that can tolerate one-third faulty nodes within the system and have better performance of the previous works.
en_US
dc.description.tableofcontents 1 Introduction . . . 1
     2 System Model . . . 4
     3 MSig-BFT . . . 6
     3.1 Discussion . . . 8
     3.1.1 The Round Change Mechanism . . . . 8
     3.1.2 Synchronization . . . . . 8
     3.1.3 Double-Spending Attack . . . . 10
     3.1.4 Broadcast Different Proposals . . . . 10
     4 Analysis . . . . 11
     4.1 Safety . . . . 11
     4.2 Liveness . . . . 12
     5 Implementation . . . . 14
     6 Experiments . . . . 17
     6.1 Experimental Setup . . . . 17
     6.2 Experimental Results . . . . 18
     7 Related Work . . . . 25
     8 Conclusion . . . . 28
     Reference . . . . 29
zh_TW
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0105753021en_US
dc.subject (關鍵詞) 區塊鏈zh_TW
dc.subject (關鍵詞) 共識演算法zh_TW
dc.subject (關鍵詞) 拜占庭容錯zh_TW
dc.subject (關鍵詞) 分散式系統zh_TW
dc.subject (關鍵詞) Blockchainen_US
dc.subject (關鍵詞) Consensus algorithmen_US
dc.subject (關鍵詞) Byzantine fault toleranceen_US
dc.subject (關鍵詞) Distributed systemen_US
dc.title (題名) 基於多重簽章之拜占庭共識演算法zh_TW
dc.title (題名) Multi-Signature Byzantine Agreementen_US
dc.type (資料類型) thesisen_US
dc.relation.reference (參考文獻) [1] Buterin, V. (2014). A next-generation smart contract and decentralized application
     platform. https://github.com/ethereum/wiki/wiki/White-Paper.
     [2] Buterin, V. and Griffith, V. (2017). Casper the friendly finality gadget. arXiv preprint
     arXiv:1710.09437.
     [3] Cachin, C. and Vukolić, M. (2017). Blockchains consensus protocols in the wild.
     arXiv preprint arXiv:1707.01873.
     [4] Castro, M., Liskov, B., et al. (1999). Practical byzantine fault tolerance. In OSDI,
     volume 99, pages 173–186.
     [5] Crain, T., Gramoli, V., Larrea, M., and Raynal, M. (2017).
     (leader/randomization/signature)-free byzantine consensus for consortium
     blockchains. arXiv preprint arXiv:1702.03068.
     [6] Croman, K., Decker, C., Eyal, I., Gencer, A. E., Juels, A., Kosba, A. E., Miller, A.,
     Saxena, P., Shi, E., Sirer, E. G., Song, D., and Wattenhofer, R. (2016). On scaling
     decentralized blockchains. pages 106–125.
     [7] Eyal, I., Gencer, A. E., Sirer, E. G., and Van Renesse, R. (2016). Bitcoin-ng: A
     scalable blockchain protocol. In NSDI, pages 45–59
     [8] Gilbert, S. and Lynch, N. (2002). Brewer’s conjecture and the feasibility of consistent,
     available, partition-tolerant web services. Acm Sigact News, 33(2):51–59.
     [9] Johnson, D., Menezes, A., and Vanstone, S. (2001). The elliptic curve digital signature
     algorithm (ecdsa). International journal of information security, 1(1):36–63.
     [10] Kiayias, A., Konstantinou, I., Russell, A., David, B., and Oliynykov, R. (2016). A
     provably secure proof-of-stake blockchain protocol. IACR Cryptology ePrint Archive,
     2016:889.
     [11] King, S. and Nadal, S. (2012). Ppcoin: Peer-to-peer crypto-currency with proof-ofstake.
     self-published paper, August, 19.
     [12] Kogias, E. K., Jovanovic, P., Gailly, N., Khoffi, I., Gasser, L., and Ford, B. (2016).
     Enhancing bitcoin security and performance with strong consistency via collective
     signing. In 25th USENIX Security Symposium (USENIX Security 16), pages 279–296.
     [13] Kwon, J. (August, 2014). Tendermint: Consensus without mining. https://cdn.
     relayto.com/media/files/LPgoWO18TCeMIggJVakt_tendermint.pdf.
     [14] Lee, C. (2011). Litecoin.
     [15] Liao, W.-T. (2018). A performance evaluation tool for the consensus mechanism of
     ethereum-based private blockchains.
     [16] Mazieres, D. (2015). The stellar consensus protocol: A federated model for internetlevel
     consensus. Stellar Development Foundation.
     [17] Micali, S. (2016). Algorand: The efficient and democratic ledger. arXiv preprint
     arXiv:1607.01341.
     [18] Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system. https://
     bitcoin.org/bitcoin.pdf.
     [19] Pass, R. and Shi, E. (2017). Hybrid consensus: Efficient consensus in the permissionless
     model. In LIPIcs-Leibniz International Proceedings in Informatics, volume 91.
     Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
     [20] Ren, L., Nayak, K., Abraham, I., and Devadas, S. (2017). Practical synchronous
     byzantine consensus. arXiv preprint arXiv:1704.02397.
     [21] Schwartz, D., Youngs, N., and Britto, A. (2014). The ripple protocol consensus
     algorithm. https://prod.coss.io/documents/white-papers/ripple.pdf.
     [22] Shiu, Y.-J. (2017). Nccu bft for go ethereum. https://github.com/
     NCCUCS-PLSM/NCCU-BFT-for-Go-Ethereum.
     [23] Syta, E., Tamas, I., Visher, D., Wolinsky, D. I., Jovanovic, P., Gasser, L., Gailly, N.,
     Khoffi, I., and Ford, B. (2016). Keeping authorities” honest or bust” with decentralized
     witness cosigning. In Security and Privacy (SP), 2016 IEEE Symposium on, pages 526–
     545. Ieee.
     [24] Tsai, W. T., Yu, L., Hu, C. J., Yao, Y. F., and Li, G. N. (2016). Hydrachain: Design of
     a private blockchain. https://github.com/HydraChain/hydrachain/blob/develop/
     hc_consensus_explained.md.
     [25] Vasin, P. (2014). Blackcoin’s proof-of-stake protocol v2. URL: https://blackcoin.
     co/blackcoin-pos-protocolv2-whitepaper. pdf.
     [26] yutelin (2017). Istanbul byzantine fault tolerance. https://github.com/ethereum/
     EIPs/issues/650.
zh_TW
dc.identifier.doi (DOI) 10.6814/THE.NCCU.CS.018.2018.B02en_US