| 没有喧嚣,没有问候的“沉默”,请安静听完这段征途故事!

摘要

智能合约是自动执行合同条款的代码协议,其以代码替代传统人为执行合同,本质上是运用代码“编译”传统法律的“自然语言”合同,以代码自动执行缔约人合意的可操作性条款。随着区块链技术的日益普及,让更多人意识到基于区块链技术的智能合约的商业应用价值,而备受关注。但,智能合约的匿名性、不可撤销及自动执行的特性,有别于传统合同的订立与履行方式,在主体适格、责任认定及合同效力造成法律边界模糊,给滞后于科技发展的法律与监管部门带来了新的挑战。智能合约是否具有法律效力是当前亟待解决的问题,对此,本文将“智能合约的合同效力认定”作为研究对象,对已有的研究成果及国外立法与监管案例结合我国法律法规进行全面梳理和系统论述;并提出我国现行法律在智能合约与合同效力的契合路径的探索方向;同时,总结我国现行立法与监管应对智能合约技术发展治理的面临问题,并提出建设性的观点看法,以供读者后续研究提供参考。

关键词:区块链  智能合约  自动履行  主体适格 合同效力

作者简介:方铭,自媒体撰稿人,区块链布道者,研究方向:新兴科技金融与创新科技。

                                                                                                                                            

一、前言

随着智能合约技术在全球广泛领域的应用价值,更多的国家、企业、创新者加入其队列,但智能合约的自身技术特性问题,给现行的法律与监管部门形成了冲击,如何引导技术创新服务于经济、社会,又在法律与监管框架下发展,是当下亟待解决的新问题。因此,对智能合约技术的创新带来的法律与监管问题,结合我国现行法律法规进行全面梳理和系统论述,以探索智能合约与合同效力的契合路径。

二、合同形式演变史

人类在漫长的劳动协作过程中,使得大脑得到锻炼、发音器得到改造,逐渐具备了说话表达语言的能力,口头语言约定便成为人类最早的合同形式。随着人类生产水平的进步,出现了刻画符号再到图画文字最终形成人类早期的记录语言文字,使存储于大脑的“口头合同”才得以用文字刻写于物理世界记录下来。早在我国西周时期就有“写于木片或竹片上,一劈为二,双方各执一半为据,合则见清其全文。”的早期“书面合同”直到西汉造纸术的发明,纸质合同才得以广泛使用,并延续至今。

到了现代,纸质合同的低效与造成资源浪费的同时,也无法满足数字化信息时代的高速发展,逐渐被通过电子信息网络以电子形式订立的“电子合同”所替代,同纸质合同一样具有法律效力的合同形式。人类对提升社会效率的科技探索从未止步,不再满足于信息只作为记录、凭证与存储的载体,试图赋予信息具有自动执行的智能生命。计算机编程、互联网、区块链技术基础设施的诞生,使得这一“赋予”成为可能并已实现,这一自动执行的智能生命就是“智能合约”技术,可通俗的理解为“合同+自动执行”无需中心化、去人为的自动履行合同中的操作性条款。

三、智能合约的技术特性

智能合约技术如何实现“合同+自动执行”的运转机制以及与法律的共生关系,就需要先理解智能合约的技术特性,从该技术的起源、发展、底层技术、合约制订、控制权限这五个维度去解构。

(一)什么是智能合约

“智能合约”这一概念由法学者尼克·萨博(Nick Szabo)于1994年最早提出,并在1996年发表的《智能合约:数字市场的基石》论文中阐述“智能合约是一组以数字形式指定的承诺,包括各方在其中执行这些承诺的协议。”并以自动售货机投入硬币就自动弹出商品的机制举例[1]。

智能合约的工作流程可简单概括为:构建代码、部署合约、触发执行。跟传统合同订立后依赖双方自我约束、人为的去履行不同,智能合约是把传统合同内容分为“可操作性”和“非操作性”归类,可操作性的归类如合同里的标的、数量、价款、时间、期限、规则等可数字化代码编译预设触发合约执行的关键信息,剩下的合同内容如法律条款、道德约束就是非操作性的,无法编译识别。简单理解,传统合同是“人与人”的合意履行,智能合约的合同是“代码与计算机”的命令与执行关系,用代码算法来取代传统合同履约方式,以杜绝任何人为干预与违约及不确定性因素的发生,让代码算法镜像传统合同内容自动执行。

(二)智能合约技术的应用发展

虽然智能合约概念是尼克·萨博最先提出的,但最先把这概念转化成技术应用并受到各界广泛关注、吸引技术人员前来研究与开发的无疑是以太坊(Ethereum)。以太坊是由程序员Vitalik Buterin于2014年开发创建的,是一个提供去中心化的以太虚拟机(EVM)用来交互执行在以太坊公链上创建的智能合约;据Dune Analytics监测统计数据显示,截止2020年3月在以太坊上创建的合约已累计超过200万份。

