随着比特币等加密数字货币的快速发展和区块链技术在诸如金融、云计算等行业的广阔前景,现在智能合约在区块链上更是得到了广泛的应用。
智能合约(smart contract)这一概念最早由 Nick Szabo于1995 年首次提出,在当时智能合约被定义为“一个智能合约是一套以数字形式定义的承诺(commitment),包括合约参与方可以在上面执行这些承诺的协议。”
如今智能合约有了更全面、更准确的定义,所谓的智能合同是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。
鉴于智能合约的去中心化特性以及合约本身的性质,一般把区块链智能合约分为以下三类:
1、以太坊(Ethereum)
这是一个开源并且通用的具有智能合约功能的公共区块链平台。通过其专用加密货币以太币(Ether,ETH),及以太坊虚拟机(ethereum virtual machine)来处理点对点合约。以太坊可以用来创建去中心化的程序、自治组织和智能合约,应用目标涵盖多个领域。这也是目前最为大众所熟悉的智能合约
2、Hyperledger Fabric
这是一个模块化并且开源的企业级许可分布式账本技术(distributed ledger technology,DLT)平台,旨在用于企业环境中,它主要提供了支持不同组件的可插入实现和创建通道等功能。
3、Enterprise Operation System(EOS)
BTC 24小时资金净流入131.55亿元人民币:金色财经监测数据显示,加密货币市场24小时资金净流入排名前三分别为[2021/6/23 0:01:13]
EOS是一个商用分布式应用设计的区块链底层公链操作系统,目的是解决现有的区块链应用性能低、安全性差、开发难度高以及过度依赖手续费的问题,并实现分布式应用的性能扩展。
以最常见的以太坊为例,在以太坊白皮书里是这样解释智能合约的:
在以太坊里,有两种实体可以发起和接收交易:真实的人(或者软件机器人,因为密码协议是不能区分这两者的)与合约。合约事实上可以看成是活在以太坊网络上的自动化代理人,它有以太坊的地址以及账户金额,可以发送和接收交易。每当有人向合约发送交易后,它就被激活了,然后就开始运行它自己的程序,例如改变它自己的内部状态或者甚至放送一些交易,完成后它又休息了。合约自身的程序由特殊的低级语言写成,包括用来暂时存储的堆栈、用来暂时存储的内存输入项、以及用来存储合约永久状态的存储输入项。
简单概括就是以太坊的智能合约首先是一组计算机代码,其核心内容是算法。这种算法通过代码体现出来,反映的则是现实世界的合约和规则。以太坊的智能合约通常运行在区块链账本上,由相关事件进行驱动,通过事件产生一定的触发条件,进而运行智能合约。随后通过运行智能合约,链上状态得以改变,最终实现数字资产交易的目的
从合同法角度来看,这类智能合约是有效力的。
我国《民法典》第四百六十九条规定了合同具体形式,
“当事人订立合同,可以采用书面形式、口头形式或者其他形式。书面形式是合同书、信件、电报、电传、传真等可以有形地表现所载内容的形式。以电子数据交换、电子邮件等方式能够有形地表现所载内容,并可以随时调取查用的数据电文,视为书面形式。”
《民法典》第一百四十三条规定,
“具备下列条件的民事法律行为有效:
(一)行为人具有相应的民事行为能力;
(二)意思表示真实;
(三)不违反法律、行政法规的强制性规定,不违背公序良俗。”
我国《电子签名法》第五条对于电子数据形式作出规定,
“符合下列条件的数据电文,视为满足法律、法规规定的原件形式要求:
(一)能够有效地表现所载内容并可供随时调取查用;
(二)能够可靠地保证自最终形成时起,内容保持完整、未被更改。但是,在数据电文上增加背书以及数据交换、储存和显示过程中发生的形式变化不影响数据电文的完整性。”
第六条对于电子数据保存要求作出规定,
“符合下列条件的数据电文,视为满足法律、法规规定的文件保存要求:
(二)数据电文的格式与其生成、发送或者接收时的格式相同,或者格式不相同但是能够准确表现原来生成、发送或者接收的内容;
(三)能够识别数据电文的发件人、收件人以及发送、接收的时间。
”基于上述法律规定,以太坊区块链上的智能合约符合合同所要求的法定形式,属于电子数据交换形式在以太坊区块链上的有形表面内容,可以随时调取查用,因此符合书面的要求。
而前述分析可以看出以太坊智能合约是以公开源代码的形式部署于以太坊区块链中,其程序和运行结果是可以预见的,也可以进一步推断行为人具有相应的民事行为能力,只要意思表示真实的,除非有相反的证据足以推翻,该类智能合同就是有效的。
但是智能合约也有其缺陷,最明显且最不可避免的缺点就是代码漏洞。计算机代码由人类编写,可以减少漏洞但要做到完全无漏洞几乎不可能,比如之前引起以太币市场剧烈波动的THEDAO被攻击事件就是这种漏洞极为典型的例子。
学术界也有数据指出
“将近 100万份智能合约进行每份10秒分析时间的分析后发现,这其中有34200份智能合约很容易受到黑客攻击,其中2365份有明显漏洞。”
因此,智能合约安全审计是非常有必要的。目前大多数加密货币服务商都采用了智能合约安全审计以规避代码漏洞风险。在智能合约上线运行前,由专业的区块链安全服务商对智能合约的安全性进行审查,评估是否存在安全漏洞,并出具报告。
需要注意的是,安全审计只是有效降低风险的方法但并不能完全避免代码漏洞,即使是最专业的安全审计人员,也不可能在有限时间内穷尽发现所有漏洞。
不可否认,智能合约对于丰富、活跃金融市场具有一定的积极意义,但还是一项需要完善的新兴技术。相信如果有足够的时间发展,智能合约在将来会大有作为。
References
《以太坊:下一代智能合约和去中心化应用平台》
计算机应用研究 Application Research of Computers ISSN 1001-3695,CN 51-1196/TP
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。