计算机科学 ›› 2019, Vol. 46 ›› Issue (11): 1-10.doi: 10.11896/jsjkx.190300013
所属专题: 区块链技术
• 综述 • 下一篇
范吉立, 李晓华, 聂铁铮, 于戈
FAN Ji-li, LI Xiao-hua, NIE Tie-zheng, YU Ge
摘要: 区块链是一个全球性的去中心化分布式数据库账本。智能合约作为一段由事件驱动的、具有状态的、运行于区块链系统之上的程序,能够保管、处理区块链账本上的数字资产;运行在通用平台上的智能合约还能够实现传统应用系统的部分功能。区块链技术的发展为智能合约提供了很好的运行基础,智能合约在区块链上能够发挥重要作用。随着比特币和以太坊等区块链平台的迅速发展,智能合约具备了良好的发展契机。然而,智能合约应用还处于早期发展阶段,相关研究相对较少,实际应用中智能合约的适用场景不够丰富。文中从智能合约编程语言、实现技术、发展现状和存在的挑战、未来前景等几个方面进行研究和探讨,重点描述了不同智能合约开发语言的特性,以及相互之间的对比;以智能合约运行环境为标准进行分类,研究了各种区块链系统中智能合约的开发、部署和运行机制,并探讨了不同类型智能合约平台的应用范围,对不同区块链系统在智能合约开发、社区支持以及相应的生态系统等方面进行了全面的比较;然后,介绍智能合约的研究现状和面临的挑战,从安全性、可扩展性、可维护性等方面进行深入分析;最后,分析了区块链和智能合约技术的发展趋势,探讨了未来的应用场景。
中图分类号:
[1]NAKAMOTO S.Bitcoin:A peer-to-peer electronic cash system. https://bitcoin.org/bitcoin.pdf. [2]ZHANG B.The application and related enlightenment of blockchain technology abroad[J].Financial Technology Time,2016(5):7.(in Chinese) 张波.国外区块链技术的运用情况及相关启示[J].金融科技时代,2016(5):7. [3]ETHEREUM.Ethereum blockchain app platform[EB/OL].https://www.ethereum.org/. [4]HYPERLEDGER.About Hyperledger[EB/OL].https://www.hyperledger.org/about. [5]SWAN M.Blockchain:Blueprint for a new economy[M].O’Reilly Media,Inc.,2015. [6]NICK S.Smart Contracts:Building Blocks for Digital Markets[EB/OL].http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html. [7]NICK S.Exploding Onto The Web[EB/OL].https://archive.is/zWbhL#selection-607.411-607.470. [8]BROWN R G.A simple model for smart contracts[EB/OL].https://gendal.me/2015/02/10/a-simple-model-for-smart-contra-cts/. [9]DELMOLINO K,ARNETT M,KOSBA A,et al.Step by step towards creating a safe smart contract:Lessons and insights from a cryptocurrency lab[C]∥International Conference on Financial Cryptography and Data Security.Springer Berlin Heidelberg,2016:79-94. [10]WIKIPEDIA.Ethereum[EB/OL].https://zh.wikipedia.org/wiki/%E4%BB%A5%E5%A4%AA%E5%9D%8A. [11]DINH T T A,WANG J,CHEN G,et al.BLOCKBENCH:AFramework for Analyzing Private Blockchains[C]∥Proceedings of the 2017 ACM International Conference on Management of Data.ACM,2017:1085-1100. [12]ANDROULAKI E,BARGER A,BORTNIKOV V,et al.Hyperledger fabric:a distributed operating system for permissioned blockchains[C]∥Proceedings of the Thirteenth EuroSys Conference.ACM,2018:30. [13]DINH T T A,LIU R,ZHANG M,et al.Untangling Blockchain:A Data Processing View of Blockchain Systems[J].arXiv:1708.05665,2017. [14]BITCOINWIKI.Script[EB/OL].https://en.bitcoin.it/wiki/Script. [15]WOOD G.Ethereum:A secure decentralised generalised transaction ledger. https://github.com/ethereum/wiki/wiki/White-Paper. [16]POPEJOY S.The Pact smart contract language. http://kadena. io/docs/Kadena-PactWhitepaper. pdf. [17]WIKIPEDIA.Turing_machine[EB/OL].https://en.wikipedia.org/wiki/Turing_machine. [18]MÜLLER P,BERGSTRÄβER S,RIZK A,et al.The BitcoinUniverse:An Architectural Overview of the Bitcoin Blockchain[C]∥DFN-Forum Kommunikationstechnologien.Bonn:Gesellschaft für Informatik eV,2018:1-20. [19]ANTONOPOULOS A M.Mastering Bitcoin:unlocking digitalcryptocurrencies[M].O’Reilly Media,Inc.,2014. [20]JEREMYVINFOLIO.Serpent[EB/OL].https://github.com/ethereum/wiki/wiki/Serpent. [21]ETHEREUM.Solidity[EB/OL].http://solidity.readthedocs.io/en/latest/. [22]ETHEREUM.Mutan[EB/OL].https://github.com/ethere-um/go-ethereum/wiki/Mutan-0.2. [23]POPEJOY S.The Pact smart contract language. http://kadena.io/docs/Kadena-PactWhitepaper.pdf. [24]KADENA LLC.Kadena[EB/OL].http://kadena.io/. [25]DANNEN C.The EVM[M]//Introducing Ethereum and Solidity.Apress,2017:47-67. [26]HYPERLEDGER.ChaincodeTutorials[EB/OL].http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html. [27]STATE OF THE DAPPS.Featured Dapp Collections[EB/OL].https://dapps.ethercasts.com. [28]MEETUP.Ethereum Meetups[EB/OL].https://www.meetup.com/topics/ethereum/. [29]NGUYEN B,CACHIN C,YELLICK J,et al.Multichannel consensus[EB/OL].https://lists.hyperledger.org/pipermail/hyperledger-fabric/2016-October/000389.html. [30]LUKE-JR,SMTP,JONATHANCROSS.bitcoind[EB/OL].https://en.bitcoin.it/wiki/Bitcoind. [31]BITCOINJ.What is bitcoinj[EB/OL].https://bitcoinj.github.io/#community. [32]KEEPKEY LLC.Learn Bitcoin[EB/OL].https://multibit.org/learn-bitcoin/faq.html. [33]SWARM.Swarm Introduction[EB/OL].https://swarm-guide.readthedocs.io/en/latest/introduction.html. [34]BENET J.IPFS-content addressed,versioned,P2P file system[J].arXiv:1407.3561,2014. [35]JAMES R.Whisper[EB/OL].https://github.com/ethereum/wiki/wiki/Whisper. [36]TRUFFLE SUITE.Truffle Overview[EB/OL].https://truffleframework.com/docs/truffle/overview. [37]STATUS IM.Build Powerful DApps Easily[EB/OL].https://embark.status.im/. [38]WEIFUND.Weifund is Decentralized Secure Open-sourced Interoperable Crowd-funding[EB/OL].http://weifund.io/. [39]LINUX FOUNDATION.Hyperledger Burrow[EB/OL].https://www.hyperledger.org/projects/hyperledger-burrow. [40]LINUX FOUNDATION.Hyperledger Composer[EB/OL].https://www.hyperledger.org/projects/composer. [41]LINUX FOUNDATION.Hyperledger Sawtooth[EB/OL].https://sawtooth.hyperledger.org. [42]CHENG H,YANG Y Z.Research on the Development Trend of Blockchain and the Coping Strategies of Commercial Banks[J].Financial Regulation Research,2016(6):73-91.(in Chinese) 程华,杨云志.区块链发展趋势与商业银行应对策略研究[J].金融监管研究,2016(6):73-91. [43]COINDESK’S.State of blockchain Q1 2017[EB/OL].https://www.coindesk.com/research/state-blockchain-q1-2017/. [44]GOOGLE.Trends[EB/OL].https://trends.google.com.hk/trends/. [45]BROWN R G,CARLYLE J,GRIGG I,et al.Corda:An Introduction. https://docs.corda.net/_static/corda-introductory-whitepaper.pdf. [46]XIAO F,LUO R G.WXBLOCKCHAIN[EB/OL].http://www.wxblockchain.com/. [47]SUJHA S.Chinese-search-giant-baidu-joins-hyperledger-blockchain-consortium[EB/OL].https://www.coindesk.com/chinese-search-giant-baidu-joins-hyperledger-blockchain-consortium/. [48]ATZEI N,BARTOLETTI M,CIMOLI T.A Survey of Attacks on Ethereum Smart Contracts (SoK)[C]∥International Confe-rence on Principles of Security and Trust.Berlin:Springer,2017:164-186. [49]VNOVAK.EtherDice smart contract is down for maintenance[EB/OL].https://www:reddit:com/r/ethereum/comments/47f028/etherdice is down for maintenance we are having/. [50]DAVID S.Understanding the DAO attack[EB/OL].https://www.coindesk.com/understanding-dao-hack-journalists/. [51]MARINO B,JUELS A.Setting standards for altering and undoing smart contracts[C]∥International Symposium on Rules and Rule Markup Languages for the Semantic Web.Cham:Springer,2016:151-166. [52]SHAO Q F,JIN C Q,ZHANG Z,et al.Blockchain:Architecture and Research Progress[J].Chinese Journal of Computers,2018,41(5):969-988.(in Chinese) 邵奇峰,金澈清,张召,等.区块链技术:架构及进展[J].计算机学报,2018,41(5):969-988. [53]BUTERIN V.Ethereum 2.0 mauve paper[EB/OL].https://cdn.hackaday.io/files/10879465447136/Mauve%20Paper%20Vitalik.pdf. [54]GRANT P,KOSTYA K.Imandra Contracts[EB/OL].https://github.com/AestheticIntegration/contracts. [55]BACK A,CORALLO M,DASHJRL,et al.Enabling blockchain innovations with pegged sidechains[OL].tinyurl.com/mj656p7. [56]ZHANG L J.Blockchain Applications will be more Developed Towards Smart Contracts in the Future[J].Cards World,2016(8):20-21.(in Chinese) 张立钧.未来区块链应用更多向智能合约发展[J].金卡工程,2016(8):20-21. |
[1] | 王子凯, 朱健, 张伯钧, 胡凯. 区块链与智能合约并行方法研究与实现 Research and Implementation of Parallel Method in Blockchain and Smart Contract 计算机科学, 2022, 49(9): 312-317. https://doi.org/10.11896/jsjkx.210800102 |
[2] | 黄松, 杜金虎, 王兴亚, 孙金磊. 以太坊智能合约模糊测试技术研究综述 Survey of Ethereum Smart Contract Fuzzing Technology Research 计算机科学, 2022, 49(8): 294-305. https://doi.org/10.11896/jsjkx.220500069 |
[3] | 周航, 姜河, 赵琰, 解相朋. 适用于各单元共识交易的电力区块链系统优化调度研究 Study on Optimal Scheduling of Power Blockchain System for Consensus Transaction ofEach Unit 计算机科学, 2022, 49(6A): 771-776. https://doi.org/10.11896/jsjkx.210600241 |
[4] | 李博, 向海昀, 张宇翔, 廖浩德. 面向食品溯源场景的PBFT优化算法应用研究 Application Research of PBFT Optimization Algorithm for Food Traceability Scenarios 计算机科学, 2022, 49(6A): 723-728. https://doi.org/10.11896/jsjkx.210800018 |
[5] | 傅丽玉, 陆歌皓, 吴义明, 罗娅玲. 区块链技术的研究及其发展综述 Overview of Research and Development of Blockchain Technology 计算机科学, 2022, 49(6A): 447-461. https://doi.org/10.11896/jsjkx.210600214 |
[6] | 高健博, 张家硕, 李青山, 陈钟. RegLang:一种面向监管的智能合约编程语言 RegLang:A Smart Contract Programming Language for Regulation 计算机科学, 2022, 49(6A): 462-468. https://doi.org/10.11896/jsjkx.210700016 |
[7] | 卫宏儒, 李思月, 郭涌浩. 基于智能合约的秘密重建协议 Secret Reconstruction Protocol Based on Smart Contract 计算机科学, 2022, 49(6A): 469-473. https://doi.org/10.11896/jsjkx.210700033 |
[8] | 毛典辉, 黄晖煜, 赵爽. 符合监管合规性的自动合成新闻检测方法研究 Study on Automatic Synthetic News Detection Method Complying with Regulatory Compliance 计算机科学, 2022, 49(6A): 523-530. https://doi.org/10.11896/jsjkx.210300083 |
[9] | 王思明, 谭北海, 余荣. 面向6G可信可靠智能的区块链分片与激励机制 Blockchain Sharding and Incentive Mechanism for 6G Dependable Intelligence 计算机科学, 2022, 49(6): 32-38. https://doi.org/10.11896/jsjkx.220400004 |
[10] | 孙浩, 毛瀚宇, 张岩峰, 于戈, 徐石成, 何光宇. 区块链跨链技术发展及应用 Development and Application of Blockchain Cross-chain Technology 计算机科学, 2022, 49(5): 287-295. https://doi.org/10.11896/jsjkx.210800132 |
[11] | 阳真, 黄松, 郑长友. 基于区块链与改进CP-ABE的众测知识产权保护技术研究 Study on Crowdsourced Testing Intellectual Property Protection Technology Based on Blockchain and Improved CP-ABE 计算机科学, 2022, 49(5): 325-332. https://doi.org/10.11896/jsjkx.210900075 |
[12] | 任畅, 赵洪, 蒋华. 一种量子安全拜占庭容错共识机制 Quantum Secured-Byzantine Fault Tolerance Blockchain Consensus Mechanism 计算机科学, 2022, 49(5): 333-340. https://doi.org/10.11896/jsjkx.210400154 |
[13] | 冯了了, 丁滟, 刘坤林, 马科林, 常俊胜. 区块链BFT共识算法研究进展 Research Advance on BFT Consensus Algorithms 计算机科学, 2022, 49(4): 329-339. https://doi.org/10.11896/jsjkx.210700011 |
[14] | 王鑫, 周泽宝, 余芸, 陈禹旭, 任昊文, 蒋一波, 孙凌云. 一种面向电能量数据的联邦学习可靠性激励机制 Reliable Incentive Mechanism for Federated Learning of Electric Metering Data 计算机科学, 2022, 49(3): 31-38. https://doi.org/10.11896/jsjkx.210700195 |
[15] | 张潆藜, 马佳利, 刘子昂, 刘新, 周睿. 以太坊Solidity智能合约漏洞检测方法综述 Overview of Vulnerability Detection Methods for Ethereum Solidity Smart Contracts 计算机科学, 2022, 49(3): 52-61. https://doi.org/10.11896/jsjkx.210700004 |
|