Publications-Theses

Article View/Open

Publication Export

Google ScholarTM

NCCU Library

Citation Infomation

Related Publications in TAIR

題名 Hyperledger Fabric 應用於全民公投之連署書驗證暨查詢平台
Hyperledger Fabric Applied to the Cosign Authentication and Query Platform of Referendum
作者 陳君虹
Chen, Chun-Hung
貢獻者 張宏慶
Jang, Hung-Chin
陳君虹
Chen, Chun-Hung
關鍵詞 區塊鏈
超級帳本
智能合約
虛擬化容器
鏈碼
通道
分散式帳本
公投連署書
Blockchain
Hyperledger Fabric
Docker
Chaincode
Channel
Distributed ledger
Referendum
日期 2020
上傳時間 1-Feb-2021 14:09:52 (UTC+8)
摘要 隨著區塊鏈技術的興起,各行業更加重視以及著重發展基於區塊鏈網路技術 服務之應用。區塊鏈具有數據不可竄改性、可追溯性、去中心化以及透過網路中 所有節點保存數據帳本等特點,在區塊鏈之公有鏈與私有鏈應用方面,越來越多 的資訊服務來滿足使用者需求,公有鏈如以太坊的去中心化應用(DApp),私有鏈 如 Hyperledger Fabric 應用於供應鏈管理。現今區塊鏈應用場景有金融領域、產 品供應鏈、醫療保健、數位版權以及工業物聯網等。在個人資訊的安全性日益被 重視之下,如何利用區塊鏈技術創造透明安全、兼顧效能與擴展性之資訊服務, 是目前區塊鏈發展的一大重點。
在本論文中,我們提出了構建於區塊鏈技術的全民公投連署書驗證暨查詢平 台,係採用 Hyperledger Fabric 區塊鏈網路架構。在台灣目前公投連署書驗證流 程並不透明,其驗證流程恐有個人資訊安全之疑慮。本論文以私有區塊鏈為發想, 該平台旨在提升使用者個人資料的隱私安全性以及追溯公投連署書之狀態,並且 在使用者與連署書驗證單位之間建立友善透明的橋樑。透過 Hyperledger Fabric 之特性,如網路成員的權限允許制、隱私通道建立、數據加密與私有交易,藉此 提升個人資料的隱私安全。並且針對不同權限之使用者需求設計相對應的 Chaincode (智能合約),讓使用者能透過 Chaincode 與區塊鏈網路進行互動,如將 個人資訊加密後以通道隔離的方式儲存在區塊鏈帳本中。在 Hyperledger Fabric 區塊鏈網路中的每一筆交易,如查詢帳本中的個人資訊,都需要先提供查詢者的 身份證書,並在交易完成後留下查詢記錄,使用者能清楚知道其儲存在區塊鏈帳 本之個人資訊與連署書曾經被哪些驗證單位查詢,藉此讓使用者之連署書狀態達 到透明以及可追溯之目的,讓驗證流程更加透明,同時保障使用者的資訊安全。 本論文亦探究其他私有鏈應用相關研究如 Hyperledger Sawtooth 與 Corda,並將 兩者之特性與 Hyperledger Fabric 相比,藉此突顯採用 Hyperledger Fabric 作為該 平台之技術框架的優勢。
With the rise of blockchain technology, various industries pay more attention and focus on developing applications based on blockchain technology. Blockchain has the characteristics of immutable data, traceability, decentralization, and the preservation of ledger through all nodes in the blockchain network. In the public chain and private chain applications of blockchain, more and more information services to meet the needs of users. Public chains such as Ethereum`s decentralized applications (DApp), private chains such as Hyperledger Fabric are used in supply chain management. Current blockchain applications include the financial field, product supply chain, healthcare, digital copyright and industrial Internet of Things. As personal information security is increasingly emphasized, how to use blockchain technology to create information services that are transparent, safe, efficient, and scalable is a major focus of the current blockchain development.
In this research, we propose a cosign authentication and query platform of the referendum based on blockchain technology, which uses Hyperledger Fabric blockchain network architecture. In Taiwan, the current referendum`s signature verification process is not transparent, and the verification process may have personal information security concerns. This research is based on a private blockchain, and the platform aims to improve the security of users’ data, trace the referendum, and establish a friendly and transparent bridge between the user and the referendum`s verification agency. Through Hyperledger Fabric`s features, such as the permission mechanism of network members, the establishment of private channels, data encryption, and private transactions, the security of personal information can be improved. To design corresponding Chaincode (smart contracts) according to users` needs with different permissions, users can interact with the blockchain network through Chaincode, such
iii
as encrypting personal information and storing it in the blockchain ledger in a channel- isolated manner. Every transaction in the Hyperledger Fabric blockchain network, such as querying personal information in the ledger, needs to provide the identity certificate of the inquirer first and leave a query record after the transaction is completed so that users can know which verification agency have inquired about their personal information and referendums stored in the blockchain ledger. In this way, the user`s referendum status can be more transparent and traceable, the process of verification and the security of user`s personal information is guaranteed. This research also compares Hyperledger Fabric`s features with other private blockchain applications such as Hyperledger Sawtooth and Corda and points out the advantages of using Hyperledger Fabric as the technical framework of the platform.
參考文獻 [1] Satoshi Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” 2008.
Retrieved: https://bitcoin.org/bitcoin.pdf
[2] Nick Szabo, “Smart Contract,” 1994.
Retrieved:https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html
[3] Vitalik Buterin, “A Next Genetation Smart Contract and Decentralized Application Platform,” Ethereum White Paper, 2013.
Retrieved: Ethereum_white_paper
[4] Serguei Popov, “The Tangle,” IOTA White Paper, February 9, 2018
Retrieved: https://whitepaper.io/document/3/iota-whitepaper
[5] Leslie Lamport, Robert Shostak, and Marshall Pease, “The Byzantine Generals Problem,” 1982.
[6] Eric Brewer. “Towards robust distributed systems,” 2000.
DOI:10.1145/343477.343502. Retrieved: https://doi.org/10.1145/343477.343502
[7] Nancy Lynch and Seth Gilbert, “Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services,” 2002.
Retrieved: https://web.archive.org/web/20080908063921/http://lpd.epfl.ch/sgilbert/pubs/BrewersConjecture-SigAct.pdf
[8] Markus Jakobsson, Ari Juels. "Proofs of Work and Bread Pudding Protocols," Secure Information Networks: Communications and Multimedia Security, Kluwer Academic Publishers: 258–272. doi:10.1007/978-0-387-35568-9_18, 1999.
[9] Pavel Vasin, “BlackCoin’s Proof-of-Stake Protocol”
Retrieved: https://blackcoin.org/blackcoin-pos-protocol-v2-whitepaper.pdf
[10] Vitalik Buterin,“A Proof of Stake Design Philosophy,” Dec 31, 2016
Retrieved: https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51
[11] Castro, M.; Liskov, B. “Practical Byzantine Fault Tolerance and Proactive Recovery,” ACM Transactions on Computer Systems:398–461. 2002.
DOI:10.1145/571637.571640.
[12] Diego Ongaro and John Ousterhout, Stanford University, “In Search of an Understandable Consensus Algorithm”, 2014 USENIX Annual Technical Conference
, Raft Paper. Retrieved: https://raft.github.io/raft.pdf
[13] Open-sourcing Kafka, LinkedIn’s distributed message queue, January, 2011.
Retrieved: https://kafka.apache.org/documentation/
[14] Kafka, February, 2012. Retrieved: https://zh.wikipedia.org/wiki/Kafka
[15] Shafi Goldwasser, Silvio Micali, Charles Rackoff, “The Knowledge Complexity of Interactive Proof-System,” 1985.
Retrieved:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.419.8132&rep=rep1&type=pdf
[16] zk-SNARKs, January, 2012. Retrieved: https://z.cash/technology/zksnarks/
[17] Kafka-based Ordering Service in Fabric, 2020.
Retrieved:https://hyperledger-fabric.readthedocs.io/en/release-2.2/kafka.html
[19] Identity Mixer, Zero Knowledge in Fabric, 2020.
Retrieved: https://hyperledger-fabric.readthedocs.io/en/release-1.2/idemix.html
[20] V. S K, Y. R S, Y. Prashanth, Y. N and N. M, “E-Voting System using Hyperledger Sawtooth,” 2020 International Conference on Advances in Computing, Communication & Materials (ICACCM), Dehradun, India, 2020, pp. 29-35,
DOI: 10.1109/ICACCM50413.2020.9212945.
[21] Richard Gendal Brown, James Carlyle, Ian Grigg, Mike Hearn,“Corda: An Introduction,” 2016. DOI:10.13140/RG.2.2.30487.37284.
[22] Martin Valenta and Philipp Sandner. “Comparison of Ethereum, Hyperledger Fabric and Corda,” FSBC Working Paper, 2017.
[23] S. Pongnumkul, C. Siripanpornchana, and S. Thajchayapong, “Performance Analysis of Private Blockchain Platforms in Varying Workloads,” 2017 26th International Conference on Computer Communication and Networks (ICCCN), Vancouver, BC, 2017, pp. 1-6. DOI: 10.1109/ICCCN.2017.8038517.
描述 碩士
國立政治大學
資訊科學系
105753031
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0105753031
資料類型 thesis
dc.contributor.advisor 張宏慶zh_TW
dc.contributor.advisor Jang, Hung-Chinen_US
dc.contributor.author (Authors) 陳君虹zh_TW
dc.contributor.author (Authors) Chen, Chun-Hungen_US
dc.creator (作者) 陳君虹zh_TW
dc.creator (作者) Chen, Chun-Hungen_US
dc.date (日期) 2020en_US
dc.date.accessioned 1-Feb-2021 14:09:52 (UTC+8)-
dc.date.available 1-Feb-2021 14:09:52 (UTC+8)-
dc.date.issued (上傳時間) 1-Feb-2021 14:09:52 (UTC+8)-
dc.identifier (Other Identifiers) G0105753031en_US
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/133890-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學系zh_TW
dc.description (描述) 105753031zh_TW
dc.description.abstract (摘要) 隨著區塊鏈技術的興起,各行業更加重視以及著重發展基於區塊鏈網路技術 服務之應用。區塊鏈具有數據不可竄改性、可追溯性、去中心化以及透過網路中 所有節點保存數據帳本等特點,在區塊鏈之公有鏈與私有鏈應用方面,越來越多 的資訊服務來滿足使用者需求,公有鏈如以太坊的去中心化應用(DApp),私有鏈 如 Hyperledger Fabric 應用於供應鏈管理。現今區塊鏈應用場景有金融領域、產 品供應鏈、醫療保健、數位版權以及工業物聯網等。在個人資訊的安全性日益被 重視之下,如何利用區塊鏈技術創造透明安全、兼顧效能與擴展性之資訊服務, 是目前區塊鏈發展的一大重點。
在本論文中,我們提出了構建於區塊鏈技術的全民公投連署書驗證暨查詢平 台,係採用 Hyperledger Fabric 區塊鏈網路架構。在台灣目前公投連署書驗證流 程並不透明,其驗證流程恐有個人資訊安全之疑慮。本論文以私有區塊鏈為發想, 該平台旨在提升使用者個人資料的隱私安全性以及追溯公投連署書之狀態,並且 在使用者與連署書驗證單位之間建立友善透明的橋樑。透過 Hyperledger Fabric 之特性,如網路成員的權限允許制、隱私通道建立、數據加密與私有交易,藉此 提升個人資料的隱私安全。並且針對不同權限之使用者需求設計相對應的 Chaincode (智能合約),讓使用者能透過 Chaincode 與區塊鏈網路進行互動,如將 個人資訊加密後以通道隔離的方式儲存在區塊鏈帳本中。在 Hyperledger Fabric 區塊鏈網路中的每一筆交易,如查詢帳本中的個人資訊,都需要先提供查詢者的 身份證書,並在交易完成後留下查詢記錄,使用者能清楚知道其儲存在區塊鏈帳 本之個人資訊與連署書曾經被哪些驗證單位查詢,藉此讓使用者之連署書狀態達 到透明以及可追溯之目的,讓驗證流程更加透明,同時保障使用者的資訊安全。 本論文亦探究其他私有鏈應用相關研究如 Hyperledger Sawtooth 與 Corda,並將 兩者之特性與 Hyperledger Fabric 相比,藉此突顯採用 Hyperledger Fabric 作為該 平台之技術框架的優勢。
zh_TW
dc.description.abstract (摘要) With the rise of blockchain technology, various industries pay more attention and focus on developing applications based on blockchain technology. Blockchain has the characteristics of immutable data, traceability, decentralization, and the preservation of ledger through all nodes in the blockchain network. In the public chain and private chain applications of blockchain, more and more information services to meet the needs of users. Public chains such as Ethereum`s decentralized applications (DApp), private chains such as Hyperledger Fabric are used in supply chain management. Current blockchain applications include the financial field, product supply chain, healthcare, digital copyright and industrial Internet of Things. As personal information security is increasingly emphasized, how to use blockchain technology to create information services that are transparent, safe, efficient, and scalable is a major focus of the current blockchain development.
In this research, we propose a cosign authentication and query platform of the referendum based on blockchain technology, which uses Hyperledger Fabric blockchain network architecture. In Taiwan, the current referendum`s signature verification process is not transparent, and the verification process may have personal information security concerns. This research is based on a private blockchain, and the platform aims to improve the security of users’ data, trace the referendum, and establish a friendly and transparent bridge between the user and the referendum`s verification agency. Through Hyperledger Fabric`s features, such as the permission mechanism of network members, the establishment of private channels, data encryption, and private transactions, the security of personal information can be improved. To design corresponding Chaincode (smart contracts) according to users` needs with different permissions, users can interact with the blockchain network through Chaincode, such
iii
as encrypting personal information and storing it in the blockchain ledger in a channel- isolated manner. Every transaction in the Hyperledger Fabric blockchain network, such as querying personal information in the ledger, needs to provide the identity certificate of the inquirer first and leave a query record after the transaction is completed so that users can know which verification agency have inquired about their personal information and referendums stored in the blockchain ledger. In this way, the user`s referendum status can be more transparent and traceable, the process of verification and the security of user`s personal information is guaranteed. This research also compares Hyperledger Fabric`s features with other private blockchain applications such as Hyperledger Sawtooth and Corda and points out the advantages of using Hyperledger Fabric as the technical framework of the platform.
en_US
dc.description.tableofcontents 摘要……………………………………………………………………i
目次……………………………………………………………………iv
表次……………………………………………………………………vi
圖次……………………………………………………………………vii
第一章 緒論…………………………………………………1
1.1 研究背景…………………………………………1
1.2 研究動機與目標……………………………1
1.3 論文架構…………………………………………2
第二章 相關研究與技術背景……………………4
2.1 區塊鏈…………………………………………………………4
2.1.1 區塊鏈的起源與發展…………………………4
2.1.2 區塊鏈 1.0 : 數位貨幣………………5
2.1.3 區塊鏈2.0 : 智能合約…………………7
2.1.4 區塊鏈3.0:共享經濟模式……………9
2.1.5 共識機制………………………………………………10
2.1.6 區塊鏈的密碼學技術特性………………15
2.1.7 零知識證明…………………………………………18
2.2 HYPERLEDGER ……………………………………20
2.2.1 起源與背景…………………………………………20
2.2.2 Hyperledger主要項目介紹 ……21
2.3 Hyperledger Fabric …………………23
2.3.1 Fabric架構………………………………………23
2.3.2 Fabric CA………………………………………28
2.3.3 Fabric SDK……………………………………29
2.3.4 Fabric的Kafka共識機制……………32
2.3.5 Fabric的零知識證明……………………33
2.4 DOCKER……………………………………………………35
2.4.1 Docker主要元件……………………………36
2.4.2 Docker Compose…………………………37
2.5各大區塊鏈特點比較………………………………38
2.6其他私有區塊鏈技術相關研究………………38