中国工信部于2016年10月发布的《中国区块链技术和应用发展白皮书》中强调:智能合约是区块链六大核心关键技术之一,是构建未来数字文明的重要基石[2]。智能合约是可编写资产代码并创建新的区块链资产,自动执行复杂的金融交易,基于这些技术优势被高盛、摩根大通、汇丰银行中国平安保险等顶尖金融机构和科技公司组成的“R3区块链联盟”应用于金融资产清算领域,在其区块链平台Corda上进行点对点自动交易清算,以解决传统金融系统交易清算低效的痛点;2017年10月法国安盛保险(AXA)推出一款基于以太坊公链上开发的“Fizzy”智能合约保险,只要航班延误超过2小时,可自动赔偿航班延误的旅客;2018年9月杭州互联网法院在蚂蚁金服区块链平台BaaS上线司法链,使用区块链技术协助司法判案,可以链上存证与在线审理。

自2014年以太坊智能合约技术诞生以来,并开源其代码供所有人研究学习,才使得这一技术在全球各地蓬勃发展,众多智能合约应用得以雨后春笋般生长,在金融、医疗、物流、保险、政务、管理等领域逐渐得到广泛应用。

(三)智能合约基于区块链技术

智能合约仅是众多区块链技术之一,区块链是该领域所有技术的总称,区块链包含:侧链、跨链、零知识证明、时间戳、非对称加密、哈希值等技术;比特币只有简单的分布式记账交易的功能,而智能合约则在比特币的分布式账本基础加上可编译运行的合约代码。要想弄懂智能合约如何制订合约与自动执行的流程,就有必要先了解智能合约主要使用到哪些区块链技术。

1、分布式存储

区块链的核心价值是去中心、不可篡改、不可逆,而要实现这一功能的关键技术就是点对点的“分布式存储”区别于传统中心账本只有一个人(节点)记录,分布式存储可以有无数个人(节点)并人手一份账本,新的信息以广播方式通知所有人记录到账本,只有正确记录全部广播信息的账本(节点)才有资格参与下一轮广播记账。这一技术确保了智能合约数据无法被篡改,正确部署上链记录打包进区块并同步到所有网络节点。

2、时间戳

要证明谁最快速完成记账,就需要每一本账本完成记账时打上时间戳来生成依照时间前后排序的证明,这个技术可以解决A同时把一笔资产打给B、C、D……但不知道最先打给谁的问题,也就是我们常说的解决双重支付问题[3]。

3、非对称加密

非对称加密算法需要两个秘钥:公钥和私钥,公钥是对所有人公开可查,私钥自己掌控。当A向B发送信息时,A和B都同时生成一对用于加密和解密的公钥与私钥,这时只有对应的公钥和私钥才能解密,从而实现信息加密交换。非对称加密俗称数字签名,用于确认签名身份与签名授权,符合我国《电子签名法》第二条规定:“用于识别签名人身份并表明签名人认可。”

4、虚拟机

编写好的源代码直接写入区块打包是无法被区块链的智能合约识别与执行的,这时就需要编译器(高级语言)将源码转换虚拟机(Virtual Machine)可识别的字节码形成合约,然后再将合约部署上链,广播同步到所有节点记录、存储。

5、预言机

部署上链的合约只是预设好了触发事件的规则,要触发合约事件就必须有传达触发事件的信息工具,预言机(Oracle)就是可传达可信数据的工具,预言机类似于股市的报价机,正确的报出具体数字;但这个报价机是中心化的,预言机是去中心的,所以它采集的信息无法被人为干预,做到可信数据;这预言机会连接区块链以外的互联网web、API、云端、物联网等链下可读可识别的数据流,将采集符合预设的事件信息反馈给合约触发执行。目前这样的去中心可信数据预言机应用已经有很多,例如较知名的ChainLink。

(四)智能合约的制订流程

跟中本聪集合先驱们已有的技术并在此基础上创新最终发明比特账本一样,区块链智能合约作为合约应用的底层基础设施工具,但不能像人类一样直接读懂合同内容和履行,必须要缔约主体将合意(自然语言)用代码(编程语言)编译成虚拟机可读取识别的字节码并形成合约。下边简要概括智能合约的工作流程,以便接下来更好理解智能合约订立与执行跟法律的共生关系。

1、自然语言转化编程语言

人类经过漫长的劳动协作才具备了说话表达语言的能力,而这自然语言只有人与人才能互相识别,但计算机二进制代码只能识别0和1的数字形式的编程语言,所执行的逻辑是“if-this-then-that(如果,满足设定条件,那么,触发指定操作)”和“What-If(假设,会怎样)”语句提前预置了触发合约事件的规则;要让计算机读懂人类语言,就需要精通编程的开发人员,将缔约主体的权利和义务用代码明确编译成系统可识别与触发执行的字节码,自然语言便与编程语言有了跨界交流功能。

2、可信数据

智能合约如果缺了可信数据源,只能定义为半智能成品,可信数据就是提供触发合约预设规则的事件,简单理解就是合约是静态规则,可信数据是动态事件引起合约触发。当合约预设规则编写好后,还需在合约写入接入外部可信数据预言机(Oracle),完成这一步后就可以将合约部署上链。

3、合约部署上链

