dc.contributor.advisor | 陳恭 | zh_TW |
dc.contributor.author (Authors) | 蔡詠捷 | zh_TW |
dc.creator (作者) | 蔡詠捷 | zh_TW |
dc.date (日期) | 2017 | en_US |
dc.date.accessioned | 13-Sep-2017 15:55:27 (UTC+8) | - |
dc.date.available | 13-Sep-2017 15:55:27 (UTC+8) | - |
dc.date.issued (上傳時間) | 13-Sep-2017 15:55:27 (UTC+8) | - |
dc.identifier (Other Identifiers) | G1049710031 | en_US |
dc.identifier.uri (URI) | http://nccur.lib.nccu.edu.tw/handle/140.119/112816 | - |
dc.description (描述) | 碩士 | zh_TW |
dc.description (描述) | 國立政治大學 | zh_TW |
dc.description (描述) | 資訊科學系碩士在職專班 | zh_TW |
dc.description (描述) | 104971003 | zh_TW |
dc.description.abstract (摘要) | 隨著近年來區塊鏈的興起與發展,許多軟體開發商認識到區塊鏈的技術。其特色可以帶來改變世界的巨大價值,遂投入區塊鏈技術的研究與開發。而眾多數位貨幣中最有潛力的莫過於Ethereum所提出的智能合約,因此,如何快速簡單的開發Ethereum上的智能合約以及去中心化的應用程式,將會是一個帶動區塊鏈加速發展的重要因素。為了讓開發人員能夠快速部署及測試智能合約,並且簡化開發去中心化應用程式的複雜度,本研究提出區塊鏈中介服務的軟體框架建構方式與實作流程,在開發去中心化應用程式時,讓開發人員僅著重於開發應用程式的邏輯判斷,不需要再花時間去部署以及設定Ethereum的核心程式,透過本研究所提供的服務,可以直接將Ethereum視為一個後端伺服器,透過用API串接的方式與應用程式交互溝通。本研究所提出的區塊鏈軟體中介服務經過技術的封裝,開發人員不需要了解區塊鏈底層核心的相關技術,就能完成去中心化應用程式的開發。 | zh_TW |
dc.description.abstract (摘要) | With the rise and development of blockchain in recent years, many software developers have realized that the technology of blockchain can bring great value to change the world, thus put into research and development of blockchain technology. Technology with highest potential is Ethereum with the smart contract. Therefore, how to quickly and easily develop Ethereum smart contract and develop the decentralized application will be an important factor to the growth of blockchain.In order to enable developers to quickly deploy and testing smart contracts, and to simplify the complexity of the development of decentralized application, this thesis proposed blockchain middleware, software architecture and implementation process.For using this middleware, developer only need to focus on the logic of the application during the development phase, they do not need to spend a lot of time to deploy and set the core program in Ethereum. Through this middleware to provide services, developer can use Ethereum as a backend server, through the communication API in of the middleware. In this research, the blockchain middleware is encapsulated by the technology, developer can complete development of the decentralized application without knowing the related technology of the core of the blockchain. | en_US |
dc.description.tableofcontents | 第一章 緒論 11.1 研究背景與動機 11.2 研究目的 21.3 研究貢獻 2第二章 相關研究與技術背景 32.1 區塊鏈 32.1.1 Consensus 42.1.2 Consistent Hashing 52.1.3 P2P Network 62.1.4 Digital Signature 62.2 Ethereum 72.2.1 Web3 72.2.2 Ethereum Virtual Machine 82.2.3 Decentralized Application 82.2.4 Smart Contract 92.3 Message Oriented Middleware 92.4 PostgreSQL 102.5 Elasticsearch 112.6 Docker 112.7 Swagger 122.7.1 Open API規範 122.8 BlockApps 132.8.1 BlockApps STRATO Architecture 142.9 Etherscan 16第三章 區塊鏈中介元件軟體設計探討 163.1 BlockChainBox架構設計 173.1.1 連線至區塊鏈網路 183.1.2 開發人員Ethereum地址管理 183.1.3 智能合約部署與管理 193.1.4 管理區塊鏈智能合約與交易之間的關聯性資訊 193.1.5 區塊鏈交易的失敗處理 193.1.6 區塊鏈的非即時處理導致外部頻繁呼叫Ethereum的問題 203.2 BlockChainBox模組化設計 213.2.1 Message Oriented Middleware實作 223.2.2 Docker導入 243.2.3 Account Management 243.2.4 Ethereum Gateway 263.2.5 Contract Handler 273.2.6 Transaction Handler 313.2.7 Event Handler 333.2.8 Webhook Support 353.2.9 Ethereum Explorer 373.2.10 Swagger UI 413.2.11 Docker Support 42第四章 區塊鏈中介元件軟體使用探討 434.1 Account Management 434.2 Ethereum Gateway 444.3 Contract Handler 454.3.1 Contract Function 464.3.2 Contract Event 464.4 Transaction Handler 464.5 Event Handler 474.6 Webhook 474.7 Ethereum Explorer 474.8 效能測試 484.8.1 Amazon Web Service 494.8.2 測試環境 494.9 系統比較 514.9.1 系統使用性與操作性比較 534.9.2 比較Webhook、WebSocket與Long Polling 544.10 系統使用情境 554.10.1 API操作流程範例 554.10.2 範例程式 57第五章 結論與未來研究方向 605.1 結論 605.2 未來研究方向 615.2.1 跨區塊鏈的功能 615.2.2 提供SDK支援 615.2.3 提供WebSocket支援 61參 考 文 獻 62附 錄 65 | zh_TW |
dc.format.extent | 5435625 bytes | - |
dc.format.mimetype | application/pdf | - |
dc.source.uri (資料來源) | http://thesis.lib.nccu.edu.tw/record/#G1049710031 | en_US |
dc.subject (關鍵詞) | 區塊鏈 | zh_TW |
dc.subject (關鍵詞) | 以太坊 | zh_TW |
dc.subject (關鍵詞) | 中介元件 | zh_TW |
dc.subject (關鍵詞) | Blockchain | en_US |
dc.subject (關鍵詞) | Ethereum | en_US |
dc.subject (關鍵詞) | Middleware | en_US |
dc.title (題名) | 區塊鏈中介服務設計探討-以Ethereum為例 | zh_TW |
dc.title (題名) | Blockchain Middleware Design Base on Ethereum Platform | en_US |
dc.type (資料類型) | thesis | en_US |
dc.relation.reference (參考文獻) | 【1】 Satoshi Nakamoto. "Bitcoin: A Peer-to-Peer Electronic Cash System", October 2008, https://bitcoin.org/bitcoin.pdf.【2】 Ethereum.org, "A Next-Generation Generalized Smart Contract and Decentralized Application Platform.", January 2014, https://github.com/ethereum/wiki/wiki/White-Paper.【3】 Ethereum (2015) https://www.ethereum.org/【4】 Smart Contract (2016) https://en.wikipedia.org/wiki/Smart_contract【5】 Blockchain: The Invisible Technology That`s Changing the World (2017)http://www.pcmag.com/article/351486/blockchain-the-invisible-technology-thats-changing-the-wor【6】 Karger, D.; Lehman, E.; Leighton, T.; Panigrahy, R.; Levine, M.; Lewin, D. "Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web. ", Proceedings of the Twenty-ninth Annual ACM Symposium on Theory of Computing. ACM Press New York, NY, USA: 654–663. 1997. doi:10.1145/258533.258660【7】 A. Back, "Hashcash - a denial of service counter-measure,"http://www.hashcash.org/papers/hashcash.pdf, 2002. 【8】 R.C. Merkle, "Protocols for public key cryptosystems," In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980.【9】 BlockApps GitHub (2016)https://github.com/blockapps/strato-getting-started【10】 Swagger (2015)http://swagger.io/【11】 Blockchain Technologies (2017)http://www.blockchaintechnologies.com/blockchain-smart-contracts【12】 訊息導向中介軟體 (2010)http://docs.oracle.com/cd/E19957-01/820-0534/aeraq/【13】 Proof of Work vs Proof of Stakehttps://blockgeeks.com/guides/proof-of-work-vs-proof-of-stake/【14】 Digital Signaturehttp://searchsecurity.techtarget.com/definition/digital-signature【15】 Simple Decentralized App Architecturehttps://karl.tech/simple-dapp-architecture/【16】 Introducing Project "Bletchley"https://github.com/Azure/azure-blockchain-projects/blob/master/bletchley/bletchley-whitepaper.md【17】 O`Gara, Maureen. Ben Golub, Who Sold Gluster to Red Hat, Now Running dotCloud. SYS-CON Media. 26 July 2013【18】 Docker overviewhttps://docs.docker.com/engine/docker-overview/#docker-engine【19】 Making Sure The Most Important Layers Of API Space Stay Openhttp://apievangelist.com/2014/12/21/making-sure-the-most-important-layers-of-api-space-stay-open/【20】 Microsoft BlockApps STRATO Blockchain LTShttps://azuremarketplace.microsoft.com/en-us/marketplace/apps/blockapps.strato-blockchain-lts-vm【21】 BlockApps Websitehttp://blockapps.net/blockchain-software-microsoft-azure/【22】 PostgreSQLhttps://www.postgresql.org/about/【23】 Etherscanhttps://etherscan.io/【24】 Solidity語言http://www.tryblockchain.org/ | zh_TW |