题目:An Overview of Smart Contract: Architecture, Applications, and Future Trends
关键词:
smart contract
摘要:
智能合约在金融服务、预测市场、IoT(Internet of Things物联网)等领域存在广泛应用的同时,还存在安全和隐私等问题。本文全面介绍区块链支持的智能合约。
- 系统地介绍了智能合约的基本框架、操作机制、平台以及编程语言;
- 讨论应用场景和存在挑战;
- 描述智能合约的最新进展和未来的发展趋势(e.g.平行区块链-parallel blockchain)。
介绍:
智能合约是按照协议条款自动执行(self-executing)的合同。bitcoin等加密货币代表的区块链技术称为blockchain 1.0 时代,具有去中心(decentralization)、防篡改(tamper-resistant)、匿名性(anonymity)和可审计(auditability)。但由于比特币脚本语言的限制,无法编写复杂的智能合约。以太坊(Ethereum)等平台的出现使得用户能够在区块链上运行自定义的程序,且编程语言满足图灵完备(Turing-complete)。以此被称为blockchain2.0。
智能合约存在安全挑战。2016年6月,递归调用攻击(Recursive calls attack)利用DAO( decentralized autonomous organization)造成经济损失,以太坊不得不通过应分叉来解决。
智能合约
区块链的基本框架:
区块链系统通常分为六层,分别是数据层、网络层、共识层、激励层、合约层和应用层。
-
数据层:数据块、信息加密、时间戳
-
网络层:P2P协议、单点故障容忍SPoF(tolerate single point of failures)
-
共识层:PoW、PoS、PBFT
-
激励层:去中心化系统中的所有节点都是利己的(self-interested),因此需要经济奖励
-
合约层:该层封装了脚本代码、算法和复杂的智能合约
-
应用层:Bitcoin系统的主要应用是数字货币;Ethereum支持数字货币和Decentralized Applications(Dapp);Hyperledger Fabric主要针对企业级应用,其中的Dapp可以通过Go, Java, Python, and Node.js在SDKs上构建。
智能合约的运作机制:
区块链监控智能合约的实时状态,并在某些条件被触发后执行智能合约。
平台和编程语言: -
Ethereum:运行环境,以太坊虚拟机EVM(Ethereum Virtual Machine);编程语言,Solidity;数字货币,Ether,Ethereum官网
-
Hyperledger Fabric:运行环境,Linux;优势,不同组件可插拔,使用容器技术来管理智能合约(Fabric中的智能合约叫做chaincode);编程语言,Go和Java;官网,Fabric官网
特征与意义:
智能合约具有三个特征,分别为自治性(autonomy)、自足性(self-sufficiency)和分散性(decentralization)。
智能合约的应用场景
- 金融交易:股本集资、P2P借贷和、互联网保险。
- 预测市场:两个预测工具Augur和Gnosis,还可以用于投票和赌博。
- 物联网:促进设备之间的信息共享,以加密的方式自动化工作流。实现公寓、自行车、汽车等租赁,智能合约还可用于智能电网(smart grid)
- 其他应用场景:数字版权管理、云存储、供应链、社交媒体平台、智能交通等
挑战
- 可重入漏洞Reentrancy vulnerability:函数在执行结束前被调用多次;
- 交易排序依赖Transaction-Ordering Dependence AKA Front-Running:当一个块中包含多个调用相同智能合约的事务时,易发生此攻击。因为不同的矿工打包交易的顺序不一,因此智能合约的最终状态取决于矿工将交易按照什么顺序进行打包;
- 时间戳依赖Timestamp Dependence:时间戳需要通过矿工本地系统的时间来设置,矿工可以改变这个值。这样一来,当时间戳作为触发条件时就可能存在安全隐患;
- 缺乏可靠的数据输入Lacking of trustworthy data feeds:智能合约需要外部有信息资源的输入,然而信息的可靠性无法保证;
- 隐私问题Privacy issues:攻击者通过历史数据推测出私人信息,称此为去匿名化攻击deanonymization attack。
研究进展及未来趋势
研究现状
- 使用Ethereum-based功能强制交易顺序来避免TOD;
- 使用Oyente工具来检测潜在安全漏洞;
- 通过增强Ethereum操作语义来减少合约的脆弱性;
- Town Crier通过可信web服务器来提供可信数据;
- Hawk模型在保证用户隐私的前提下使用区块链记录金融交易。
未来趋势:平行区块链与智能合约
- 未来社会的发展趋势是从信息物理系统CPS,Cyber-physical
systems(与物联网相比更强调控制)到社会物理信息系统CPSS,Cyber-physical-social
systems(在CPS基础上,进一步纳入社会信息、虚拟空间的人工系统信息)。 - ACP方法是目前并行管理领域目前唯一的系统完整的研究框架。ACP可与智能合约相结合。
- 提出并行区块链的概念,其最终目标是实现区块链生态系统的知识自动化。
原文链接:https://ieeexplore.ieee.org/document/8500488
来源:CSDN
作者:别找了我就是弗兰克
链接:https://blog.csdn.net/qq_32953791/article/details/104342155