区块链1.0版本以比特币为代表只有分布式记账交易的功能,将合约代码直接打包进比特币区块是无法被识别与自动执行的,因为缺少了编译器和一套具备图灵完备的脚本语言(俗称的虚拟机),只要具备这两个条件,并且这条区块链网络有智能合约功能,就可使用。合约提交到区块链网络上不是随意输入或发送代码的形式,而是通过“交易”形式完成,这交易是A地址转账发送至B地址,伴随地址转账的还包括封装的合约代码,当全网节点收到这笔交易的全网广播后进行验证并存储于区块中(分布式账本)。

4、合约自动执行

部署上链的智能合约被验证有效交易确认打包进最新区块后,根据交易生成智能合约的账户地址,通过该地址发送交易便可调用合约,被调用的合约在虚拟机环境中自动执行[4]。链上未执行的合约被新的区块更新继续等下一轮,直到预言机(Oracle)读取到合约预设规则的触发事件出现,智能合约就自动按指令执行,成功执行的合约将被移除区块。

(五)智能合约可暂停、升级、销毁

将“智能合约”同“区块链账本”不可篡改、不可逆的特性混同理解是严重的误区,正确的理解是合约被部署到区块后是无法被修改的,即使是通过51%攻击或节点投票通过修改,修改痕迹也会被永久记录进新区块(旧区块合约信息不变),但智能合约是可以在合约里设置好规则前,使用调用函数实现合约暂停、升级、销毁,从而实现契合我国《民法典》第三编合同规定关于撤销、中止、终止、解除的情形。

智能合约有一个“状态变量”用于指示合约是否暂停,合约账户地址控制者或合约指定的调用者通过调用函数即可实现合约的暂停。合约的升级迁移和销毁的工作流程以本体(Ontology)公链为例介绍:开发者可使用本体的dAPI进行合约迁移升级,就是把现有合约由新合约替换,旧合约区块保存的数据也将迁移到最新区块新合约,迁移后旧合约将被删除,但旧合约的加密资产不能迁移到新合约,相当于旧合约的加密资产会被销毁或转移到合约预设接收的账户地址,这是因为区块链账本不可篡改的功能,也就无法凭空制造新资产[5],还有合约创建之初就把逻辑层和数据层分离,逻辑层可以升级,数据层则不行,所以合约升级需要迁移数据到新合约;销毁合约的工作流程就简单多了,只要合约创建之初预设销毁规则,调用函数即可销毁该合约,销毁后的合约会从存储的区块被清除,但合约摘要信息永久保留在区块。

要实现适配合同法律属性,合约创建之初就需预设可暂停、升级、销毁的调用函数,以契合法定情形,但如果合约创建之初就写死无法暂停、升级,那将会出现先执行完毕后救济与法律冲突的情况。

四、智能合约基于不同区块链的法律属性

按照区块链的开放程度,可划分为:公有链、联盟链、私有链三大类。这三种区块链的主体、权限、技术特性的不同,导致运行在这三种区块链的智能合约的法律属性有所区别。

(一)公有链

 

公有链对所有人开放使用,任何人都可以参与记账成为节点维护区块链网络运行,系统的维护和重大决策由节点算力(POW工作量证明)或节点投票(POS权益证明、DPOS股权证明、PBFT拜占庭容错)实现,完全的去中心化,不受任何机构控制,这意味着该系统没有控制的主体,缺失法律认定的民事主体;当该公链出现系统故障或被外部攻击致使智能合约的当事人造成损失时,很难通过司法途径救济。

2017年9月4日,中国人民银行等七部门联合发布《关于防范代币发行融资风险的公告》规定:“不得为代币或“虚拟货币”提供定价、信息中介等服务。”[6]公告规定禁止提供虚拟货币定价及信息中介等服务,但没说禁止使用以太坊公链创建智能合约合同,一旦在以太坊此类公链创建智能合约必然需要以太币支付手续费(Gas)才能运行合约,那么缔约主体意思表示内容合法,而且基于此类公有链创建的合约合同是否合法,需要进一步探讨与法律明确。

(二)联盟链

 

联盟链的记账权限只对特定的联盟成员开放,数据读取对内和对外权限也是分级别的,以及内部各成员节点之间的权限也可不一样。联盟链的交易速度非常快,交易成本接近为零,但也以牺牲去中心化作为代价,并且只要部分节点达成共识就可对区块数据进行篡改[7]。当该联盟链出现网络故障或成员节点联合作恶导致智能合约的当事人造成损失时,该联盟链的实际控制主体和节点的主体将承担连带责任。

我们都知道一张银行卡账户对应一位实名持卡人,而区块链网络的账户地址是由椭圆曲线加密算法生成的一组无序字符号地址,对应的是持有私钥的控制者,所以是匿名的,这就违反了我国《网络安全法》第二十四条规定:“网络运营者为用户办理网络接入等服务,应当要求用户提供真实身份信息。”这一点,公有链追求的匿名性显然难以遵守法规,而联盟链的弱中心化特性刚好可以实现KYC认证。以杭州互联网法院的司法链平台为例,在平台前端要求用户实名认证后才可使用区块链司法链服务,就可以实现与公钥账户地址绑定身份。

