Please use this identifier to cite or link to this item: https://ah.nccu.edu.tw/handle/140.119/129668


Title: 基於亞馬遜雲端運算服務之Quorum自動化部署與效能量測工具
Automated Deployment and Performance Evaluation Tool Based on Amazon Web Services for Quorum Blockchain
Authors: 蕭兆洋
Hsiao, Chao-Yang
Contributors: 陳恭
Chen, Kung
蕭兆洋
Hsiao, Chao-Yang
Keywords: 區塊鏈
亞馬遜雲端運算
自動化部署
效能量測
聯盟鏈
私有鏈
亞馬遜雲端運算服務
部署
Blockchain
Private Blockchain
Consortium Blockchain
AWS
Amazon Web Services
Quorum
Blockchain Deployment
Automated Deployment
Performance Measurement
Performance Evaluation
Date: 2020
Issue Date: 2020-05-05 12:01:20 (UTC+8)
Abstract: 區塊鏈的種類除了「公有鏈」之外,「私有鏈」與「聯盟鏈」也扮演了舉足輕重的角色,聯盟鏈將於各種企業、組織間創造許多區塊鏈的應用場景,解決跨企業、跨組織的「信任」、「隱私」與「整合標準化」問題。本研究以目前三大聯盟鏈之一的Quorum為主要研究對象。

為了幫助未來企業、組織在進行「私有鏈」或是「聯盟鏈」評估時,降低區塊鏈部署門檻,快速部署並套用實務應用之區塊鏈環境,我們以公有雲端運算服務商AWS(Amazon Web Service,亞馬遜雲端運算服務)為「運算資源」與「網路環境」之基礎,整合多種開源工具,僅需簡單透過更改設定檔,即可將Quorum使用自動化部署的方式快速部署到AWS上,且可依據需求選擇Clique、Istanbul BFT、Raft三種共識演算法,並搭配Tessera、Constellation兩種隱私協議,解決「區塊鏈部署」之複雜性問題並大大增進部署效率。

另外,我們也利用開源工具收集各種共識指標,整合了節點資源與共識資訊的即時視覺化Dashboard,透過共識相關日誌之收集,將日誌集中索引,並提供日誌搜尋與視覺化工具,幫助快速進行共識狀態的分析。最後我們也整合了多種壓測與網路控制工具,方便進行不同共識演算法於不同「系統資源」與「網路環境」之比較,打造全面且易於擴充的「區塊鏈效能量測」工具。
Besides “Public Blockchain”, “Private Blockchain” and “Consortium Blockchain” also play a pivotal role. “Consortium Blockchain” will create many blockchain’s application scenario among various enterprises and organizations to solve the problems of “Trust”, “Privacy” and “Integration Standardization” across enterprises and organizations. This study takes Quorum, one of the three major consortium blockchain, as the main research object.

In order to help enterprises and organizations to evaluate the “Private Blockchain” or “Consortium Blockchain”, reduce the threshold for blockchain deployment, quickly deploy and apply the blockchain to practical applications, we use the public cloud computing service provider AWS (Amazon Web Service) as the “computing resources” and “network environment” foundation. We integrate a variety of open source tools to make Quorum automated deployment fast by simply setup and apply the configuration files. Three consensus algorithms: Clique, Istanbul BFT and Raft, together with two privacy implementation Tessera and Constellation on Quorum can be choose by requirements. We’d like to solve the complexity and improve the efficiency of “Blockchain Deployment”.

