學術產出-Theses

Article View/Open

Publication Export

Google ScholarTM

政大圖書館

Citation Infomation

題名 區塊鏈跨鏈互操作性研究:以R3 Corda與以太坊為例
Cross-Chain Interoperability Study: The Case of R3 Corda and Ethereum
作者 吳宇晨
Wu, Yu-Chen
貢獻者 陳恭
Chen, Kung
吳宇晨
Wu, Yu-Chen
關鍵詞 區塊鏈
跨鏈技術
跨鏈互操作性
blockchain
cross-chain technology
cross-chain interoperability
日期 2019
上傳時間 5-Sep-2019 16:15:29 (UTC+8)
摘要 區塊鏈(Blockchain)是源自虛擬貨幣比特幣(Bitcoin)的底層技術,提供比特幣儲存與管理交易帳本的功能。它透過現代密碼學方法與分散式系統技術,提供不完全信任的多方,能共同管理共享資料(如交易帳本)的機制。這種集體參與並共同維護資料的方式,一改傳統單一中心機構掌控資料的模式,開啟了許多新型態應用的可能性,故成為各界矚目的新興科技。
在現今區塊鏈之多元與快速蓬勃發展下,如何讓不同區塊鏈間的資料能夠流通已成為實務應用上必須面對問題。因此,多個區塊鏈間資料交換技術(簡稱跨鏈技術)的探討與發展,是當前重要研究課題。跨鏈技術最重要的目標在於確保資料的正確性,其需具有判斷資料是否正確且來自所要之區塊鏈的驗證能力。故區塊鏈間之跨鏈的相容性與互操作性的實務應用之探討與實驗,是當前刻不容緩的課題。
本研究主要目標為透過參考相關文獻,就跨鏈互操作性在實務上的可能作法進行研究與探討,訂出跨鏈互操作的示範應用情境,使用不同的實作方法於Corda區塊鏈與以太坊區塊鏈平台,開發實驗程式進行跨鏈技術的探討與實驗測試,以進一步評估不同技術的優缺點,利於後續實務應用發展的需求之參考。
The Blockchain is a low-layer technology derived from Bitcoin, which provides storage and management of transaction books to Bitcoin. It is a mechanism for sharing shared data (such as transaction books) to parties that is not fully trusted by using modern cryptography and decentralized system technology. This kind of collective participation and joint maintenance of information has changed the mode of traditional single-center institutions to control data, opening up the possibility of many new-type applications, and it has become an emerging technology that attracts attention from all walks of life.
With the diversity and rapid development of today`s blockchains, how to circulate data between different blockchains has become a pratical problem. Therefore, the discussion and development of multiple blockchain data exchange technology (referred to as cross-chain technology) is an important research topic at present. The most important goal of cross-chain technology is to ensure the correctness of the data. It needs to have the ability to judge whether the data is correct and from the required blockchain. Therefore, the discussion and experiment of the cross-chain compatibility and interoperability between blockchains is an urgent task.
The main objective of this thesis is to discuss the possibility of cross-chain interoperability by studying related literatures, and define the application secnarios of it. Moreover, we use three methods to implement cross-chain program in both Corda and Ethereum platform. In the end, we evaluate the pros and cons of methods to facilitate the following research.
參考文獻 [1] Nakamoto, Satoshi Bitcoin: A peer-to-peer electronic cash system. 2009.
[2] 陳恭,區塊鏈革命迎向產業新契機,2017年09月07日,檢自http://www.ftrc.nccu.edu.tw/wordpresseng/?p=3661
[3] Mayank Pratap, Blockchain Technology Explained: Introduction, Meaning, and Applications,2018年07月30日,檢自https://hackernoon.com/blockchain-technology-explained-introduction-meaning-and-applications-edbd6759a2b2
[4] Blockchain Market Shares, Market Strategies, and Market Forecasts, 2018 to 2024,2018年,檢自:https://www.ibm.com/downloads/cas/PPRR983X
[5] 以太坊官方網頁,檢自:https://www.ethereum.org/
[6] R3 Corda官方網頁,檢自:https://www.corda.net/
[7] 以太坊維基百科,檢自
https://zh.wikipedia.org/wiki/%E4%BB%A5%E5%A4%AA%E5%9D%8A
[8] 以太坊白皮書,2018年08月31日,檢自: https://github.com/ethereum/wiki/wiki/%5BChinese%5D-Ethereum-%E7%99%BD%E7%9A%AE%E6%9B%B8
[9] 張元朋,區塊鏈智慧合約於P2P借貸平台的應用與實作,2018年07月,檢自:
http://www.mis.ttu.edu.tw/ezfiles/72/1072/img/322/158369297.pdf
[10] 區塊鏈技術概觀(四):以太幣運作模式拆解,2017 年 08 月 24 日,檢自:
http://technews.tw/2017/08/24/blockchain-principle-part-four/
[11] Ethereum 的獎勵機制,2018 年 09 月 11 日,檢自:
https://blog.fukuball.com/tags/uncle-block/
[12] geth基於PoA共識機制構建聯盟鏈,2018 年 07 月 18 日,檢自:https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/500708/
[13] What does block reached canonical chain mean,2018 年 04 月 29 日,檢自: https://ethereum.stackexchange.com/questions/47016/what-does-block-reached-canonical-chain-mean
[14] R3 Corda官方網頁,檢自:https://ithelp.ithome.com.tw/articles/10209267
[15] square/okhttp API,檢自:https://github.com/square/okhttp
[16] R3 Corda官方文件,檢自:https://docs.corda.net/
[17] R3 Corda 狀態(States),2018 年 04 月 29 日,檢自:
https://ithelp.ithome.com.tw/articles/10208605
[18] R3 Corda 流程(Flow),2018 年 11 月 10 日,檢自:
https://ithelp.ithome.com.tw/articles/10209160
[19] R3 Corda合約(Contracts),檢自:https://docs.corda.net/key-concepts-contracts.html
[20] R3 Corda白皮書,2016 年 8 月,檢自:
https://docs.corda.net/_static/corda-introductory-whitepaper-zht.pdf
[21] R3 Corda共識機制的深入分析,2018 年 04 月 24 日,檢自:
http://www.bcfans.com/jishu/rumen/15064.html
[22] R3 Corda客製化公證服務,檢自:https://docs.corda.net/tutorial-custom-notary.html
[23] Corda Notary vault not showing transactions,2018 年 07 月 09 日,檢自: https://stackoverflow.com/questions/51249542/corda-notary-vault-not-showing-transactions
[24] Vitalik Buterin:Chain Interoperability,上網日期2018年12月25日,檢自:https://static1.squarespace.com/static/55f73743e4b051cfcc0b02cf/t/5886800ecd0f68de303349b1/1485209617040/Chain+Interoperability.pdf
[25] Taking Stock:Bitcoin and Ethereum,2015年12月10日,檢自:
https://medium.com/@ConsenSys/taking-stock-bitcoin-and-ethereum-4382f0a2f17
[26] R3 Corda Supported cipher suites,檢自:
https://docs.corda.net/cipher-suites.html#supported-cipher-suites
[27] Corda網絡的證書籤發,2018年10月10日,檢自:
https://www.twblogs.net/a/5bbd767a2b71776bd30c522b
[28] Error when use “java -jar corda.jar --initial-registration
--network-root-truststore-password” for Corda Testnet,2018年12月17日,檢自: https://stackoverflow.com/questions/53808538/error-when-use-java-jar-corda-jar-initial-registration-network-root-trusts
[29] Geth worker API ,檢自:https://github.com/ethereum/go-ethereum/blob/release/1.8/miner/worker.go#L57
[30] How to calculate the assigned txHash of a transaction,2018年04月16日,檢自: https://ethereum.stackexchange.com/questions/45648/how-to-calculate-the-assigned-txhash-of-a-transaction
[31] Web3J crypto API,檢自:https://github.com/web3j/web3j/tree/master/crypto
[32] 以太坊JSONRPC API,檢自:
https://github.com/ethereum/wiki/wiki/JSON-RPC#example-31
[33] 以太坊黃皮書,檢自:https://ethereum.github.io/yellowpaper/paper.pdf#appendix.D
[34] Web3J API,檢自:https://web3j.readthedocs.io/en/latest/
[35] Ethereumj trie API,檢自: https://github.com/ethereum/ethereumj/tree/develop/ethereumj-core/src/main/java/org/ethereum/trie
[36] 最小可行性區塊鏈設計系列:Day 7 PatriciaTrie,2017 年 03 月 23 日,檢自:
https://www.jianshu.com/p/0cd9c04ac744
[37] Web3JS API,檢自:https://web3js.readthedocs.io/en/1.0/
描述 碩士
國立政治大學
資訊科學系
106753036
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0106753036
資料類型 thesis
dc.contributor.advisor 陳恭zh_TW
dc.contributor.advisor Chen, Kungen_US
dc.contributor.author (Authors) 吳宇晨zh_TW
dc.contributor.author (Authors) Wu, Yu-Chenen_US
dc.creator (作者) 吳宇晨zh_TW
dc.creator (作者) Wu, Yu-Chenen_US
dc.date (日期) 2019en_US
dc.date.accessioned 5-Sep-2019 16:15:29 (UTC+8)-
dc.date.available 5-Sep-2019 16:15:29 (UTC+8)-
dc.date.issued (上傳時間) 5-Sep-2019 16:15:29 (UTC+8)-
dc.identifier (Other Identifiers) G0106753036en_US
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/125645-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學系zh_TW
dc.description (描述) 106753036zh_TW
dc.description.abstract (摘要) 區塊鏈(Blockchain)是源自虛擬貨幣比特幣(Bitcoin)的底層技術,提供比特幣儲存與管理交易帳本的功能。它透過現代密碼學方法與分散式系統技術,提供不完全信任的多方,能共同管理共享資料(如交易帳本)的機制。這種集體參與並共同維護資料的方式,一改傳統單一中心機構掌控資料的模式,開啟了許多新型態應用的可能性,故成為各界矚目的新興科技。
在現今區塊鏈之多元與快速蓬勃發展下,如何讓不同區塊鏈間的資料能夠流通已成為實務應用上必須面對問題。因此,多個區塊鏈間資料交換技術(簡稱跨鏈技術)的探討與發展,是當前重要研究課題。跨鏈技術最重要的目標在於確保資料的正確性,其需具有判斷資料是否正確且來自所要之區塊鏈的驗證能力。故區塊鏈間之跨鏈的相容性與互操作性的實務應用之探討與實驗,是當前刻不容緩的課題。
本研究主要目標為透過參考相關文獻,就跨鏈互操作性在實務上的可能作法進行研究與探討,訂出跨鏈互操作的示範應用情境,使用不同的實作方法於Corda區塊鏈與以太坊區塊鏈平台,開發實驗程式進行跨鏈技術的探討與實驗測試,以進一步評估不同技術的優缺點,利於後續實務應用發展的需求之參考。
zh_TW
dc.description.abstract (摘要) The Blockchain is a low-layer technology derived from Bitcoin, which provides storage and management of transaction books to Bitcoin. It is a mechanism for sharing shared data (such as transaction books) to parties that is not fully trusted by using modern cryptography and decentralized system technology. This kind of collective participation and joint maintenance of information has changed the mode of traditional single-center institutions to control data, opening up the possibility of many new-type applications, and it has become an emerging technology that attracts attention from all walks of life.
With the diversity and rapid development of today`s blockchains, how to circulate data between different blockchains has become a pratical problem. Therefore, the discussion and development of multiple blockchain data exchange technology (referred to as cross-chain technology) is an important research topic at present. The most important goal of cross-chain technology is to ensure the correctness of the data. It needs to have the ability to judge whether the data is correct and from the required blockchain. Therefore, the discussion and experiment of the cross-chain compatibility and interoperability between blockchains is an urgent task.
The main objective of this thesis is to discuss the possibility of cross-chain interoperability by studying related literatures, and define the application secnarios of it. Moreover, we use three methods to implement cross-chain program in both Corda and Ethereum platform. In the end, we evaluate the pros and cons of methods to facilitate the following research.
en_US
dc.description.tableofcontents 摘 要 I
ABSTRACT II
目 錄 III
圖目錄 V
表目錄 X
第1章 緒論 1
1.1 研究背景與動機 1
1.2 研究問題與目的 2
第2章 技術背景 3
2.1 區塊鏈 3
2.2 以太坊區塊鏈 7
2.3 Corda區塊鏈 9
第3章 研究途徑與方法 11
3.1 跨區塊鏈應用的種類 11
3.2 跨鏈技術需求考量 13
3.3 跨鏈技術種類 14
3.3.1見證人模式(Notary) 14
3.3.2中繼模式(Relay) 15
3.3.3雜湊鎖模式(Hash-lock) 18
3.4 研究方法與進行步驟 19
第4章 系統設計 21
4.1角色說明 21
4.2應用場景設計 21
第5章 系統實作 29
5.1見證人模式(Notary) 29
5.1.1實作系統架構 29
5.1.2見證人模式實作結果與操作流程 30
5.2中繼模式(Relay) 44
5.2.1實作系統架構 44
5.2.2中繼模式實驗討論 45
5.2.3數位簽章及兩個區塊鏈的驗證動作 46
5.2.4 中繼模式實驗結果與操作流程 53
5.3雜湊鎖模式(Hash-lock) 72
5.3.1雜湊鎖基本原理 72
5.3.2實作系統架構 73
5.3.3實作結果與討論 79
5.3.4雜湊鎖模式操作流程 86
第6章 結論與建議 104
6.1 研究結論 104
6.2 未來研究方向的建議 106
參考文獻 107
zh_TW
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0106753036en_US
dc.subject (關鍵詞) 區塊鏈zh_TW
dc.subject (關鍵詞) 跨鏈技術zh_TW
dc.subject (關鍵詞) 跨鏈互操作性zh_TW
dc.subject (關鍵詞) blockchainen_US
dc.subject (關鍵詞) cross-chain technologyen_US
dc.subject (關鍵詞) cross-chain interoperabilityen_US
dc.title (題名) 區塊鏈跨鏈互操作性研究:以R3 Corda與以太坊為例zh_TW
dc.title (題名) Cross-Chain Interoperability Study: The Case of R3 Corda and Ethereumen_US
dc.type (資料類型) thesisen_US
dc.relation.reference (參考文獻) [1] Nakamoto, Satoshi Bitcoin: A peer-to-peer electronic cash system. 2009.
[2] 陳恭,區塊鏈革命迎向產業新契機,2017年09月07日,檢自http://www.ftrc.nccu.edu.tw/wordpresseng/?p=3661
[3] Mayank Pratap, Blockchain Technology Explained: Introduction, Meaning, and Applications,2018年07月30日,檢自https://hackernoon.com/blockchain-technology-explained-introduction-meaning-and-applications-edbd6759a2b2
[4] Blockchain Market Shares, Market Strategies, and Market Forecasts, 2018 to 2024,2018年,檢自:https://www.ibm.com/downloads/cas/PPRR983X
[5] 以太坊官方網頁,檢自:https://www.ethereum.org/
[6] R3 Corda官方網頁,檢自:https://www.corda.net/
[7] 以太坊維基百科,檢自
https://zh.wikipedia.org/wiki/%E4%BB%A5%E5%A4%AA%E5%9D%8A
[8] 以太坊白皮書,2018年08月31日,檢自: https://github.com/ethereum/wiki/wiki/%5BChinese%5D-Ethereum-%E7%99%BD%E7%9A%AE%E6%9B%B8
[9] 張元朋,區塊鏈智慧合約於P2P借貸平台的應用與實作,2018年07月,檢自:
http://www.mis.ttu.edu.tw/ezfiles/72/1072/img/322/158369297.pdf
[10] 區塊鏈技術概觀(四):以太幣運作模式拆解,2017 年 08 月 24 日,檢自:
http://technews.tw/2017/08/24/blockchain-principle-part-four/
[11] Ethereum 的獎勵機制,2018 年 09 月 11 日,檢自:
https://blog.fukuball.com/tags/uncle-block/
[12] geth基於PoA共識機制構建聯盟鏈,2018 年 07 月 18 日,檢自:https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/500708/
[13] What does block reached canonical chain mean,2018 年 04 月 29 日,檢自: https://ethereum.stackexchange.com/questions/47016/what-does-block-reached-canonical-chain-mean
[14] R3 Corda官方網頁,檢自:https://ithelp.ithome.com.tw/articles/10209267
[15] square/okhttp API,檢自:https://github.com/square/okhttp
[16] R3 Corda官方文件,檢自:https://docs.corda.net/
[17] R3 Corda 狀態(States),2018 年 04 月 29 日,檢自:
https://ithelp.ithome.com.tw/articles/10208605
[18] R3 Corda 流程(Flow),2018 年 11 月 10 日,檢自:
https://ithelp.ithome.com.tw/articles/10209160
[19] R3 Corda合約(Contracts),檢自:https://docs.corda.net/key-concepts-contracts.html
[20] R3 Corda白皮書,2016 年 8 月,檢自:
https://docs.corda.net/_static/corda-introductory-whitepaper-zht.pdf
[21] R3 Corda共識機制的深入分析,2018 年 04 月 24 日,檢自:
http://www.bcfans.com/jishu/rumen/15064.html
[22] R3 Corda客製化公證服務,檢自:https://docs.corda.net/tutorial-custom-notary.html
[23] Corda Notary vault not showing transactions,2018 年 07 月 09 日,檢自: https://stackoverflow.com/questions/51249542/corda-notary-vault-not-showing-transactions
[24] Vitalik Buterin:Chain Interoperability,上網日期2018年12月25日,檢自:https://static1.squarespace.com/static/55f73743e4b051cfcc0b02cf/t/5886800ecd0f68de303349b1/1485209617040/Chain+Interoperability.pdf
[25] Taking Stock:Bitcoin and Ethereum,2015年12月10日,檢自:
https://medium.com/@ConsenSys/taking-stock-bitcoin-and-ethereum-4382f0a2f17
[26] R3 Corda Supported cipher suites,檢自:
https://docs.corda.net/cipher-suites.html#supported-cipher-suites
[27] Corda網絡的證書籤發,2018年10月10日,檢自:
https://www.twblogs.net/a/5bbd767a2b71776bd30c522b
[28] Error when use “java -jar corda.jar --initial-registration
--network-root-truststore-password” for Corda Testnet,2018年12月17日,檢自: https://stackoverflow.com/questions/53808538/error-when-use-java-jar-corda-jar-initial-registration-network-root-trusts
[29] Geth worker API ,檢自:https://github.com/ethereum/go-ethereum/blob/release/1.8/miner/worker.go#L57
[30] How to calculate the assigned txHash of a transaction,2018年04月16日,檢自: https://ethereum.stackexchange.com/questions/45648/how-to-calculate-the-assigned-txhash-of-a-transaction
[31] Web3J crypto API,檢自:https://github.com/web3j/web3j/tree/master/crypto
[32] 以太坊JSONRPC API,檢自:
https://github.com/ethereum/wiki/wiki/JSON-RPC#example-31
[33] 以太坊黃皮書,檢自:https://ethereum.github.io/yellowpaper/paper.pdf#appendix.D
[34] Web3J API,檢自:https://web3j.readthedocs.io/en/latest/
[35] Ethereumj trie API,檢自: https://github.com/ethereum/ethereumj/tree/develop/ethereumj-core/src/main/java/org/ethereum/trie
[36] 最小可行性區塊鏈設計系列:Day 7 PatriciaTrie,2017 年 03 月 23 日,檢自:
https://www.jianshu.com/p/0cd9c04ac744
[37] Web3JS API,檢自:https://web3js.readthedocs.io/en/1.0/
zh_TW
dc.identifier.doi (DOI) 10.6814/NCCU201901093en_US