Publications-Theses

Article View/Open

Publication Export

Google ScholarTM

NCCU Library

Citation Infomation

Related Publications in TAIR

題名 支援智能合約剖面導向程式設計、部署及事件監控之以太坊區塊鏈整合工具
Supporting aspect-oriented programming, deployment and event monitoring of smart contracts on the Ethereum blockchain
作者 洪健哲
Hung, Chien-Che
貢獻者 廖峻鋒<br>陳恭
Liao, Chun-Feng<br>Chen, Kung
洪健哲
Hung, Chien-Che
關鍵詞 區塊鏈
智能合約
剖面導向程式設計
開發維運
Blockchain
Smart contract
Aspect-oriented Programming
DevOps
Solidity
日期 2019
上傳時間 7-Aug-2019 16:36:24 (UTC+8)
摘要 隨著數位貨幣的興起,區塊鏈技術在現今生活中越來越受到產業界與學界的矚目。其中,智能合約的出現更讓區塊鏈如虎添翼,使其從原本的加密貨幣衍生出各式各樣的產業應用情境,智能合約的開發也逐漸受到重視。然而,目前區塊鏈上針對智能合約程式碼的寫作及開發機制未臻完善。例如,智能合約中尚無針對橫切面考量的邏輯提供通用的解決方案;此外,目前仍缺乏智能合約之開發、部署、資料監控的整合機制,導致區塊鏈應用的開發需要較繁複的手續、較高的開發時程成本。基於上述原因,本研究提出一個支援智能合約剖面導向程式設計的機制,並結合網頁技術、區塊鏈標準API、快取資料庫模組,設計一套便於開發的整合系統,以智能合約開發人員使用情境為案例,結合上述平台,就所開發的系統進行可用性檢驗,以使區塊鏈服務應用開發更有效率、縮短區塊鏈商品化週期。
With the development of digital currency, blockchain technology has attracted much attention from industry and academia nowadays. Meanwhile, the emergence of smart contracts has made the blockchain more powerful, which led to many innovative industrial application scenarios. However, there are still many issues to be resolved in the development of smart contracts. For example, there is no universal solution for modularizing cross-cutting logic in smart contracts. Besides, there still lacks an integration mechanism for development, deployment, and monitoring of smart contracts. Based on the reasons mentioned above, this thesis proposes a mechanism to support aspect-oriented programming (AOP) for the smart contract. Also, the research integrates web technologies, blockchain APIs, and cache modules to design a set of reusable and integrated middleware for contract developers. Finally, the study uses the actual development scenario and experiments to verify feasibility and performance. Our experiences indicate that the development cost of developers can be effectively reduced.
參考文獻 [1] L. Luu, D. Chu, H. Olickel, P. Saxena, and A. Hobor, "Making Smart Contracts Smarter" in Proc. ACM Conference on Computer and Communications Security, 2016.
[2] X. Xu et al., "A Taxonomy of Blockchain-Based Systems for Architecture Design,"2017 IEEE International Conference on Software Architecture (ICSA), Gothenburg, 2017, pp. 243-252.
[3] Buterin Vitalik, "A Next Generation Smart Contract & Decentralized Application Platform. Ethereum White Paper," 2014.
[4] K. Delmolino, M. Arnett, A. Kosba, A. Miller and Elaine Shi, "Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab," 2016.
[5] K. Christidis and M. Devetsikiotis, " Blockchains and Smart Contracts for the Internet of Things," The Plethora of Research in Internet of Things, 2016.
[6] M. Swan, "Blockchain: Blueprint for a new economy," O’Reilly Media, Inc, 2015.
[7] Solidity: A Contract Language for Ethereum Blockchains. https://solidity.readthedocs.io/en/v0.4.24/, accessed 2018.11.30.
[8] E. Ligu, A. Chatzigeorgiou, T. Chaikalis, N. Ygeionomakis, Identification of refused bequest code smells. In: Software Maintenance (ICSM), 2013 29th IEEE International Conference on Software Maintenance, pp. 392–395.
[9] Y. Li, K. Zheng, Y. Yan, Q.Liu and X. Zhou, "EtherQL: A Query Layer for Blockchain System, " 2017.
[10] Gradecki, J.and Lesiecki, N. Mastering AspectJ: Aspect-oriented Programming in Java. Wiley, Indianapolis, Ind., 2003.
[11] Walker, M.A., Dubey, A., Laszka, A., and Schmidt, D.C, "PlaTIBART: a platform for transactive IoT blockchain applications with repeatable testing, " 2017.
[12] S. Kazuyuki, S.Kenji, "Towards Application Portability on Blockchains," arXiv:1801. 01421 [cs.DC], 2018.
[13] A. Brinckman et al., "A Comparative Evaluation of Blockchain Systems for Application Sharing Using Containers," 2017 IEEE 13th International Conference on e-Science (e-Science), Auckland, 2017, pp. 490-497.
[14] Y. Li, K. Zheng, Y. Yan, Q.Liu and X. Zhou, "EtherQL: A Query Layer for Blockchain System, " 2017.
[15] X. Xu et al., "The Blockchain as a Software Connector," 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), Venice, 2016, pp. 182-191.
[16] H. Nakashima and M. Aoyama, "An Automation Method of SLA Contract of Web APIs and Its Platform Based on Blockchain Concept," 2017 IEEE International Conference on Cognitive Computing (ICCC), Honolulu, HI, 2017, pp. 32-39.
[17] Rongmei Zhang and Y. C. Hu, "HYPER: A Hybrid Approach to Efficient Content-Based Publish/Subscribe," 25th IEEE International Conference on Distributed Computing Systems (ICDCS`05), Columbus, OH, 2005, pp. 427-436.
[18] Y. Yuan and F. Y. Wang, "Towards blockchain-based intelligent transportation systems," 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC), Rio de Janeiro, 2016, pp. 2663-2668.
[19] 蔡詠捷,"區塊鏈中介服務設計探討-以Ethereum為例",國立政治大學資訊科學系碩士論文,2016.
[20] Kiselev, I. Aspect-oriented Programming using AspectJ Sams, Indianapolis, Ind., 2003.
描述 碩士
國立政治大學
資訊科學系
106753007
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0106753007
資料類型 thesis
dc.contributor.advisor 廖峻鋒<br>陳恭zh_TW
dc.contributor.advisor Liao, Chun-Feng<br>Chen, Kungen_US
dc.contributor.author (Authors) 洪健哲zh_TW
dc.contributor.author (Authors) Hung, Chien-Cheen_US
dc.creator (作者) 洪健哲zh_TW
dc.creator (作者) Hung, Chien-Cheen_US
dc.date (日期) 2019en_US
dc.date.accessioned 7-Aug-2019 16:36:24 (UTC+8)-
dc.date.available 7-Aug-2019 16:36:24 (UTC+8)-
dc.date.issued (上傳時間) 7-Aug-2019 16:36:24 (UTC+8)-
dc.identifier (Other Identifiers) G0106753007en_US
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/124873-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學系zh_TW
dc.description (描述) 106753007zh_TW
dc.description.abstract (摘要) 隨著數位貨幣的興起,區塊鏈技術在現今生活中越來越受到產業界與學界的矚目。其中,智能合約的出現更讓區塊鏈如虎添翼,使其從原本的加密貨幣衍生出各式各樣的產業應用情境,智能合約的開發也逐漸受到重視。然而,目前區塊鏈上針對智能合約程式碼的寫作及開發機制未臻完善。例如,智能合約中尚無針對橫切面考量的邏輯提供通用的解決方案;此外,目前仍缺乏智能合約之開發、部署、資料監控的整合機制,導致區塊鏈應用的開發需要較繁複的手續、較高的開發時程成本。基於上述原因,本研究提出一個支援智能合約剖面導向程式設計的機制,並結合網頁技術、區塊鏈標準API、快取資料庫模組,設計一套便於開發的整合系統,以智能合約開發人員使用情境為案例,結合上述平台,就所開發的系統進行可用性檢驗,以使區塊鏈服務應用開發更有效率、縮短區塊鏈商品化週期。zh_TW
dc.description.abstract (摘要) With the development of digital currency, blockchain technology has attracted much attention from industry and academia nowadays. Meanwhile, the emergence of smart contracts has made the blockchain more powerful, which led to many innovative industrial application scenarios. However, there are still many issues to be resolved in the development of smart contracts. For example, there is no universal solution for modularizing cross-cutting logic in smart contracts. Besides, there still lacks an integration mechanism for development, deployment, and monitoring of smart contracts. Based on the reasons mentioned above, this thesis proposes a mechanism to support aspect-oriented programming (AOP) for the smart contract. Also, the research integrates web technologies, blockchain APIs, and cache modules to design a set of reusable and integrated middleware for contract developers. Finally, the study uses the actual development scenario and experiments to verify feasibility and performance. Our experiences indicate that the development cost of developers can be effectively reduced.en_US
dc.description.tableofcontents 摘要 II
ABSTRACT III
目錄 IV
圖目錄 VI
表目錄 VII
第1章 緒論 1
1.1研究背景 1
1.2研究動機 3
1.3研究目標 3
第2章 技術背景與相關文獻 4
2.1區塊鏈與智能合約 4
2.2剖面導向技術 8
2.2.1 剖面導向技術術語介紹 9
第3章 支援智能合約剖面導向之擴充機制 12
3.1設計考量 12
3.2 ASPECT SOLIDITY結構及流程 15
3.3 ASPECT語法 18
3.4縫合機制 20
第4章 支援智能合約開發、部署與事件監控的中介軟體 26
4.1降低DAPP開發門檻 27
4.2部署智能合約與追蹤合約事件 29
4.3監控查詢資料與事件分享機制 33
第5章 系統評估 40
5.1智能合約剖面導向之擴充機制 41
5.1.1案例研討 41
5.1.2結果討論 46
5.2智能合約開發、部署與事件監控之中介軟體 48
5.2.1實驗設計 48
5.2.2案例研討 53
第6章 結論 55
參考文獻 57
附錄 60
附錄一 相關發表著作 60
zh_TW
dc.format.extent 1525155 bytes-
dc.format.mimetype application/pdf-
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0106753007en_US
dc.subject (關鍵詞) 區塊鏈zh_TW
dc.subject (關鍵詞) 智能合約zh_TW
dc.subject (關鍵詞) 剖面導向程式設計zh_TW
dc.subject (關鍵詞) 開發維運zh_TW
dc.subject (關鍵詞) Blockchainen_US
dc.subject (關鍵詞) Smart contracten_US
dc.subject (關鍵詞) Aspect-oriented Programmingen_US
dc.subject (關鍵詞) DevOpsen_US
dc.subject (關鍵詞) Solidityen_US
dc.title (題名) 支援智能合約剖面導向程式設計、部署及事件監控之以太坊區塊鏈整合工具zh_TW
dc.title (題名) Supporting aspect-oriented programming, deployment and event monitoring of smart contracts on the Ethereum blockchainen_US
dc.type (資料類型) thesisen_US
dc.relation.reference (參考文獻) [1] L. Luu, D. Chu, H. Olickel, P. Saxena, and A. Hobor, "Making Smart Contracts Smarter" in Proc. ACM Conference on Computer and Communications Security, 2016.
[2] X. Xu et al., "A Taxonomy of Blockchain-Based Systems for Architecture Design,"2017 IEEE International Conference on Software Architecture (ICSA), Gothenburg, 2017, pp. 243-252.
[3] Buterin Vitalik, "A Next Generation Smart Contract & Decentralized Application Platform. Ethereum White Paper," 2014.
[4] K. Delmolino, M. Arnett, A. Kosba, A. Miller and Elaine Shi, "Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab," 2016.
[5] K. Christidis and M. Devetsikiotis, " Blockchains and Smart Contracts for the Internet of Things," The Plethora of Research in Internet of Things, 2016.
[6] M. Swan, "Blockchain: Blueprint for a new economy," O’Reilly Media, Inc, 2015.
[7] Solidity: A Contract Language for Ethereum Blockchains. https://solidity.readthedocs.io/en/v0.4.24/, accessed 2018.11.30.
[8] E. Ligu, A. Chatzigeorgiou, T. Chaikalis, N. Ygeionomakis, Identification of refused bequest code smells. In: Software Maintenance (ICSM), 2013 29th IEEE International Conference on Software Maintenance, pp. 392–395.
[9] Y. Li, K. Zheng, Y. Yan, Q.Liu and X. Zhou, "EtherQL: A Query Layer for Blockchain System, " 2017.
[10] Gradecki, J.and Lesiecki, N. Mastering AspectJ: Aspect-oriented Programming in Java. Wiley, Indianapolis, Ind., 2003.
[11] Walker, M.A., Dubey, A., Laszka, A., and Schmidt, D.C, "PlaTIBART: a platform for transactive IoT blockchain applications with repeatable testing, " 2017.
[12] S. Kazuyuki, S.Kenji, "Towards Application Portability on Blockchains," arXiv:1801. 01421 [cs.DC], 2018.
[13] A. Brinckman et al., "A Comparative Evaluation of Blockchain Systems for Application Sharing Using Containers," 2017 IEEE 13th International Conference on e-Science (e-Science), Auckland, 2017, pp. 490-497.
[14] Y. Li, K. Zheng, Y. Yan, Q.Liu and X. Zhou, "EtherQL: A Query Layer for Blockchain System, " 2017.
[15] X. Xu et al., "The Blockchain as a Software Connector," 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA), Venice, 2016, pp. 182-191.
[16] H. Nakashima and M. Aoyama, "An Automation Method of SLA Contract of Web APIs and Its Platform Based on Blockchain Concept," 2017 IEEE International Conference on Cognitive Computing (ICCC), Honolulu, HI, 2017, pp. 32-39.
[17] Rongmei Zhang and Y. C. Hu, "HYPER: A Hybrid Approach to Efficient Content-Based Publish/Subscribe," 25th IEEE International Conference on Distributed Computing Systems (ICDCS`05), Columbus, OH, 2005, pp. 427-436.
[18] Y. Yuan and F. Y. Wang, "Towards blockchain-based intelligent transportation systems," 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC), Rio de Janeiro, 2016, pp. 2663-2668.
[19] 蔡詠捷,"區塊鏈中介服務設計探討-以Ethereum為例",國立政治大學資訊科學系碩士論文,2016.
[20] Kiselev, I. Aspect-oriented Programming using AspectJ Sams, Indianapolis, Ind., 2003.
zh_TW
dc.identifier.doi (DOI) 10.6814/NCCU201900370en_US