我国《互联网信息服务管理办法》第四条规定:“国家对经营性互联网信息服务实行许可制度;对非经营性互联网信息服务实行备案制度。未取得许可或者未履行备案手续的,不得从事互联网信息服务。”依据该办法规定,联盟链实际控制主体可取得许可制度或备案制度的条件,而公有链是去中心化的分布式记账节点则无法满足该办法的规定。

(三)私有链

私有链只对单独的个体或实体开放权限,参与的节点也只有自己,数据的访问和使用权限跟传统的中心网络数据库相似,一般只用作公司、工厂等内部审计、溯源记录使用,所以跟传统网络所产生的法律属性相同。

五、智能合约的主体之间的法律效力认定

基于公有链或联盟链创建的智能合约,因缔约主体不同,缔结方式不同,使用的区块链网络不同,所产生的法律效力及法律属性有所区别,大致可归为四类:智能合约平台型合同、智能合约单方制订型合同、智能合约委托型合同、智能合约审计型合同。

(一)智能合约平台型合同

 

智能合约平台型合同指的是:公有链或联盟链平台已有的智能合约,用户可以直接使用,属于单方制订的格式合同。当区块链网络出现故障致使智能合约当事人损失,但故障不属于我国《民法典》第一百八十条规定的不可抗力、不能避免、不能克服的客观情况时,应承担相应的赔偿责任。依据该法律,使用智能合约的当事人可依法要求网络平台承担责任,可向联盟链平台实际控制主体和运行节点主体承担连带责任,而公有链平台不具备法律意义上的主体资格,最终损失责任由使用智能合约的当事人自行承担。

(二)智能合约单方制订型合同

智能合约单方制订型合同,可依据《民法典》第四百九十六条理解为:当事人未与对方事先协商而由一方制定的格式智能合约。当对方当事人在未理解或已理解格式合约代码表所述的意思、规则时,双方合约签订后发现运行的智能合约有代码漏洞,致使一方当事人受损时,适用《民法典》第四百九十七条和第五百零六条规定的:因故意或者重大过失造成对方财产损失的,格式合同免责条款无效。并可要求制订智能合约的当事人承担相应法律责任。

 

(三)智能合约委托型合同

把传统合同的自然语言转化为可自动履行合约的编程语言,需要具有编写合约代码的技术人员来编译拟定,而当缔约当事人都不具备编写合约代码的条件时,只能委托第三方具有编写合约代码技术的公司或个人来负责执行;当由委托的第三方负责智能合约的代码编写与部署上链自动执行时出现漏洞或违背当事人合意导致受损,委托当事人可依据我国《民法典》第五百二十三条的规定要求受委托的第三方承担违约责任,维护其合法权益。

(四)智能合约审计型合同

为了防止制订好的合约代码在执行过程中出现故障,一般开发好合约代码都会委托第三方代码审计公司进行安全审计,由第三方审计公司进行多维度的代码审计后,会出具相应的审计安全报告,委托方再根据审计公司的安全报告进行代码优化,通过审计安全级别后才能将合约代码部署上链。这一过程将产生委托智能合约编写的合同当事人、负责编写合约代码的技术公司、负责合约代码的审计公司的多方法律责任主体。

六、智能合约特性与合同效力认定的冲突

区块链智能合约的去中心化、匿名性、不可撤销的技术特性,给主体适格及实施的法律行为是否成立、有效难以认定。智能合约以代码算法手段“编译”与“替代”传统法律合同的内容跟合同履行,以代码手段承载法律效果的实现形式冲击了现行法理;智能合约的不可撤销特性本意是排除人为干预,以实现合同准确、完全履行,提高社会商业活动的效率,但也跟现行法理的合同可撤销的法律救济规定形成冲突。智能合约的技术特性与现行法律具有排斥性,又有共同契合点,给两者之间带来了不可避免的冲突。

(一)主体适格的效力认定

区块链的公钥与私钥不具有身份唯一性,公钥是椭圆曲线加密算法生成的一组无序字符号且匿名的地址,虽然公钥地址是公开透明可查的,但并未与实名身份绑定;持有私钥的人,也并非对该公钥与私钥具有身份唯一性,理论上A把私钥告诉B、C、D,然后B、C、D再把该私钥告诉其它人,结果拥有私钥的人都可以控制该账户资产和使用该私钥与他人缔约交易。因公钥具有匿名性,无法判断对方身份是否符合我国《民法典》第十八条规定的“具有完全民事行为能力人。”还是属于《民法典》第一百四十四条规定的无民事行为能力人,致使已经自动履行的智能合约处于效力待定或者自始无效的状态,要解决这一问题,就必须先解决确认主体适格。

智能合约更像是代理人,执行被代理人委托的法律行为,但当智能合约出现区块链网络故障执行未经被代理人许可的行为时,是否符合《民法典》第一百六十四条要求代理人承担民事责任,如果运行在联盟链的智能合约,还有承担民事责任的对应主体,如果是完全去中心化且匿名的公有链,给法律救济带来极大阻碍。

(二)合同订立形式的效力认定

