Loading...
|
Please use this identifier to cite or link to this item:
https://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 |
Size | Format | |
003201.pdf | 1101Kb | Adobe PDF2 | 74 | View/Open |
|
All items in 政大典藏 are protected by copyright, with all rights reserved.
|