English  |  正體中文  |  简体中文  |  Post-Print筆數 : 11 |  Items with full text/Total items : 88613/118155 (75%)
Visitors : 23494176      Online Users : 129
RC Version 6.0 © Powered By DSPACE, MIT. Enhanced by NTU Library IR team.
Scope Tips:
  • please add "double quotation mark" for query phrases to get precise results
  • please goto advance search for comprehansive author search
  • Adv. Search
    HomeLoginUploadHelpAboutAdminister Goto mobile version
    政大機構典藏 > 商學院 > 資訊管理學系 > 學位論文 >  Item 140.119/124725
    Please use this identifier to cite or link to this item: http://nccur.lib.nccu.edu.tw/handle/140.119/124725


    Title: 基於狀態的可修改智能合約
    State-based modifiable smart contract
    Authors: 劉皪
    Liu, Lee
    Contributors: 郁方
    蕭舜文

    Yu, Fang
    Hsiao, Shun-Wen

    劉皪
    Liu, Lee
    Keywords: 區塊鏈
    智能合約
    有限狀態機
    Solidity
    Blockchain
    Smart Contract
    Finite state machine
    Solidity
    Date: 2019
    Issue Date: 2019-08-07 16:09:46 (UTC+8)
    Abstract: 部署在區塊鏈上的智能合約意味著不可改變;然而在不同的時間點,各方在實作的過程中,實作的方向跟內容可能會有改變。例如,修復安全問題,因此合約需要被調整或修改。我們提出了一種基於狀態的智能合約框架,可以讓合約順利被修改,已部署的智能合約可以部分地更新邏輯,同時保持先前的狀態一致。
    具體來說,我們將普通合約劃分為四種不同類型的合約,在框架中合約分別負責不同部分。控制合約使用有限狀態機管理控制邏輯,其中狀態受版本控制保護以區分合約的不同版本;儲存合約會負責儲存不同使用者每一個狀態下的全域變數;主要合約實作應用邏輯的主要部分;更新契約實作以基於狀態的方式設計的程式碼,如此會比較容易更新合約內容。
    並且,我們已經實施了概念驗證保險智能合約,如何在此框架下開發、部署、執行和更改可修改的智能合約。
    A smart contract deployed on the blockchain is meant to be immutable; however, in practice, the consensus and operations among parties may change as time goes by, e.g., to fix security frauds, leading to the need of flexibility on contract modification. We propose a state-based smart contract framework that facilitates contract modification, where a deployed smart contract can be altered partially with update operations or control logic while keeping previous transactions (blocks) consistent.
    Specifically, we divide an ordinary contract into four functional contracts that are linked by the framework to work together. The control contract manages the control logic with a finite state machine where transactions are guarded with version control to distinguish different versions of the contract; the storage contract that accesses global variables synchronizes the view of state variables; the main contract implements the main part of application logic, and the update contract implements codes that are designed in a state-based fashion to allow to be swapped with update operations.
    We have implemented a proof-of-concept insurance smart contract to demonstrate how to develop, deploy, execute and alter a modifiable smart contract under the proposed framework.
    Reference: 1. Bitcoin: A peer-to-peer electronic cash system, Nakamoto, Satoshi
    2. Secure property titles with owner authority, Szabo, Nick
    3. A next-generation smart contract and decentralized application platform, Buterin, Vitalik
    4. Decentralizing privacy: Using blockchain to protect personal data, Zyskind, Guy and Nathan, Oz and Pentland, Alex
    5. Bitcoin: An innovative alternative digital currency, Grinberg, Reuben
    6. 11 Blockchain technology: principles and applications, Pilkington, Marc
    7. Blockchains and smart contracts for the internet of things, Christidis, Konstantinos and Devetsikiotis, Michael
    8. Making smart contracts smarter, Luu, Loi and Chu, Duc-Hiep and Olickel, Hrishi and Saxena, Prateek and Hobor, Aquinas
    9. The DAO (organization)
    10. Blockchain and smart contracts for insurance: Is the technology mature enough, Gatteschi, Valentina and Lamberti, Fabrizio and Demartini, Claudio and Pranteda, Chiara and Santamara, Victor
    11. Ethereum: A secure decentralised generalised transaction ledger, Wood, Gavin
    12. The Ethereum block explorer, https://etherscan.io/
    13. ERC-1504 Upgradable Smart Contract, Kaidong Wu, Chuqiao Ren, Ruthia He, Yun Ma
    14. Double-spending fast payments in bitcoin, Karame, Ghassan O and Androulaki, Elli and Capkun, Srdjan
    15. Decentralization in bitcoin and ethereum networks, Gencer, Adem Efe and Basu, Soumya and Eyal, Ittay and Van Renesse, Robbert and Sirer
    16. Solidity, https://solidity.readthedocs.io/en/v0.4.25/
    17. Ethereum, Introduction to Smart Contracts, https://solidity.readthedocs.io/en/v0.4.24/
    18. How to write upgradable smart contracts in solidity, https://medium.com/quillhash/d8f1b95a0e9a
    19. Ethereum Name Service, https://ens.domains/
    20. Upgradeable Smart Contracts, https://hackernoon.com/a7e9aef76fdd
    21. Testing software design modeled by finite-state machines, Chow, Tsun S.
    22. Finite-state machine - Wikipedia
    23. Remix - Solidity IDE, https://remix.ethereum.org/
    Description: 碩士
    國立政治大學
    資訊管理學系
    106356003
    Source URI: http://thesis.lib.nccu.edu.tw/record/#G1063560032
    Data Type: thesis
    DOI: 10.6814/NCCU201900330
    Appears in Collections:[資訊管理學系] 學位論文

    Files in This Item:

    File SizeFormat
    003201.pdf1101KbAdobe PDF0View/Open


    All items in 政大典藏 are protected by copyright, with all rights reserved.


    社群 sharing

    著作權政策宣告
    1.本網站之數位內容為國立政治大學所收錄之機構典藏,無償提供學術研究與公眾教育等公益性使用,惟仍請適度,合理使用本網站之內容,以尊重著作權人之權益。商業上之利用,則請先取得著作權人之授權。
    2.本網站之製作,已盡力防止侵害著作權人之權益,如仍發現本網站之數位內容有侵害著作權人權益情事者,請權利人通知本網站維護人員(nccur@nccu.edu.tw),維護人員將立即採取移除該數位著作等補救措施。
    DSpace Software Copyright © 2002-2004  MIT &  Hewlett-Packard  /   Enhanced by   NTU Library IR team Copyright ©   - Feedback