English  |  正體中文  |  简体中文  |  Post-Print筆數 : 27 |  Items with full text/Total items : 113318/144297 (79%)
Visitors : 51001651      Online Users : 946
RC Version 6.0 © Powered By DSPACE, MIT. Enhanced by NTU Library IR team.
Scope Tips:
  • please add "double quotation mark" for query phrases to get precise results
  • please goto advance search for comprehansive author search
  • Adv. Search
    HomeLoginUploadHelpAboutAdminister Goto mobile version
    政大機構典藏 > 資訊學院 > 資訊科學系 > 學位論文 >  Item 140.119/124194
    Please use this identifier to cite or link to this item: https://nccur.lib.nccu.edu.tw/handle/140.119/124194


    Title: 基於以太坊的私有鏈的共識效能評估工具
    A Performance Evaluation Tool for the Consensus Mechanism of Ethereum-Based Private Blockchains
    Authors: 廖偉宗
    Liao, Wei-Tsung
    Contributors: 陳恭
    Chen, Kung
    廖偉宗
    Liao, Wei-Tsung
    Keywords: 區塊鏈
    共識演算法
    共識引擎
    以太坊
    實用拜占庭容錯
    Blockchain
    Consensus algorithm
    Consensus engine
    Ethereum
    Proof-of-Authority
    Practical Byzantine Fault Tolerance
    Date: 2018
    Issue Date: 2019-07-01 10:58:58 (UTC+8)
    Abstract: 共識引擎是區塊鏈相關技術最核心的一環,一個區塊鏈系統適合的應用環境、運作效能、安全性、活性都由共識引擎所主宰。為了讓Ethereum 能夠更有效率地被應用在私有區塊鏈環境或聯盟區塊鏈環境,近年來許多團隊陸續設計出相容於Ethereum Protocol 且更適用於私有領域的共識引擎,基於Practical Byzantine Fault Tolerance 共識演算法所實作的共識引擎和基於Proof-of-Authority的共識引擎都是熱門的提案。

    本研究將測試並評估目前幾款基於PBFT、PoA 共識機制所設計的Ethereum 共識引擎,其中包含Go Ethereum Clique、Parity Tendermint、Parity Aura、NCCU BFT、Istanbul BFT。評估項目包含「吞吐量與延遲」、「網路分割」、「隨機網路延遲」、「崩潰故障」和「拜占庭故障」。

    為了讓開發人員或是測試人員得以快速部署並測試Ethereum 共識引擎,我們在研究過程中實作了一款稱為Crete 的測試工具,測試人員可以透過撰寫設定檔控制實驗流程和調整實驗參數。Crete 也提供一個簡易的Dashboard 界面,方便測試人員了解實驗過程中區塊鏈系統的整體狀況,並在實驗結束之後自動收集實驗數據,藉此幫助測試人員評估共識引擎的表現。
    The consensus engine is a core technical component of blockchain related technology. The operational environment, performance, security and liveness of a blockchain system are dominated by the consensus engine. In order to make Ethereum more efficient in private blockchain environments or federated blockchain environments, many development teams have successively designed consensus engines that are compatible with the Ethereum protocol and are more suitable for private blockchains or federated blockchains. The consensus engine based on the Practical Byzantine Fault Tolerance consensus algorithm and the consensus engine based on Proof-of-Authority are popular proposals.

    This study will test and evaluate several Ethereum consensus engine based on PBFT and PoA consensus mechanisms, including Go Ethereum Clique, Parity Tendermint, Parity Aura, NCCU BFT and AMIS Istanbul BFT. Evaluation items include throughput and latency, network partition, random network delay, crash failure, and Byzantine failure.

    In order to allow developers or testers to quickly deploy and test the Ethereum consensus engine, we implemented a test tool called Crete in the course of research. Testers can control the experiment procedure and adjust the experimental parameters by writing a profile. Crete also provides a simple dashboard interface that allows testers to observe the overall status of the blockchain system during the experiment and automatically collect experimental data after the end of the experiment to help testers evaluate the performance of the consensus engine.
    Reference: [1] S. Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” 2008.
    [2] V. Buterin, “Ethereum: A next-generation smart contract and decentralized application platform.” https://github.com/ethereum/wiki/wiki/White-Paper, 2014. Accessed: 2016-08-22.
    [3] G. Wood, “Ethereum: A secure decentralised generalised transaction ledger eip-150 revision (759dccd - 2017-08-07),” 2017. Accessed: 2018-04-03.
    [4] M. Castro and B. Liskov, “Practical byzantine fault tolerance,” in Proceedings of the Third Symposium on Operating Systems Design and Implementation, OSDI ’99, (Berkeley, CA, USA), pp. 173–186, USENIX Association, 1999.
    [5] “Official golang implementation of the ethereum protocol..” https://github.com/ethereum/go-ethereum
    [6] “Parity.” https://www.parity.io
    [7] “Github - paritytech/parity-ethereum: The fast, light, and robust evm and wasm client..” https://github.com/paritytech/parity/
    [8] S. De Angelis, “Assessing Security and Performances of Consensus algorithms for Permissioned Blockchains,” ArXiv e-prints, May 2018.
    [9] “Clique poa protocol & rinkeby poa testnet · issue #650 · ethereum/eips.” https://github.com/ethereum/EIPs/issues/225
    [10] “Aura - authority round - parity ethereum documentation.” https://wiki.parity.io/Aura.html
    [11] S. D. Angelis, L. Aniello, R. Baldoni, F. Lombardi, A. Margheri, and V. Sassone, “Pbft vs proof-of-authority: applying the cap theorem to permissioned blockchain,” January 2018.
    [12] E. Brewer, “Cap twelve years later: How the "rules" have changed,” Computer, vol. 45, pp. 23–29, Feb 2012.
    [13] E. Buchman, “Tendermint: Byzantine fault tolerance in the age of blockchains,” 2016.
    [14] “Tendermint: Blockchain consensus.” https://tendermint.com
    [15] Yi-Jiun. Shiu, “An implementation of bft consensus for ethereum,” 2017.
    [16] “Nccu bft consensus for go ethereum.” https://github.com/NCCUCS-PLSM/NCCU-BFT-for-Go-Ethereum
    [17] “Hydrachain: Permissioned distributed ledger based on ethereum.” https://github.com/HydraChain/hydrachain
    [18] “Amis.” https://am.is
    [19] “Istanbul byzantine fault tolerance.” https://github.com/getamis/go-ethereum
    [20] “Istanbul byzantine fault tolerance · issue #650 · ethereum/eips.” https://github.com/ethereum/EIPs/issues/650
    [21] T. T. A. Dinh, J. Wang, G. Chen, R. Liu, B. C. Ooi, and K.-L. Tan, “Blockbench: A framework for analyzing private blockchains,” in Proceedings of the 2017 ACM International Conference on Management of Data , SIGMOD ’17, (New York, NY, USA), pp. 1085–1100, ACM, 2017.
    [22] “Blockbench: A framework for analyzing private blockchains. blockbench contains workloads for measuring the data processing performance, and
    workloads for understanding the performance of different layers of blockchain systems..” https://github.com/ooibc88/blockbench
    [23] “Istanbul bft tools.” https://github.com/getamis/istanbul-tools
    [24] “Benchmarking tendermint networks.” https://github.com/tendermint/network_testing
    [25] “Geth ethereum/go-ethereum wiki· github.” https://github.com/ethereum/go-ethereum/wiki/geth
    [26] “Parity ethereum documentation.” https://wiki.parity.io
    [27] “Docker - build, ship, and run any app, anywhere.” https://www.docker.com
    [28] “Docker hub.” https://hub.docker.com
    [29] iptables(8) iptables Manual
    [30] ipset(8) ipset Manual
    [31] tc(8) tc Manual
    Description: 碩士
    國立政治大學
    資訊科學系
    105753017
    Source URI: http://thesis.lib.nccu.edu.tw/record/#G0105753017
    Data Type: thesis
    DOI: 10.6814/NCCU201900045
    Appears in Collections:[資訊科學系] 學位論文

    Files in This Item:

    File SizeFormat
    301701.pdf3591KbAdobe PDF20View/Open


    All items in 政大典藏 are protected by copyright, with all rights reserved.


    社群 sharing

    著作權政策宣告 Copyright Announcement
    1.本網站之數位內容為國立政治大學所收錄之機構典藏,無償提供學術研究與公眾教育等公益性使用,惟仍請適度,合理使用本網站之內容,以尊重著作權人之權益。商業上之利用,則請先取得著作權人之授權。
    The digital content of this website is part of National Chengchi University Institutional Repository. It provides free access to academic research and public education for non-commercial use. Please utilize it in a proper and reasonable manner and respect the rights of copyright owners. For commercial use, please obtain authorization from the copyright owner in advance.

    2.本網站之製作,已盡力防止侵害著作權人之權益,如仍發現本網站之數位內容有侵害著作權人權益情事者,請權利人通知本網站維護人員(nccur@nccu.edu.tw),維護人員將立即採取移除該數位著作等補救措施。
    NCCU Institutional Repository is made to protect the interests of copyright owners. If you believe that any material on the website infringes copyright, please contact our staff(nccur@nccu.edu.tw). We will remove the work from the repository and investigate your claim.
    DSpace Software Copyright © 2002-2004  MIT &  Hewlett-Packard  /   Enhanced by   NTU Library IR team Copyright ©   - Feedback