传统合同订立的形式主要有口头合同、纸质合同、电子合同这三种,均符合我国《民法典》第四百六十九条规定的书面形式合同。显然,区块链智能合约的自动履行与缔约方式不属于“当事人订立合同”与“其它形式”的范围内,智能合约不具备民事主体资格,都是算法间的数据交换,自动执行的背后没有主体操控,也无法有形的表现所载内容。

不少法学者的观点以我国《最高人民法院关于互联网法院审理案件若干问题的规定》第十一条规定:“当事人提交的电子数据,通过电子签名、可信时间戳、哈希值校验、区块链等证据收集、固定和防篡改的技术手段或者通过电子取证存证平台认证,能够证明其真实性的,互联网法院应当确认。”跟智能合约的缔约形式等同具有法律效力,但该条规定只是承认数字签名、区块链证据收集等证明方式被互联网法院予以认可并采纳,并没有提到像智能合约自动订立合同形式是否具有法律效力。

(三)自动履行不可撤销

“用代码算法来取代传统合同履行方式,以杜绝人为干预,确保代码算法镜像合同内容自动履行。”这是智能合约以锁死代码来确保合同高效、准确的完全履行,即使缔约存在重大误解、欺诈、胁迫、法定等情形,也无法通过请求人民法院或者仲裁机构予以撤销合约运行,只能先执行,后救济。这显然违背了“可撤销”的法理,这也给人民法院或者仲裁机构带来巨大挑战。

这就需要合约当事人在智能合约编译时,慎重选择将合约代码写锁死,一旦锁死合约等同永久放弃了行使撤销权,也将给违约救济带来极高的成本[8]。也给合约当事人带来新的难题,发生不可抗力因素或法律要求撤销的情形时,合约当事人达成撤销合意,而智能合约的自动执行不可撤销,是否违背合约当事人的意思表示。

(四)责任认定

跟传统合同内容可使用自然语言理解、识别不同,智能合约是将自然语言合同编译成字节码合约,其技术特性不仅给合同当事人无法保证准确理解,也给区块链网络平台审核带来极高难度。制订的智能合约有代码漏洞或被人为故意植入危害国家安全、公共利益、损害他人民事权益、违背缔约当事人承诺的恶意代码,而平台未尽审核义务导致的法律后果,是否可依据我国《民法典》第一千一百九十七条规定:网络平台应尽到审核义务,保护用户的民事权益,未采取必要措施的,承担连带责任。对于完全去中心化的公有链平台比较困难实现连带追责。

2016年6月,以太坊公链上的The DAO智能合约里价值6000万美元的ETH资产被黑客攻击盗走,被盗原因是该合约存在代码漏洞。随后,以太坊公链社区经过争论,最终大部分矿工节点算力投票表决通过实施硬分叉方式追回被黑客盗走的资金。然而这一行为引发了两个问题:一个是,失去了区块链最核心的去中心分布式账本的特性;另一个问题是,矿工节点能否代表平台资产用户行使这投票权,如果有,那么矿工就具备了维护该网络责任的民事主体,同时执行代理人与网络实际控制人的双重主体,矿工节点在未经过被代理人授权同意就行使的法律行为,符合《民法典》第五百零三条规定需要被代理人追认合同才可成立生效,否则代理人应自行承担法律后果。在The DAO智能合约事件的部分用户同意执行硬分叉,部分拒绝硬分叉,硬分叉导致部分合法交易的用户资产数据被回滚,损害了这部分用户的财产权益,那么受损的用户能否以旷工节点作为网络实际控制人,依据我国《民法典》第一千一百九十七条要求承担赔偿责任,然而以太坊类的公链的矿工节点成千上万分布在全球各地,给如何依法救济带来新的难题。

七、美国应对智能合约的立法与监管实践

美国的区块链技术创新以及区块链的应用落地,不仅在技术水平上领先全球,应用领域数量上也保持前列,同时美国的各联邦州对区块链技术、智能合约应用的立法态度较为积极,各州之间对待区块链技术应用以及技术人才引进,在政策立法上处于竞争状态,同时对创新技术也制定了强监管应对。各州对待区块链技术应用开放的立法态度,承载着当地州对促进经济发展、技术领先地位的希望,形成了各州立法上结合自身情况制定出台各有差异的法案与监管方式。

(一)美国立法实践

美国走在全球区块链技术创新与立法领域的前沿,2019年7月9日,美国国会通过了《区块链促进法案》该法案要求在联邦政府层面组建区块链工作组,领导制定区块链技术定义与标准及立法指导规范,以保持美国区块链技术在全球的领先地位。根据Coinbase的调查报告显示,截至2019年6月,在美国的50个联邦州里,有超过70%的州颁布了区块链技术相关的法规。

2017年3月29日,美国亚利桑那州通过了第2417号法案,法案注释44-7061规定:“交易合同不会因该合同中含有智能合约就被否认其法律的效力、有效性或可执行性。”第二年3月22日的田纳西州法案注释44-10-202也签署相同条款的法案。该法案正式承认以智能合约订立的合同形式具有法律效力,智能合约自动履行实现的效果属于法律结果,缔约人以及司法机关不得否认合同订立形式、履行方式、存证真实性的法律效力。

