当前位置: 首页 >> 中文版 >> 业务研究 >> 专业论文
区块链智能合约的合同法分析
作者:浙江浙杭(杭州钱塘新区)律师事务所 李庆峰   日期:2021-04-25    阅读:7,099次


【摘  要】:区块链智能合约是在区块链技术发展到新的阶段之后出现的新生事物,从合同法的角度来看,区块链智能合约的本质没有发生变化,只不过是由于智能合约被放置在区块链这个特殊的技术运营平台,具备了,去中心化去信任,化不可逆,防篡改等特征,跟普通的合同存在一定程度的差异性。区块链智能合约,代码化的合同、附条件或附期限的合同、是比较典型的格式合同、也是承诺和履行相重合的合同。当然智能合约的外延远远不止平等主体之间的权利义务关系,其同样适用于社会管理和运营当中的各种关系,需要进一步加以研究。

【关键词】:区块链 智能合约 合同

一、引言

作为区块链的2.0版,智能合约(smart contract)及其应用,已逐渐深入到经济及社会治理的各个领域,并开启了区块链3.0时代即“可编程社会”的大门。作为一项全新的互联网技术,各国都在关注与研究与之相匹配的法律规则。由于智能合约当中包含了“contract”,自然就与“合同”和“合同法”密不可分,在某种意义上,合同法角度是理解智能合约的最佳入口,尽管智能合约远非合同法的调节范围所能够覆盖。

二、区块链智能合约概述

(一)区块链的基本概念

1. 智能合约

智能合约最早由计算机科学家、法学学者和密码学者尼克·萨博(N.Szabo,1994)提出:“一个智能合约是一个计算机化的交易协议,它执行一个合约的条款。”后被定义为“一套以数字形式定义的承诺(Promises),包括合约参与方可以在上面执行这些承诺的协议”。智能合约的核心要素包括两个方面,一是既定的算法(相当于规则),二是相应的输入输出值(相当于标的物)。

智能合约最初的设想和目的,是在没有第三方潜在或潜在强制力的情况下,由计算机作为合约各方共同信任的代理人(主体),自动完成交易,由于嵌入了某些由数字形式控制具有价值的物理实体,因此可以实现现实世界的信息和价值双向交互。

自动贩卖机、自动刷卡机(POS)、电子数据交换市场 (EDI) 都可看作是智能合约的雏形。以自动售货机为例:人们向售货机投入硬币或者纸币,按一下橙汁对应的按钮,机器会将一瓶橙汁送到出货口,并将多余的钱自动找零退回,然后售货机恢复到最初的状态,等待下一轮的输入和输出。

2. 区块链智能合约

由于受到技术的限制,智能合约一直仅仅存在于概念阶段,并没有受到应有的关注。甚至在2008年区块链技术出现之后,作为区块链的组成部分,也只是在研究区块链时顺带被提及。直到以太坊(Ethereum)2015年提供了图灵完备的可编程语言solidity,智能合约才得以广泛传播和应用。

故现在人们研究智能合约,通常是指基于区块链图灵完备代码的智能合约,具体来说,是指运行在区块链上的一段代码,最终代码以“条件语句(IF-THEN)”为最基础的逻辑架构,通过编码的方式在区块链上创建一份数字化的框架性约定(承诺),当一个事件刚好满足预先编好的代码逻辑(条件)时,智能合约就被触发并自动执行,执行过程不需要第三方监督或者辅助,第三方也无法介入、阻止或修改等等)。

智能合约实际上包括两种不同但又相互联系的内涵:智能合约代码(Smart Contract Code)和智能法律合约(Smart Legal Contract)。

3. 智能合约的类比和实际应用案例

在一定程度上,可以把智能合约想象成一个预先布置并封闭在铁盒子里面的多米诺骨牌,一旦启动无法停止也无法干预,直到最后所有的骨牌被执行完毕。由于通过技术手段绑定了现实世界各种有价值的、以数字方式控制的财产,智能合约在处理信息的同时,可以接收、储存和发送价值。

比如:在贷款购买汽车的情况下,4s店和买车人可以创建一个关于付款与占有、使用汽车之间的智能合约:如果(IF)买受人不按期支付款项,则(THEN)智能合约自动调用发动机远程控制系统,在通知买受人10小时之后自动关闭并锁定发动机(或者车门、轮胎、方向盘等等)。因此智能合约比雇佣追债人更便宜、更有效。当然,智能合约可以进一步具体化、复杂化,完成更高更难的任务,比如,在贷款已还清、处于困难状况以及操作异常的情况下注销发动机锁定权(也有人理解为留置权)。

(二)区块链智能合约的特征

