论文阅读笔记《An Overview of Smart Contract: Architecture, Applications, and Future Trends》

拜拜、爱过 提交于 2020-02-17 06:46:16

题目:An Overview of Smart Contract: Architecture, Applications, and Future Trends

关键词:
smart contract

摘要:
智能合约在金融服务、预测市场、IoT(Internet of Things物联网)等领域存在广泛应用的同时,还存在安全和隐私等问题。本文全面介绍区块链支持的智能合约。

  1. 系统地介绍了智能合约的基本框架、操作机制、平台以及编程语言;
  2. 讨论应用场景和存在挑战;
  3. 描述智能合约的最新进展和未来的发展趋势(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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!