2017年3月31日,佛蒙特州通过135号提案规定承认使用区块链技术进行“任何事实或记录”进行验证,可直接作为法律证据。

2019年2月19日,怀俄明州通过了一项HB57金融技术沙箱法案,旨在以区块链技术为创新的新兴金融和服务的项目营造良好的商业环境,吸引更多科技人才、企业到该州发展。美国的其他州在监管方面过于严苛,怀俄明州金融技术沙箱法案正迎合了这一痛点,以更加开放的态度,为技术创新的行业者提供了更为灵活的发展空间。

(二)美国监管实践

2018年11月8日,美国证券交易委员会(以下简称SEC)对去中心化交易所“以德”(EtherDelta)的创建人Zachary Coburn提起诉讼,SEC指控称:以德交易所的智能合约代码是由技术员Zachary Coburn编写并部署上链运行的,该项目并未向SEC申请注册办理备案手续,属于未经注册的非法证券交易所。最终该交易所创建人被罚款40万美元。在美国,以德交易所已不是个案,Block One、Telegram、Kik等区块链项目也曾先后受到SEC指控起诉,美国SEC早已密切监视智能合约应用及其创建人,对违反法规的智能合约应用,无论是去中心化运作,还是有主体维护运转,其创建人都要承担法律责任,SEC以形成一套成熟的监管体系,加强规范、净化市场,维护公共合法权益不受侵害。

八、智能合约与合同效力的契合路径

 

智能合约的技术特性跟现行法律的模糊边界是当前亟待解决的问题,不应法律滞后于科技创新就否认其法律地位,对其进行设限一刀切的行为,这不利于以科技创新促经济,以法律革新引导科技发展。将智能合约的技术特性拆解开来加以研究,会发现,现行法律部分是可以适配解决智能合约存在的法律问题的。同时,也在此基础上研究如何将智能合约纳入民法的调整范围内,以更好的引导与规范智能合约助力社会经济发展。

 

(一)智能合约的生效要件规制

1、缔约主体适格规制

具备完全民事行为能力人或法定代理人,缔约订立的合同才具有法律效力。由于区块链是分布式的去中心账本具有匿名性,智能合约的缔约人账户地址未与缔约人身份绑定,无法确认缔约人的民事行为能力,这有可能使已自动履行的智能合约处于效力待定或自始无效。

针对智能合约的匿名特性与法律上的主体适格之间的冲突,笔者认为可以对公有链和联盟链的智能合约加以规制。对提供智能合约服务的网络平台,可根据我国《网络安全法》第二十四条规定:“网络运营者为用户办理网络接入等服务,应当要求用户提供真实身份信息。”审核缔约主体适格后,将缔约人与智能合约账户地址进行身份绑定才能使用平台服务。确认主体适格的办法,可以参照杭州互联网法院的司法链平台,在区块链网络以外的第二层搭建中心化前端用于审核主体资格,并将审核的摘要信息记录于区块链网络账本,作为不可篡改的真实凭证,这样既可以确认缔约人主体适格,又可以保留区块链去中心化运行的价值特性。

2、意思表示规制

智能合约是自然语言转化为编程语言的自动履行合同,这一过程难免会出现技术人员未能准确或真实的将缔约人意思表示编写进智能合约,使得部署上链运作的智能合约违背缔约人的本意,出现违约纠纷。对此,笔者认为可以将智能合约逻辑、规则的代码字符号反向编译成自然语言,供缔约人确认无误后,再将智能合约代码部署上链,以排除合约代码存在欺诈、恶意串通的无效行为。

3、智能合约的订立形式

不少法学者依据《电子商务法》第四十八条规定的:“电子商务当事人使用自动信息系统订立或者履行合同的行为对使用该系统的当事人具有法律效力。”认定通过智能合约自动缔约的合同形式有法律效力。对此认定,笔者有不同的看法:一是,该法能发生法律效力的前提是,智能合约的缔约形式属于《民法典》第四百六十九条规定的“其他形式”范围内,但无论是从订立形式和履行方式都于此不符,可以看出这是法律滞后于技术创新带来的对法律理解的偏差;二是,同时《电子商务法》第二条也规定:“金融类产品和服务,利用信息网络提供新闻信息、出版产品新闻信息等内容方面的服务,不适用本法。”由此可以看出,该法仅适用于通过互联网销售商品或提供服务的电子商务活动,而智能合约使用的领域多数是金融、资产、版权等领域的交易,这是由智能合约的自动执行特性决定的,把智能合约运用在传统电商,运行的效率比原有中心化系统还低效,也只能实现半智能执行,无法将智能合约的最大价值特性发挥出来。基于这两点,智能合约难以契合《电子商务法》第四十八条、第二条的规定。

要使智能合约的订立形式与自动履行具有法律效力,可依据我国《担保法》第五条规定“担保合同是主合同的从合同,主合同无效,担保合同无效。”缔约分主合同与从合同。缔约人以《民法典》第四百六十九条规定的合同订立形式作为主合同,以智能合约规则及反向编译成自然语言的规则解释作为从合同,当发生争议时以主合同为主。

 

(二)智能合约可撤销、中止、终止规制