第三章 研究方法………………………………………42
3.1 需求分析…………………………………………………42
3.1.1 設計目標……………………………………………42
3.1.2 以Hyperledger Fabric取代Ethereum的區塊鏈平台………43
3.2 系統架構…………………………………………………45
3.3 各層說明…………………………………………………46
3.3.1 應用程式層…………………………………………46
3.3.2 SDK服務層…………………………………………47
3.3.3 Fabric區塊鏈網路層……………………50
3.4 CA身份認證機制……………………………………54
3.5 Gossip協定與數據同步……………………54
第四章 系統實作結果………………………………56
4.1 FABRIC區塊鏈網路架設……………………56
4.1.1事前準備………………………………………………56
4.1.2 Fabric區塊鏈網路輔助工具………58
4.1.3 Fabric網路建立……………………………60
4.2 FABRIC SDK GO實作………………………62
4.2.1參數配置………………………………………………62
4.2.2 SDK服務實現……………………………………63
4.3 以GO語言實現CHAINCODE………………66
4.3.1 用於一般用戶之Chaincode-Petition……………………66
4.3.2 用於管理用戶之Chaincode-Service………………………68
4.3.3 測試自動化部屬Chaincode至節點………………………………68
4.3.4 對State Database中的用戶資料進行加密……………70
4.4 實作MVC架構之Web…………………………………………………………………71
4.4.1 Web應用設計………………………………………………………………………71
4.4.2 公投連署驗證平台結果呈現……………………………………………73
第五章 結論與未來展望……………………………………………………………78
參考文獻………………………………………………………………………………………………80
zh_TW
dc.format.extent 8832581 bytes-
dc.format.mimetype application/pdf-
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0105753031en_US
dc.subject (關鍵詞) 區塊鏈zh_TW
dc.subject (關鍵詞) 超級帳本zh_TW
dc.subject (關鍵詞) 智能合約zh_TW
dc.subject (關鍵詞) 虛擬化容器zh_TW
dc.subject (關鍵詞) 鏈碼zh_TW
dc.subject (關鍵詞) 通道zh_TW
dc.subject (關鍵詞) 分散式帳本zh_TW
dc.subject (關鍵詞) 公投連署書zh_TW
dc.subject (關鍵詞) Blockchainen_US
dc.subject (關鍵詞) Hyperledger Fabricen_US
dc.subject (關鍵詞) Dockeren_US
dc.subject (關鍵詞) Chaincodeen_US
dc.subject (關鍵詞) Channelen_US
dc.subject (關鍵詞) Distributed ledgeren_US
dc.subject (關鍵詞) Referendumen_US
dc.title (題名) Hyperledger Fabric 應用於全民公投之連署書驗證暨查詢平台zh_TW
dc.title (題名) Hyperledger Fabric Applied to the Cosign Authentication and Query Platform of Referendumen_US
dc.type (資料類型) thesisen_US
dc.relation.reference (參考文獻) [1] Satoshi Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” 2008.
Retrieved: https://bitcoin.org/bitcoin.pdf
[2] Nick Szabo, “Smart Contract,” 1994.
Retrieved:https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html
[3] Vitalik Buterin, “A Next Genetation Smart Contract and Decentralized Application Platform,” Ethereum White Paper, 2013.
Retrieved: Ethereum_white_paper
[4] Serguei Popov, “The Tangle,” IOTA White Paper, February 9, 2018
Retrieved: https://whitepaper.io/document/3/iota-whitepaper
[5] Leslie Lamport, Robert Shostak, and Marshall Pease, “The Byzantine Generals Problem,” 1982.
[6] Eric Brewer. “Towards robust distributed systems,” 2000.
DOI:10.1145/343477.343502. Retrieved: https://doi.org/10.1145/343477.343502
[7] Nancy Lynch and Seth Gilbert, “Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services,” 2002.
Retrieved: https://web.archive.org/web/20080908063921/http://lpd.epfl.ch/sgilbert/pubs/BrewersConjecture-SigAct.pdf
[8] Markus Jakobsson, Ari Juels. "Proofs of Work and Bread Pudding Protocols," Secure Information Networks: Communications and Multimedia Security, Kluwer Academic Publishers: 258–272. doi:10.1007/978-0-387-35568-9_18, 1999.
[9] Pavel Vasin, “BlackCoin’s Proof-of-Stake Protocol”
Retrieved: https://blackcoin.org/blackcoin-pos-protocol-v2-whitepaper.pdf
[10] Vitalik Buterin,“A Proof of Stake Design Philosophy,” Dec 31, 2016
Retrieved: https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51
[11] Castro, M.; Liskov, B. “Practical Byzantine Fault Tolerance and Proactive Recovery,” ACM Transactions on Computer Systems:398–461. 2002.
DOI:10.1145/571637.571640.
[12] Diego Ongaro and John Ousterhout, Stanford University, “In Search of an Understandable Consensus Algorithm”, 2014 USENIX Annual Technical Conference
, Raft Paper. Retrieved: https://raft.github.io/raft.pdf
[13] Open-sourcing Kafka, LinkedIn’s distributed message queue, January, 2011.
Retrieved: https://kafka.apache.org/documentation/
[14] Kafka, February, 2012. Retrieved: https://zh.wikipedia.org/wiki/Kafka
[15] Shafi Goldwasser, Silvio Micali, Charles Rackoff, “The Knowledge Complexity of Interactive Proof-System,” 1985.
Retrieved:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.419.8132&rep=rep1&type=pdf
[16] zk-SNARKs, January, 2012. Retrieved: https://z.cash/technology/zksnarks/
[17] Kafka-based Ordering Service in Fabric, 2020.
Retrieved:https://hyperledger-fabric.readthedocs.io/en/release-2.2/kafka.html
[19] Identity Mixer, Zero Knowledge in Fabric, 2020.
Retrieved: https://hyperledger-fabric.readthedocs.io/en/release-1.2/idemix.html
[20] V. S K, Y. R S, Y. Prashanth, Y. N and N. M, “E-Voting System using Hyperledger Sawtooth,” 2020 International Conference on Advances in Computing, Communication & Materials (ICACCM), Dehradun, India, 2020, pp. 29-35,
DOI: 10.1109/ICACCM50413.2020.9212945.
[21] Richard Gendal Brown, James Carlyle, Ian Grigg, Mike Hearn,“Corda: An Introduction,” 2016. DOI:10.13140/RG.2.2.30487.37284.
[22] Martin Valenta and Philipp Sandner. “Comparison of Ethereum, Hyperledger Fabric and Corda,” FSBC Working Paper, 2017.
[23] S. Pongnumkul, C. Siripanpornchana, and S. Thajchayapong, “Performance Analysis of Private Blockchain Platforms in Varying Workloads,” 2017 26th International Conference on Computer Communication and Networks (ICCCN), Vancouver, BC, 2017, pp. 1-6. DOI: 10.1109/ICCCN.2017.8038517.
zh_TW
dc.identifier.doi (DOI) 10.6814/NCCU202100164en_US