区块链智能合约首先具有数字技术的特征,其次它具有互联网的技术特征,再次它具有区块链技术的特征。因此智能合约同样具有区块链数据的一般特征,如分布式记录、存储和验证,不可篡改和伪造等。现在人们强调的往往是基于区块链技术而产生的特征,包括去中心化,去信任化,去特权,不可篡改,……等等这些特征。

智能合约计算机语言表达,这是一种非常正式的语言。他有着严格定义的语义和语法,在机器翻译中不允许有歧义。合同的履行是通过使用预先设定的基于规则的操作的技术进行的,因此它的逻辑结构基本上是线性的,它的进一步执行不再依赖于其当事人或第三方的意愿,也不需要任何额外的批准或行动。计算机验证所有条件,转移资产,并在区块链数据库中进行此类传输。

由于智能合约本身就是区块链的不同阶段的表现形式或具体应用,它们具有区块链区块链技术具有去中心化、时序数据、集体维护、可编程和安全可信等特点,同时智能合约具备了数据去中心化、去信任、不可篡改、匿名、信息可溯源等一般特性。最为显著的是区块链智能合约的不可撤销—一旦规则被执行,结果就不能被逆转,除非这种结果来自于违反预先编程规则的交易

三、区块链智能合约的技术结构

智能合约最能够让人理解的就是合约部分,但其实智能合约跟普通合约相区分的最本质的特征,在于它的技术结构,或者说,在于他赖以生存的技术环境和他自身的技术结构。

(一)区块链智能合约的外部结构:作为区块链的组成部分

智能合约是区块链的组成部分,是区块链数据技术结构当中的一个层级,他的存在是以区块链为根基或环境基础,也就是说现代意义上的智能合约,它指的本身就是存在于区块链技术环境当中的一个组成部分及其应用。因此区块链本身对于智能合约有着根本性的影响和作用。一般而言,智能合约在区块链当中的位置如下图所示:

 

这种层级化,系统化体系化的结构技术模型,表明智能合约在技术层面并非是一个单独的存在,实际上他只是互联网生态当中的,某一种虚拟环境条件下的数字技术。

互联网或数字技术领域当中的规则,是技术规则,这些技术规则一般情况之下符合自然科学的规律,具有比较强的客观性和刚性,也容易在各个层级和领域当中达成共识,但是对于技术本身的选择以及技术本身的争议,它也会导致,对于同一技术的纷争,这就是基于应用层级的智能合约会受到不同人群,不同国籍,不同法律背景之下的利益主体选择不同技术支撑的,技术体系所受到的影响。上图当中所列出的比特币,仪态房,超级账本等区块链技术结构,本身就表明了不同的数字技术理念,对于智能合约的底层技术的架构有重大区别。

(二)区块链智能合约的内部结构:作为平台本身的结构体系

智能合约的生命周期根据其运行机制可概括为协商、开发、部署、运维、学习和自毁五个阶段其中开发阶段包括合约上链前的合约测试学习阶段包括智能合约的运行反馈与合约更新等 2 所示为智能合约的基础架构模型, 模型自底向上由基础设施层、合约层、运维层、智能层、表现层和应用层组成基础设施层就是前面所述的区块链技术底层技术、运行环境和算法这些基础设施的选择决定了智能合约的底层逻辑规范和技术规范,将在很大程度上影响智能合约的设计、运行结果输出。

 

(三)区块链智能合约的运行原理