代码锁死的智能合约一经部署上链运行就无法篡改、撤销,这等于缔约人永久放弃了行使撤销权,这违背法理上规定的因重大误解、缔约有规定、不可抗力因素规定的可撤销合同与使用欺诈、胁迫等的无效合同,置于法律先执行,后救济的处境。所以,缔约人在编写智能合约代码时,就应写入可调用函数暂停、销毁的触发规则,当行使暂停、销毁时需要所有缔约人用各自私钥签名授权同意才可触发规则。

当合同存在重大误解或缔约人重新约定的,可调用函数暂停合约将写入的标的资产退回指定账户地址后,重新编写合约部署;当可撤销合同的事由发生时,请求人民法院或者仲裁机构予以撤销,同时要求一方当事人配合授权调用函数暂停合约;智能合约的销毁,符合《民法典》第五百五十七条规定的“法律规定或者当事人约定终止的其他情形。”可调用函数永久销毁智能合约。

 

(三)智能合约立法监管

以上的智能合约与合同效力契合的路径,只能以非常有限的在现行法律框架下解决部分区块链技术、智能合约特性带来的技术创新与法律冲突的问题,并未从根本上解决智能合约的法律效力,使区块链技术创新者无法辨别法律与监管政策的边界,时有出现技术创新与法律监管相背离的情况发生。要根本解决这一问题,还需从立法与监管双驱动进行,为科技创新营造适宜孵化环境,可借鉴美国立法与监管实践经验。

美国各州积极立法推进区块链合法化,再到美国监管层的高强度执法,其目的是允许创新技术自由发展,对新兴技术给予很大空间不作设限,同时使用强监管把创新技术新物种锁进铁笼加以规范,对于能服务促进经济发展的创新给予法律支持,对破坏创新环境的及时强监管处理,营造良性发展环境。

以科技创新促经济,以法律革新引导科技发展。美国怀俄明州的金融技术沙箱法案正是践行了这一准则。当前,智能合约主要还是用于金融、标的资产等交易领域,这源于该领域过于中心化,受人为操控,过高的使用成本,使得智能合约有了发展并且不断壮大的空间,这一趋势已在全球蔓延无法扭转;如果中国对智能合约的订立形式、自动履行效果的实现不作出法律引导,明确其法律效力,会失去该技术应用领域的先发优势,置于国际竞争中不利地位。美国亚利桑那州法案对通过智能合约执行的合同法律效力承认、佛蒙特州的区块链交易记录可作为法律证据、美国怀俄明州的沙箱法案监管,这些州的立法及对科技的拥抱态度都值得学习。中国应试点建立沙箱监管,把超出现行法律的区块链技术应用纳入统一监管范围,允许创新技术有限度的豁免尝试,同时,也在此基础上加大研究如何将智能合约纳入民法的调整范围内,以更好的引导与规范智能合约助力社会经济发展。

九、结语

随着区块链技术的日益普及,让更多人意识到智能合约技术的商业应用价值,在近些年来获得高速发展,这也给滞后于科技的法律带来新的挑战。我国已出现智能合约的司法案例,但案件的争议焦点还停留在其他民事权益上,法学界对这一技术的相关学术研究还处于早期阶段,缺乏方向性和共同话语的研究。为此,本文对智能合约的技术特性、法律属性、国外实践案例、法律的契合路径等进行全面梳理,发现智能合约的匿名性、不可篡改、自动履行对应法律的主体适格、可撤销、合同订立方式是可跟我国现行法律相契合,可依法认定其效力。并对我国现行立法与监管应对智能合约技术的面临问题,提出建设性的观点看法,以供读者后续研究提供参考。

参考文献

[1]尼克·萨博.智能合约:数字市场的基石[EB/OL].(1996)[2021-03-17].http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html.

[2]中国区块链技术和产业发展论坛.中国区块链技术和应用发展白皮书[M].北京:中国工信部,2016: 5-81.

[3]中本聪.比特币:一种点对点支付的电子现金系统[M/DK].2018:2.

[4]秦雨桐,程越强.区块链智能合约介绍[EB/OL].(2020-08-05)[ 2021-3-21].

https://blog.csdn.net/Baidu_Secrity/article/details/107814007.

[5]工匠.智能合约上链后还能修改吗?[EB/OL].(2019-09-24)[2021-03-21].https://blog.csdn.net/ontologycoding/article/details/101270612.

[6]中国人民银行.关于防范代币发行融资风险的公告[EB/OL].(2019-09-04)[2021-03-22].http://www.pbc.gov.cn/goutongjiaoliu/113456/113469/3374222/index.html.

[7]朱嘉伟.从0到1全面学透区块链[M].北京.硅谷密探,2017:66-69.

[8]李东蓊,张佳琪.区块链下智能合约的合同效力认定[EB/OL].(2020-07-05)[2021-03-19].https://www.civillaw.com.cn/bo/t/?id=36998#.

[9]刘曦子.区块链促进法案.中国计算机报[J/OL].2019(45):1-3.

[10]李西臣.区块链智能合约的法律效力——基于中美比较法视野[J].重庆社会科学,2020 (7):10-11.

