信息网络安全 ›› 2018, Vol. 18 ›› Issue (11): 8-17.doi: 10.3969/j.issn.1671-1122.2018.11.002
收稿日期:
2018-07-05
出版日期:
2018-11-10
发布日期:
2020-05-11
作者简介:
作者简介:马春光(1974—),男,黑龙江,教授,博士,主要研究方向为密码学、数据安全与隐私、云计算安全、区块链等;安婧(1994—),女,黑龙江,硕士研究生,主要研究方向为区块链;毕伟(1980—),男,黑龙江,博士,主要研究方向为机器学习与数据分析、区块链、密码学、可信协同计算等;袁琪(1973—),女,黑龙江,副教授,博士,主要研究方向为信息安全、区块链、博弈论。
基金资助:
Chunguang MA1(), Jing AN1, Wei BI2, Qi YUAN3
Received:
2018-07-05
Online:
2018-11-10
Published:
2020-05-11
摘要:
智能合约是部署在区块链上的可执行代码,可不依赖中心机构自动化地代表各签署方执行合约。因其具有强制执行性、防篡改性和可验证性等特点,可以应用到很多场景中。过去几年中,已经出现很多可以部署智能合约的区块链平台,其中一些已经在实际中实施和使用。文章首先对智能合约的定义和性质进行描述;然后分析各个区块链平台中的智能合约,并对应用最广泛的比特币、以太坊和超级账本等区块链系统中的智能合约进行重点阐述;最后指出智能合约存在的问题和解决方法。
中图分类号:
马春光, 安婧, 毕伟, 袁琪. 区块链中的智能合约[J]. 信息网络安全, 2018, 18(11): 8-17.
Chunguang MA, Jing AN, Wei BI, Qi YUAN. Smart Contract in Blockchain[J]. Netinfo Security, 2018, 18(11): 8-17.
表1
区块链平台对比
准入机制 | 数据模型 | 共识算法 | 智能合约 执行环境 | 智能合约 语言 | |
---|---|---|---|---|---|
Bitcoin | 公有链 | 基于交易 | PoW | 脚本引擎 | 基于栈的 脚本 |
Ethereum | 公有链 | 基于账户 | Pow, PoS | EVM | Solidity, Serpent, LLL |
CounterParty | 公有链 | 基于交易 | -- | 脚本引擎 | Solidity, Serpent, LLL |
Quorum | 公有链 | 基于账户 | Raft | EVM | GoLang |
Monax | 公有链 | 基于账户 | Tendermint | EVM | Solidity |
Fabric v0.6.0 | 联盟链 | 基于键值 | PBFT | Docker容器 | Go, Java |
Fabric v1.0.0 | 联盟链 | 基于键值 | 用户定制的 | Docker容器 | Go, Java |
Sawtooth | 联盟链 | 基于键值 | PoET | 本地执行 | Python |
Tbaas | 联盟链 | 基于账户 | 用户定制的 | Docker容器 | JavaScript |
BigchainDB | 联盟链 | 基于交易 | Quorum Voting | 本地执行 | Python, Crypto-Conditions |
Corda | 联盟链 | 基于交易 | Raft | JVM | Kotlin, Java |
BCS | 联盟链 | 基于账户 | 用户定制的 | Docker容器 | GoLang |
Parity | 私有链 | 基于账户 | PoA | EVM | Solidity, Serpent, LLL |
Multichain | 私有链 | 基于交易 | PoW | 本地执行 | C++ |
HydraChain | 私有链 | 基于账户 | PBFT | EVM | Solidity, Serpent, LLL |
[1] | BUTERIN V. A Next-generation Smart Contract and Decentralized Application Platform[EB/OL]., 2018-5-11. |
[2] | UK Government Chief Scientific Adviser. Distributed Ledger Technology: Beyond Block Chain[EB/OL]. , 2018-5-11. |
[3] | NAKAMOTO S. Bitcoin: A peer-to-peer Electronic Cash System[EB/OL]. , 2018-5-11. |
[4] | Department of Information and Software Services, Ministry of Industry and Information Technology. China Blockchain Technology and Application Development White Paper[EB/OL]. , 2018-5-11. |
工业和信息化部信息化和软件服务业司. 中国区块链技术和应用发展白皮书[EB/OL]. , 2018-5-11. | |
[5] | XIE Hui, WANG Jian.Study on Block Chain Technology and Its Applications[J]. Netinfo Security, 2016, 16(9): 192-195. |
谢辉,王健. 区块链技术及其应用研究[J]. 信息网络安全,2016,16(9):192-195. | |
[6] | SWAN M. Blockchain: Blueprint for a New Economy[EB/OL]. , 2018-5-11. |
[7] | SZABO N. Smart Contracts[EB/OL]. , 2018-5-11. |
[8] | SZABO N.Formalizing and Securing Relationships on Public Networks[EB/OL]. , 2018-5-11. |
[9] | YUAN Yong, WANG Feiyue.Block Chain: the State of the Art and Future Trends[J]. Acta Automatica Sinica, 2016, 42(4): 481-494. |
袁勇,王飞跃. 区块链技术发展现状与展望[J]. 自动化学报,2016,42(4):481-494. | |
[10] | STARK J. Making Sense of Blockchain Smart Contracts[EB/OL]. , 2018-5-11. |
[11] | HAN Xuan, LIU Yamin.Research on the Consensus Mechanisms of Blockchain Technology[J]. Netinfo Security, 2017, 17(9): 147-152. |
韩璇,刘亚敏. 区块链技术中的共识机制研究[J]. 信息网络安全,2017,17(9):147-152. | |
[12] | BOGNER A, CHANSON M, MEEUW A. A Decentralised Sharing APP Running a Smart Contract on the Ethereum Blockchain[EB/OL]. , 2018-5-11. |
[13] | PARK L W, LEE S, CHANG H.A Sustainable Home Energy Prosumer-chain Methodology with Energy Tags over the Blockchain[J]. Sustainability, 2018, 10(3): 658. |
[14] | Al-BASSAM M.SCPKI: A Smart Contract-based PKI and Identity System[C]//ACM. The ACM Workshop on Blockchain, Cryptocurrencies and Contracts, April 2, 2017, Abu Dhabi, United Arab Emirates. New York: ACM, 2017: 35-40. |
[15] | YASIN A, LIU Lin.An Online Identity and Smart Contract Management System[C]//IEEE. 40th Annual Computer Software and Applications Conference, June 10-14, 2016, Atlanta, GA, USA. New Jersey: IEEE, 2016: 192-198. |
[16] | HUH S, CHO S, KIM S.Managing IoT Devices Using Blockchain Platform[C]//IEEE. 19th International Conference on Advanced Communication Technology, February 19-22, 2017, Bongpyeong, South Korea. New Jersey: IEEE, 2017: 464-467. |
[17] | HUCKLE S, BHATTACHARYA R, WHITE M, et al.Internet of Things, Blockchain and Shared Economy Applications[J]. Procedia Computer Science, 2016, 98(C): 461-466. |
[18] | ZHANG Yu, WEN Jiangtao.The IoT Electric Business Model: Using Blockchain Technology for the Internet of Things[J]. Peer-to-Peer Networking and Applications, 2017, 10(4): 983-994. |
[19] | XIA Qi, SIFAH E B, ASAMOAH K O, et al.MeDShare: Trust-Less Medical Data Sharing Among Cloud Service Providers via Blockchain[J]. IEEE Access, 2017, 5(99): 14757-14767. |
[20] | BENCHOUFI M, RAVAUD P.Blockchain Technology for Improving Clinical Research Quality[J]. Trials, 2017, 18(1): 335. |
[21] | CUNNINGHAM J, AINSWORTH J. Enabling Patient Control of Personal Electronic Health Records Through Distributed Ledger Technology[EB/OL]. , 2018-5-11. |
[22] | JACYNYCZ V, CALVO A, HASSAN S, et al. Betfunding: A Distributed Bounty-based Crowdfunding Platform over Ethereum[EB/OL]. , 2018-5-11. |
[23] | HUANG Jiehua, GAO Lingchao, XU Yuzhuang, et al.The Design of Smart Contracts on Crowd Fuding Private Blockchain[J]. Journal of Information Security Research, 2017, 3(3): 211-219. |
黄洁华,高灵超,许玉壮,等. 众筹区块链上的智能合约设计[J]. 信息安全研究,2017,3(3):211-219. | |
[24] | DERMODY R, KRELLENSTEIN A. Counterparty: Protocol specification(2014)[EB/OL]. , 2018-5-11. |
[25] | WOOD G. Ethereum: A Secure Decentralised Generalised Transaction Ledger[EB/OL]. , 2018-5-11. |
[26] | MORGAN J P. Enterprise-ready Distributed Ledger and Smart Contract Platforms[EB/OL]. , 2018-5-11. |
[27] | MONAX. Monax: The Ecosystem Application Platform[EB/OL]. , 2018-5-11. |
[28] | DFINITY. Dfinity[EB/OL]. , 2018-5-11. |
[29] | GitHub. Hydrachain: Permissioned Distributed Ledger Based on Ethereum[EB/OL]. , 2018-5-11. |
[30] | Ethcore. Parity: Next Generation Ethereum Browser[EB/OL]. , 2018-5-11. |
[31] | Hyperledger. Blockchain Technologies for Business[EB/OL]. , 2018-5-11. |
[32] | Hyperledger. Hyperledger fabric v0.6.0[EB/OL]. , 2018-5-11. |
[33] | Hyperledger. Hyperledger fabric v1.0.0[EB/OL]. , 2018-5-11. |
[34] | GitHub. Sawtooth Lake[EB/OL]. , 2018-5-11. |
[35] | Hyperledger. Hyperledger Burrow[EB/OL]. , 2018-5-11. |
[36] | Hyperledger. Hyperledger Iroha[EB/OL]. , 2018-5-11. |
[37] | HEARN M. Corda: A Distributed Ledger[EB/OL]. , 2018-5-11. |
[38] | MCCINAGHY T. BigchainDB: A Scalable Blockchain Database[EB/OL]. , 2018-5-11. |
[39] | Huawei Technologies Co., Ltd. Huawei Blockchain White Paper[EB/OL]. , 2018-5-11. |
华为技术有限公司. 华为区块链白皮书[EB/OL]. , 2018-5-11. | |
[40] | MultiChain. MultiChain: Open Platform for Blockchain Applications[EB/OL].2018-5-11. |
[41] | Tencent Research Institute. Tencent Blockchain Solution White Paper[EB/OL]. , 2018-5-11. |
腾讯研究院. 腾讯区块链方案白皮书[EB/OL]. , 2018-5-11. | |
[42] | Beijing PeerSafe Technology Co., Ltd. Blockchain-based Database Application Platform Technology White Paper[EB/OL]. , 2018-5-11. |
北京众享比特科技有限公司. 基于区块链的数据库应用平台技术白皮书[EB/OL]. , 2018-5-11. | |
[43] | BARTOLETTI M, POMPIANU L.An Empirical Analysis of Smart Contracts: Platforms, Applications, and Design Patterns[C]//Springer. International Conference on Financial Cryptography and Data Security, April 3-7, 2017, Sliema, Malta. Heidelberg: Springer, 2017: 494-509. |
[44] | Andreas M. Mastering Bitcoin[EB/OL]. , 2018-5-11. |
[45] | WANG Hao, SONG Xiangfu, KE Junming, et al.Blockchain and Privacy Preserving Mechanisms in Cryptocurrency[J]. Netinfo Security, 2017, 17(7): 32-39. |
王皓,宋祥福,柯俊明,等. 数字货币中的区块链及其隐私保护机制[J]. 信息网络安全,2017,17(7):32-39. | |
[46] | ALHARBY M, MOORSEL A V. Blockchain-based Smart Contracts: A Systematic Mapping Study[EB/OL]. , 2018-5-11. |
[47] | 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]//Springer. International Conference on Financial Cryptography and Data Security, February 22-26, 2016, Christ Church, Barbados. Heidelberg: Springer, 2016: 79-94. |
[48] | LUU L, CHU D H, OLICKEL H, et al.Making Smart Contracts Smarter[C]//ACM. 2016 ACM Sigsac Conference on Computer and Communications Security, October 24-28, 2016, Vienna, Austria. New York: ACM, 2016: 254-269. |
[49] | FRANTZ C K, NOWOSTAWSKI M.From Institutions to Code: Towards Automated Generation of Smart Contracts[C]//IEEE. 1st International Workshops on Foundations and Applications of Self Systems, September 12-16, 2016, Augsburg, Germany. New Jersey: IEEE, 2016: 210-215. |
[50] | BHARGAVAN K, SWAMY N, ZANELLA-BÉGUELIN S, et al. Formal Verification of Smart Contracts: Short Paper[EB/OL]. , 2018-5-11. |
[51] | BIGI G, BRACCIALI A, MEACCI G, et al. Validation of Decentralised Smart Contracts Through Game Theory and Formal Methods[EB/OL]. , 2018-5-11. |
[52] | CHEN Ting, LI Xiaoqi, LUO Xiapu, et al. Under-optimized Smart Contracts Devour Your Money[EB/OL]. , 2018-5-11. |
[53] | IDELBERGER F, GOVERNATORI G, RIVERET R, et al.Evaluation of Logic-based Smart Contracts for Blockchain Systems[C]//Springer. International Symposium on Rules and Rule Markup Languages for the Semantic Web, July 6-9, 2016, Stony Brook, NY, USA. Heidelberg: Springer, 2016: 167-183. |
[54] | NATOLI C, GRAMOLI V.The Blockchain Anomaly[C]//IEEE. 15th International Symposium on Network Computing and Applications, October 31-November 2, 2016, Cambridge, MA, USA. New Jersey: 2016: 310-317. |
[55] | ZHANG Fan, CECCHETTI E, CROMAN K, et al. Town Crier: An Authenticated Data Feed for Smart Contracts[EB/OL]. , 2018-5-11. |
[56] | KOSBA A, MILLER A, SHI E, et al.Hawk: The Blockchain Model of Cryptography and Privacy-preserving Smart Contracts[C]//IEEE. 2016 IEEE Symposium on Security and Privacy, May 22-26, 2016, San Jose, CA, USA. New Jersey: IEEE, 2016: 839-858. |
[57] | WATANABE H, FUJIMURA S, NAKADAIRA A, et al.Blockchain Contract: A Complete Consensus Using Blockchain[C]//IEEE. IEEE 4th Global Conference on Consumer Electronics, October 27-30, 2015, Osaka, Japan. New Jersey: IEEE, 2016: 577-578. |
[58] | VUKOLIĆ M.Rethinking Permissioned Blockchains[C]//ACM. 2017 ACM Workshop on Blockchain, Cryptocurrencies and Contracts, April 2, 2017, Abu Dhabi, United Arab Emirates. New York: ACM, 2017: 3-7. |
[1] | 边玲玉, 张琳琳, 赵楷, 石飞. 基于LightGBM的以太坊恶意账户检测方法[J]. 信息网络安全, 2020, 20(4): 73-80. |
[2] | 毛志来, 刘亚楠, 孙惠平, 陈钟. 区块链性能扩展与安全研究[J]. 信息网络安全, 2020, 20(3): 56-64. |
[3] | 郎为民, 张汉, 赵毅丰, 姚晋芳. 一种基于区块链的物联网行为监控和活动管理方案[J]. 信息网络安全, 2020, 20(2): 22-29. |
[4] | 姚萌萌, 唐黎, 凌永兴, 肖卫东. 基于串空间的安全协议形式化分析研究[J]. 信息网络安全, 2020, 20(2): 30-36. |
[5] | 周艺华, 吕竹青, 杨宇光, 侍伟敏. 基于区块链技术的数据存证管理系统[J]. 信息网络安全, 2019, 19(8): 8-14. |
[6] | 路爱同, 赵阔, 杨晶莹, 王峰. 区块链跨链技术研究[J]. 信息网络安全, 2019, 19(8): 83-90. |
[7] | 郑敏, 王虹, 刘洪, 谭冲. 区块链共识算法研究综述[J]. 信息网络安全, 2019, 19(7): 8-24. |
[8] | 周元健, 秦冬梅, 刘忆宁, 吕松展. 基于区块链的可信仓单系统设计[J]. 信息网络安全, 2019, 19(6): 84-90. |
[9] | 王文明, 施重阳, 王英豪, 危德健. 基于区块链技术的交易及其安全性研究[J]. 信息网络安全, 2019, 19(5): 1-9. |
[10] | 黑一鸣, 刘建伟, 张宗洋, 喻辉. 基于区块链的可公开验证分布式云存储系统[J]. 信息网络安全, 2019, 19(3): 52-60. |
[11] | 赵国锋, 张明聪, 周继华, 赵涛. 基于纠删码的区块链系统区块文件存储模型的研究与应用[J]. 信息网络安全, 2019, 19(2): 28-35. |
[12] | 王文明, 王全玉, 王英豪, 任好盼. 面向敏感区域的智能监控与预警数据库研究与设计[J]. 信息网络安全, 2019, 19(12): 1-9. |
[13] | 田秀霞, 陈希, 田福粮. 基于区块链的社区分布式电能安全交易平台方案[J]. 信息网络安全, 2019, 19(1): 51-58. |
[14] | 李佩丽, 徐海霞, 马添军, 穆永恒. 区块链技术在网络互助中的应用及用户隐私保护[J]. 信息网络安全, 2018, 18(9): 60-65. |
[15] | 段琼琼, 项定华, 史红周. 基于区块链的智能物件认证技术方案设计[J]. 信息网络安全, 2018, 18(9): 95-101. |
阅读次数 | ||||||
全文 |
|
|||||
摘要 |
|
|||||