智能合约的核心代码语句,是以If-Then”“What-If”的语法逻辑预置,分别代表智能合约条款的相应触发场景IF……,或者WHAT……)和响应规则THEN……,或者IF……)。智能合约经签约各方(用户)提交后,由去中心化的P2P(即点对点)网络传播到所有节点(矿工节点),验证通过存储区块链的某一个自然排位的特定区块中用户得到返回的合约地址及合约接口,之可通过发起交易(输入某个“值”)驱动合约自动履行。在区块链系统预设的激励机制激励下,矿工完成验证交易创建合约或执行合约代码等等工作。为了保证安全,智能合约通常被放置于沙箱”(典型的模式是以太坊虚拟机加以运行,具体运行步骤模型为:首先,智能合约自动检查可信外部数据源也称为预言机,Oracles世界状态(即时间或者预设条件的成就状态)”;其次,获取上述信息自动判断所得到的信息是否满足智能合约触发条件;再次,按照既定的算法严格执行响应规则;最后,进行交易验证,通过后被打包进新的数据区块,经过认证后链接到区块链主链智能合约的运行机制如 3所示

 

 

四、区块链智能合约的合同法属性

如果我们从合同法的角度聚焦关注于智能合约,重点关注和分析它在平等主体的之间所形成的契约关系及其属性。比如:

张三与王五是非常要好的朋友,有一次因张三有急事向王五借款10万元,并承诺1个月之内还款,并找到中间人作证与签字据。随着后面时间的过去,王五眼看已经到了还款截止时间,想到是自己的好朋友,又有证据,又不好意思借还款;结果拖了几年也不还,每次上门催款,总是被三言两语打发。后来王五把张三告上法庭,费了不少时间与精力,才把几年前的借出的钱搞回来,但好朋友已变成熟悉的陌生人。

而如果将张三和王五之间的借贷关系作为智能合约部署,时间到期之后,基于智能合约的自动执行机制,不可逆转机制,去中心化、去信任机制,等等,智能合约就会自动执行,将张三的财产10万元及其利息划到王五的账户当中,避免后续的一系列麻烦。

 

(一)区块链智能合约在本质上仍然是属于合同

所谓智能合约,它其实是指在预先已经设定好的一个结构化的书面合同用程序或者是软件以代码的方式展现在网络,或者是电脑端,合同的另外一方,通过选择来确定结构化的合同当中的某一个选项,确定之后,按照设定的模式自动执行的一个过程,以自动售货机为例,自动售货机其实已经内置了一个简单的智能合约,这个智能合约有几个选项,比如说,a选项是饮料,b选项是食品,c选项是日常用品,而在a选项下面又有酒精饮料和软饮料.是一种结构化的设置,当消费者在自动柜员机投币的时候,他选择啤酒选项,这程序会把啤酒按照程序所设定的流程,带动机械操作模式,将啤酒送到出口

在这个过程当中,可以清楚的发现,虽然消费者或者是合同的另外一方,他只是做了一个几个简单的动作,比如,投币和按钮选择啤酒这两个动作,实际上是对于已经预设的定制化合同或者是程序化合同的一种承诺以及履行。所以,他跟传统的合同在本质上没有差别,只不过是合同的形式不一样而已。智能合约的外在表现为电子形式和机械的执行动作,当然这个电子形式是以自动化的方式存在的机械执行动作之中。

目前来看,程序被触发之后的执行过程是不可逆的,但是很难说以后也是不可逆的,如果说一种科技进步会带动智能合约本身的可逆性的话,那么它跟普通的合同除了在形式上有差别以外,就没有任何的差别,

双方之间的沟通内容成为一项具有法律效力合同,其条件和表现形式是灵活多样的,只要符合双方之间的权利义务关系构成即可,而不是依赖于合同的形式。如果能在双方的沟通中,意思表示里面找到构成合同的基本要素,那么从口头协议到电子邮件对话都可以成为法律合同。所以,智能合约很可能是代码和更传统的法律语言的结合。

(一)区块链智能合约是数据化、代码化的合同

相比较于传统的电子合同智能合约没有自然语言展现电子合同虽然是以编码的方式存在传输,但是在最后人机交互的时候展现出来的仍然是属于自然语言。而智能合约它最终几乎是没有以自然语言的方式展现出来,当然它在有几个点上面是以自然语言的方式进行人机交互的,比如说价格数量标的物,其他的统统都没有。

所以智能合约的背后它一定是法律关系,只不过现在的合同法律关系,它是以自然语言的形式加以架构的,而智能合约以可执行代码的方式加以架构,表现形式不一样换句话说,智能合约在具体的语言表达形式上加了一层,或者说更深入了一层,这一层我们把它称之为是可执行代码,其他的各个表现形式的层级没有任何的变化,

传统的合同,在整个合同的产生到消亡过程当中,他也是有层级结构的,这种层级结构最底层的是资产(包括有形或无形),第个结构就是权利和义务,第个结构是针对于这些权利义务的自然语言表述,第个结构是对基于这些自然语言表述的后期履行过程

智能合约只不过是在上面的这个层结构当中增加了一层,在第个结构和第个结构之间,增加了一个可执行代码的层级结构,也就是说把自然语言当中所确定的权利义务转化成为可执行代码这种转化,就相当于是把英文合同翻译成为中文合同,并不能因为这种翻译或者是转化而改变本质,即要处置资产,解决双方当事人之间权利义务关系的这种性质

(二)区块链智能合约是格式合同

一部分的智能合约可以由双方当事人通过协商之后拟定,而大部分智能合约则是设计者为了重复交易的便捷和迅速,而未与交易主体协商,提前拟定。

我们可以发现,作为合同相对方而言他所能够的做的,是在某种程度上够是以自己的名义进行选择或者是填空而不能对已经预设的其他条款提出任何的意义解读协商或者反对,我们把这样的智能合约或者说本质上是属于已经预设了具体条款的合同称为格式合同从这个意义上说,智能合约其实是一个比较典型的格式合同,他几乎所有的条款全部都是格式化的,因为它不允许合同相对方,对于已经预设的这些条件有任何的更改要么接受,要么离开

进一步来看,智能合约本身,他是,简单的合同结构之上做了一个扩充,这种扩充是由智能合约的提供方,他事先将相应的条文拟定好了之后,这些条文通过程序的方式,通过自自动执代码的方式把它放置到网络上,或者说网络空间中比如说有一个歌唱家,他把自己录制的新歌标的设置了一个智能合约,把这个歌放在网上,喜欢歌迷,如果想听的话,就点击某个按钮,支付相应的费用,你就可以收听,这个里面它其实是包含了合同所包含的主要的核心要素了,标的物价格、履行方式……等等。至于说合同所涉及到的其他的方面,比如说质量问题,当消费者点击了这个按钮,选择听取这个的时候,那有可能会发现他的这首歌,其实就仅仅只是对于其他歌曲家的抄袭,那么这个就和涉及到后续的合同纠纷解决机制,也没有跳出原来的合同框架,

因此智能合约它可以把它简单的定义为是通过代码化的方式存在于网络空间当中的格式合同

(三)区块链智能合约是附条件或附期限的合同

另一个角度看,对于那些可自动执行的智能合约,实际上是双方当事人或者几方当事人在某个条件成就,或者某个时间节点到达之后,合同自动履行的一个过程,所以在这个意义上智能合约实际上是一个附条件或附期限的合同,

从智能合约的执行机制的角度来说,它类似于多米诺骨牌一样的结构,复杂的多米诺骨牌可以理解为智能合约的雏形,智能合约所有的节点全部都是以“if…… then”这样的结构来进行链接的,用中文表示就是当某一个事件发生的时候,那么后面这个事件它就必然的发生,这种因果关系的设置,实际上就是一种刚性的、结构化的合同设置架构

(四)区块链智能合约是承诺与履行相重叠的合同

跟普通合同相比较而言智能合约有一个非常重要的特征是它的承诺和执行是重叠的。当我们观察智能合约从开始到履行结束的整个过程,就可以发现智能合约的提供方设定某个智能合约的时候已经包含了完整的合同要素,比如合同法第12条所规定的8个要素当中至少已经确认或者是规定了最主要的主体标的价格等这些要素只不过是另外一方主体,没有确定数量以及其他有关的要素比如,履行的时间履行地点争议解决方法,等等,这个其实跟其他普通的合同,在要约阶阶段是没有任何的差别的。当合同相对方实施了某一个和承诺完全一致的行为之后,比如说点击选择或者是投币等这些动作之后,那么一个完整的合同就已经形成了

虽然人们在外在形式上无法区别承诺与履行,但是在法理上显然是可以明确和清晰的区分的就好像合同成立和生效外观很难区别,因为大部分的合同成立即生效,也就是成立的时间节点和生效的时间节点完全是重合的,但是这个并不说合同成立和生效是同一个事实,在法理上已经做出了清晰的区分因此智能合约的承诺和智能合约的生效,以及智能合约的履行三个时间节点在外观上完全重合,并不影响他在本质上或者在法律上可以区分为三个不同的具有法律意义的行为或者是事件,也并不能因此而否认智能合约,他本质上仍然是没有跳出传统合同法所规范的合同

五、结语:超越合同法的区块链智能合约

从智能合约及其所在的区块链环境技术分析可见,智能合约可以从广义和狭义两个角度来理解,狭义的智能合约仅仅只是,一段数字化的合约代码,而广义的智能合约则包括了这段数字代码及其所在的整个区块链环境,就像我们说,玫瑰花的时候狭义的仅指花朵,广义的则是指整一株的植株,包括了花、叶、茎、根等相应的组织或者其有机组成部分。

当然,我们首先把关注点放在狭义的花朵上面。当然分析花朵本身也会有不同的角度和方法,比如,我们用“契约”这个词来替代“contract”,可能更容易理解智能合约中的“contract”,不仅仅包括平等主体之间财产关系,比如卢梭的巨著《社会契约论》中的“契约”,就不完全从平等主体的权利义务关系中加以阐述的,而是论证了平等主体的权利义务,达成共识的基础之上,把人民与政府之间的关系也理解为一种契约,因此用契约或者智能契约这个词,也许更能表现智能合约的本质属性和特征,以及其应用范围。

因此,区块链智能合约的研究重点也应该放在互联网区块链人工智能大数据背景之下,智能合约在功法和私法领域分别以及怎么样发挥作用?跟相对方之间的关系有没有发生变化?有没有因此导致其权力、权利义务的失衡有没有因此而产生权力的滥用或者不正当竞争产生危害社会或者侵害消费者权益的后果?如何加以有效的利用,扬长避短,充分发挥科学技术对人类经济社会的促进作用?

 



来源:专业委员会工作部
责任编辑:雷雨