In addition, we also use open source tools to collect various consensus metrics, integrate real-time visualization of node resources and consensus status dashboard. Through the collection of consensus related logs, and provide log search and visualization tools to help consensus status analysis. Finally, we also integrated a variety of stress test and network control tools to facilitate the comparison of different consensus algorithms between different “system resources” and “network environments”, creating a comprehensive and easy to expand “Blockchain Performance Measurement” tool.
Reference: [1] S. Nakamoto, “Bitcoin: A peer-to-peer electronic cash system”, 2008.
[2] Libra Association Members, “An Introduction to Libra”, https://libra.org/en-US/wp-content/uploads/sites/23/2019/06/LibraWhitePaper_en_US.pdf .
[3] 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.
[4] “Clique”, https://github.com/ethereum/EIPs/issues/225 .
[5] Miguel Castro and Barbara Liskov, “Practical Byzantine Fault Tolerance”, 1999.
[6] “Istanbul Byzantine Fault Tolerance”, https://github.com/ethereum/EIPs/issues/650 .
[7] Diego Ongaro and John Ousterhout, “In Search of an Understandable Consensus Algorithm(Extended Version)”, USENIX Annual Technical Conference, 2014.
[8] Leslie Lamport, “Paxos Made Simple”, 2001-11-01
[9] “Constellation”, https://docs.goquorum.com/en/latest/Privacy/Constellation/Constellation .
[10] “NaCl”, https://nacl.cr.yp.to/ .
[11] “Curve25519”, https://en.wikipedia.org/wiki/Curve25519 .
[12] “Tessera”, https://docs.goquorum.com/en/latest/Privacy/Tessera/Tessera/ .
[13] Arati Baliga, Subhod I, Pandurang Kamat and Siddhartha Chatterjee, “Performance Evaluation of the Quorum Blockchain Platform”, 2018-07-19.
[14] “caliper”, https://github.com/hyperledger/caliper .
[15] B Xu, D Luthra, Z Cole, N Blakely, “Eos: An architectural, performance, and economic analysis”, 2018.
[16] “Whiteblock”, https://whiteblock.io .
[17] Ethan Buchman, “Tendermint: Byzantine Fault Tolerance in the Age of Blockchains”, 2016-06.
[18] “Istanbul BFT Benchmarking”, https://github.com/getamis/istanbul-tools/wiki/Istanbul-BFT-Benchmarking .
[19] “go-ethereum”, https://github.com/ethereum/go-ethereum .
[20] “Parity”, https://github.com/paritytech/parity-ethereum .
[21] “nethermind”, https://github.com/NethermindEth/nethermind .
[22] “Quorum”, https://github.com/jpmorganchase/quorum .
[23] “Packer”, https://github.com/hashicorp/packer .
[24] “Terraform”, https://github.com/hashicorp/terraform .
[25] “Terragrunt”, https://github.com/gruntwork-io/terragrunt .
[26] “monit”, https://mmonit.com/monit .
[27] “Ansible”, https://github.com/ansible/ansible .
[28] “epirus”, https://github.com/blk-io/epirus-free .
[29] “Etherscan”, https://etherscan.io .
[30] “Prometheus”, https://github.com/prometheus/prometheus .
[31] “Grafana”, https://github.com/grafana/grafana .
[32] “Node exporter”, https://github.com/prometheus/node_exporter .
[33] “Grok exporter”, https://github.com/fstab/grok_exporter .
[34] “Filebeat”, https://github.com/elastic/beats/tree/master/filebeat .
[35] “Logstash”, https://github.com/elastic/logstash .
[36] “Elasticsearch”, https://github.com/elastic/elasticsearch .
[37] “Kibana”, https://github.com/elastic/kibana .
[38] “sysbench”, https://github.com/akopytov/sysbench .
[39] tc(8) tc Manual.
[40] iptables(8) iptables Manual.
[41] “Wondershaper”, https://github.com/magnific0/wondershaper .
[42] “etcd Hardware”, https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/hardware.md .
[43] “etcd Failures”, https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/failures.md .
Description: 碩士
國立政治大學
資訊科學系碩士在職專班
106971005
Source URI: http://thesis.lib.nccu.edu.tw/record/#G0106971005
Data Type: thesis
Appears in Collections:[資訊科學系碩士在職專班] 學位論文

Files in This Item:

File Description SizeFormat
100501.pdf7226KbAdobe PDF0View/Open


All items in 學術集成 are protected by copyright, with all rights reserved.


社群 sharing