作者简介:方铭,自媒体撰稿人,区块链布道者,研究方向:新兴科技金融与创新科技。完稿日期:2021年3月24日

论述《区块链智能合约的合同效力认定》去中心化金融的钞能力赛道相关推荐

  1. 区块链发展第三阶段:去中心化金融

    2017年12月17日,以太坊上第一个完全去中心化的数字稳定币--Dai正式发布,它是去中心化金融(DeFi)的基石.DeFi的最终目的是构建一个透明的金融系统,这个金融系统向任何可以连接互联网的人开 ...

  2. 区块链的核心价值就在去中心化

    区块链落地现在也做得很好,比如说存证.溯源项目这种,但是区块链的核心价值就在去中心化. 中心化虽然一定程度上实现了效率提升,但容易产生垄断,进而打击创新.以电商为例,现在电商全部是中心化的,那我们就做 ...

  3. Web3.0初探:一个基于区块链技术、用户主导、去中心化的网络生态

    Web3.0初探 一个基于区块链技术 用户主导.去中心化的网络生态 Web3.0:致力打造一个基于区块链技术.用户主导.去中心化的网络生态.在Web3.0中,用户为满足自身需求进行交互操作,并在交互中 ...

  4. 深度 | 区块链对人工智能的变革:去中心化将带来数据新范式

    近年,从围棋到人类水平的语音识别,人工智能(AI)研究者终于在他们几十年一直努力探索的领域取得了突破.取得突破进展的关键一点是研究者们可以收集巨量的数据并「学习」这些数据,从而将错误率降低到可接受范围 ...

  5. 来自智能合约中的威胁:去中心化应用安全威胁Top10榜单

    NCC Group 发起了一个名为 2018 年去中心化应用安全 Top10 ( Decentralized Application Security Project)的项目.据悉,该项目会与类似于 ...

  6. Hxro将采用Solana作为第一层区块链,并过渡为完全去中心化的链上衍生品网络

    加密交易平台Hxro宣布将选择Solana作为第一层区块链,同时从平台过渡为完全去中心化的链上衍生品网络.具有内置头寸管理功能的Hxro期权自动做市商协议将使用Serum现货.掉期和期货运行恒定的动态 ...

  7. 区块链如何在技术上实现去中心化的呢?

    内容来源:书<区块链世界> 主编:井底望天/武文源/史伯平/赵国栋 本文内容为区块链入门级阅读材料,但是还是需要一定的基础知识才能理解,目前国内关于区块链的知识普及还比较少,本文虽然篇幅较 ...

  8. ​区块链公链“三元悖论”专题系列之去中心化(Decentralization)

    区块链作为系统去中心化的一种工具,所追求的并不一定是系统的"绝对"去中心化,而是相对于中心化来说,去中心化的程度. 在上一期的内容中,我们提到了区块链公链"三元悖论&qu ...

  9. android区块链 钱包_区块链研究实验室|从Android调用区块链智能合约

    本教程将展示如何直接从Android开发环境-Android Studio中调用智能合约. 环境要求 我们将使用Tezos区块链.为了使我们的Android java代码与现有的.部署的智能合约交互, ...

最新文章

  1. Failed to load AppCompat ActionBar with unknown error
  2. 众望所归的《JAVASCRIPT凌厉开发--EXT详解与实践 》终于上市了!
  3. [总结] 网络流最大流算法反向边的作用
  4. vue使用@路径引入
  5. python 表达式求值数据结构_python 数据结构与算法
  6. vue openlayer单击地图事件循环多次执行_12道vue高频原理面试题,你能答出几道?
  7. 用JavaScript和HTML5创建文件上传器
  8. linux 命令详解 二十四
  9. 用C语言实现万年历的代码及思路(详细教程)
  10. Win10下 Java环境变量配置
  11. DDK_HelloWorld卸载例程细化(驱动学习笔记四)
  12. 数值分析笔记 第一章 数值分析与科学计算引论
  13. 天空之城:拉马努金式思维训练法
  14. 泛型,泛型的表现,泛型类,泛型方法,泛型接口,通配符,限定
  15. 如何做好公众号编辑—壹间网络
  16. UI/UE设计学习路线图(超详细)
  17. 【最新】2019年最新青甘大环线攻略收藏版!
  18. Java|Java中int的取值范围是多少
  19. Ajax(跨域请求)
  20. CMake I 设置编译器标志

热门文章

  1. 回溯法相关——约翰逊·贝尔曼法则 Johnson-Bellman's Rule
  2. Spring boot 嵌入的tomcat不启动
  3. 内核月报搜索exe版 代码
  4. MFC开发过程中,自定义的类中做分割窗口的图像显示,GetDC出现问题:function does not take 0 parameters?
  5. [转]使用Away3D引擎的Flash3D推箱子游戏原型 - 最终版本
  6. 新的Android恶意软件!可窃取银行密码,看看怎么防御?
  7. 解决KMPlayer播放f4v格式文件并关联
  8. 【动画】开头卷轴1——草图
  9. 年报行情预热 117股高送转潜力大
  10. C/C++学习之指针基础