智能合约的合同法分析
2021-12-03杨仕龙
王 竹,杨仕龙
四川大学法学院,四川 成都610041
引言
技术在促进平等和自由的同时,也表现出产业化和科技竞争的狂热,“十五世纪以来形成的技术—经济的立法范式,使得人们对技术和科学形成了一种信仰”[1]。如今,随区块链技术发展起来的智能合约也面临同样的问题。狂热的技术主义者认为,智能合约构建起了法律之外的自治秩序,是纯粹的技术,它与合同格格不入,不应该也不能纳入合同法的规制范围。法学界对智能合约的讨论多集中在其能否作为表意手段达成合同,而未回应技术论者智能合约当事人蕴含着规避法律的意愿(即无意于产生合同法律关系)的问题,对于合同法如何具体适用于智能合约也少有涉及。笔者将从技术上探究区块链与智能合约的关系,继而以合同法基本理论审视以智能合约达成有法律约束力的合同之正当性,并结合智能合约的技术特征提出合同法的具体适用规则,以期为深入探讨与研究提供些许借鉴。
1 区块链的基本原理
1.1 从区块链到智能合约
自中本聪2008 年发布《比特币:一种点对点式的电子现金系统》(Bitcoin:A Peer-to-Peer Electronic Cash System)起,区块链技术随着比特币进入新时代的视野。尽管区块链技术只是作为比特币的底层技术出现,但现今区块链的影响力已远超比特币。当前,区块链技术被认为是继大型机、个人电脑、互联网之后计算模式的颠覆性创新,将在全球引起一场新的技术革新和产业变革[2]。
本质上,区块链是综合运用各种加密和验证技术形成的分布式记账方式,区块链技术则是一种将数据信息打包成数据区块,再按照时间顺序组合成的数据存储链式结构,是去中心化系统中各节点共享并且共同维护的分布式数据账本[3]。具体而言,区块链由各个网络节点以P2P 方式相互连通和交互,没有权威受信方作为维护者;账本的维护和管理由各个节点受激励机制激励贡献自身算力,根据区块链的共识机制及传播协议,验证、执行并传播一段时间内链上发生的有效交易数据;同时,利用哈希树状数据结构(Merkle Trees)、哈希算法、时间戳等技术加密,生成数据区块;所有网络节点均可以依照共识机制平等争夺记账权,最终获得记账权的节点可以将其生成的新的数据区块链接到区块链主链上,其余节点更新最新版的区块链账本[4]。
区块链技术最大的特性是去信任和去中心化,被誉为是人类进化史上继血亲信用、贵金属信用、央行纸币信用之后的第四个里程碑[5]。按照区块链记账技术的运行逻辑,所有的节点都可以公平参与记账,且共识机制保证了账本的唯一性和可靠性,所以不需要第三方提供交易信任来对交易进行确认,而是由完全中立的区块链技术提供信任基础;没有了受信中介提供信任,整个记账本按照预定的技术规则运行,也就没有中心管理者。
智能合约最早是由计算机科学家尼克· 萨博(Nick Szabo)在1996 年提出来的。在他看来,智能合约(Smart contract)是由数字形式定义的一组承诺,包括当事人执行这些承诺的协议。萨博认为,最简单的智能合约是自动贩卖机,它预设了一个触发条件和执行规则:在储备充足的情况下,向贩卖机投放一定货币,自动贩卖机将自动吐出货物。换言之,在萨博那里,智能合约仅是一个预设了触发条件和执行规则的自动执行的合同[6]。按照这样的定义,两千多年前古希腊的圣水分配也可以看做是一个智能合约①公元1 世纪,古希腊数学家希罗制造出自动出售圣水的装置,原理是:投入的一个硬币会掉落到杠杆一端的小盘子中,盘子端受到重力下坠压动杠杆,杠杆另一端的阀门松开,圣水就会流出来。,在20 世纪后半叶证券交易市场出现的利用计算机编程达成的自动交易也可以看做是智能合约。但几乎不会有人认为它们是今时意义上的智能合约“区块链2.0 时代的智能合约”[7],因为智能合约和区块链技术是分不开的。在区块链技术出现以后,人们逐渐认识到区块链技术的应用不限于数字货币的挖掘和交易,还可以借助智能合约的可编程性完成更复杂的行为,区块链去信任、去中心的技术架构为智能合约提供了可靠的运行环境[4]。总之,不论认为智能合约的本质为何,各个学者对智能合约的定义几乎都与区块链分不开[8-9]。按照工信部发布的《中国区块链产业白皮书》的定义:“智能合约是由事件驱动的、具有状态的、获得多方承认的、运行在区块链上并能够根据预设条件自动处理资产的程序”[10]。
区块链1.0 时代的典型应用是比特币,其逻辑结构可以简单概括为:如果(If)一方发起转移比特币的交易,那么(Then)比特币将会转移给另一方。而区块链2.0 时代的智能合约应用本质上仍然是If-Then 结构,只是更为复杂,这主要体现在三个方面。
一是更复杂的逻辑规则(If-Then)。典型示例:如果航空延误,那么航空延误险将会自动赔付;如果你支付购房款,那么房屋将会过户到你名下。还可以是更为复杂的连续合约调动,比如:如果向众筹项目转移资产,那将获得出资的数字证明;如果众筹金额和人数达到标准,那么众筹成功;如果没有达到,那么金额退还,回收数字证明。再继续扩展完全有可能通过智能合约构建一个链上信任的陌生人之间一种类组织关系,比如2016 年的The Dao。
二是更复杂的合约状态判断机制。为了安全考虑,区块链和线下世界是相互隔离的。原本就处于链上的数据信息合约当然能调动并进行判断,如果涉及链外信息,就需要引入外部信息判断机制——预言机Oracle,让链上合约和链下数据有一个安全的交互通道,从而判断触发条件是否满足①参见以太坊https://ethereum.org/en/developers/docs/oracles/.。
三是可供调动的资产更多。智能合约的执行对象不限于数字货币,还有可能是其他数字资产或者资产凭证[4]。主要有两种方式:(1)将现实资产数字化,成为链上数据,比如不动产登记信息上链,智能合约可以直接执行不动产交易②比如,2020 年9 月17 日广东省自然资源厅发布的《广东省“区块链+不动产登记”探索应用工作实施方案》提出了“区块链+不动产登记”,目前广东省珠海市、江门市、东莞市等已经展开具体探索。。(2)当事人约定或者第三方承兑线上数字资产凭证,智能合约执行完毕后,可以持数字凭证向对方或者承诺兑换的第三方主张权利,即证券资产上链。这类似于存托凭证。
1.2 智能合约的技术原理和特征
典型智能合约的运作逻辑或流程如下:
(1)确认协议:双方或多方确定合作和期待的结果;
(2)设定触发条件:可由当事人输入密钥触发,也可以由某些事件或时间触发(比如上交所股指达到哪个点、时间来到2021 年5 月1 日等);
(3)编写执行规则:满足(2)中的触发条件,合约自动执行规则;
(4)加密以及身份验证:加密提供合约各方间的消息验证和安全身份验证;
(5)部署上链:当身份验证和消息验证达成共识,智能合约写进一个区块,代码等待条件触发执行,记录结果并进行合规性验证;
(6)数据更新:代码执行后,所有节点更新分布记账本,记录经过验证并发布到区块中[11]。
计算机学界和法学界普遍认为,基于区块链技术的智能合约应用,同样具有区块链去信任、去中心化、匿名性、交易信息不可篡改且可溯源、自动执行的特征[4-5,8,12-15]。具体而言,合约当事人均为匿名交易,合约部署上链后当事人不可更改交易条件,执行不可阻止和回滚,不受当事人意志干扰;完全按照合约规则和区块链规则运行,不需要中心管理者,无需中介。
2 智能合约的法律属性
如前所述,智能合约相较于1.0 时代的比特币交易,只是复杂程度不一样,本质结构是相同的If-Then 的预设条件触发执行的代码逻辑结构。或许正是因其脱离人类意志的自动执行性谓之智能,而其本质逻辑结构和以往的计算机协议没有本质区别,故谓之合约。鉴于智能合约和区块链技术的关系,将智能合约认为是一种合同或者其他法律概念可能不太合适,因为智能合约只是一种技术运用方式,可能并不会产生具体的法律关系。就像最初的纸张,既可以达成或者说记载合同,也可以只是记录知识的手段。有学者已经注意到智能合约可能无涉法律关系,而涉及法律关系的智能合约又可分为公法类和私法类[13]。但目前在讨论智能合约的定义或者法律属性时,部分人直接将智能合约锁定在了私法类合同法律关系范围内加以讨论。故特此明确,以下讨论只在智能合约涉及合同类法律关系的意义上进行。
2.1 目前国内关于智能合约法律性质的观点
(1)智能合约只是自动执行的程序,而不是合同。金晶认为,对于智能合约,一般人无法理解代码含义,无从判定代码是否表达了当事人的真实意思,且智能合约完全摒弃了合同救济、合同争议的法律执行、合同语言的解释、合同不完整性等合同法规则,因此,从事实和便宜出发将之认定为“协议的一套履行机制或者执行程序”更为合适[16]。王延川认为,智能合约专注于当事人的意志实现,形成了去中心化的交易结构和代码表现,它们不追求法律效力,法律不能也无需干预[17]。
(2)智能合约是一种自助行为。Max Raskin 提出智能合约是一种事后“自我执行”,例如,使用智能合约进行租车时,若智能合约未收到租客的租金,会自动停止汽车运转,据此他认为这类似于美国《统一商法典》第9-606 条项下的“违约后担保权人取得占有的权利”[18]。许可引用Max Raskin的文章论述自助行为论的存在[8],笔者认为这是误译。自助行为普遍译为self-help behavior,而且Max Raskin 只是在论述智能合约存在私力执行(Private Enforcement)性质时提及了自力救济的定义(Selfhelp remedies:指个人在没有法律强制和没有政府官员协助的情况下,为防止或补救民事错误而采取的法律允许的行为),并不意味着Max Raskin 认为智能合约在法律性质上属于自助行为,且智能合约与自助行为理论急迫性的特征并不符合。
(3)智能合约是一种合同。郎芳认为,智能合约是合同形式的新发展,是特殊的合同形式,较传统合同只是缔约方式、载体、履行方式不同[19]。夏庆锋认为,智能合约具备合同的构成要素:合意+对价,符合当事人之间的真实意思表示,是利用计算机程序履行义务的特殊合同种类[20]。李西臣认为,智能合约承载着交易方的意思表示,依据合同形式自由原则,可以被理解为高科技背景下创新的合同书面形式[21]。陈吉栋认为,智能合约符合传统合同“要约—承诺”的结构,应被视为电子合同的特殊形式[22]。
(4)智能合约既是以数据电文订立的合同,也是一种事实上的担保方式。蔡一博认为,智能合约一方面承载了当事人的合意和契约精神,存在“要约—承诺”结构,另一方面附加了智能合约技术的担保功能[23]。倪蕴惟认为,智能合约的私法构造为合同+独立担保,即:一方面是以数据电文订立的合同,另一方面运用技术手段使合同指向的财产利益能得到确定移转,在合同或要约之上添加了辅助履行的担保功能[24]。
2.2 智能合约的合同属性
对于智能合约的法律属性之争论,我们有必要根据合同法规则和原理对其具体加以判断。若认为智能合约应具有民事合同之法律效力,则应具有充分合意+创设合同法律关系之意图[25],我国对具备合同法律效力的要件主要集中在充分合意的判断上,对于合同约束力的来源甚少关注[26]180。智能合约的合同属性分析也主要集中在对其是否能承载当事人真实合意以及书面形式的判断上,故下文将从智能合约是否能有效承载当事人意思表示和是否有创设合同法律关系意图来对其合同属性进行分析。
2.2.1 智能合约能否有效承载权利义务安排的合意
智能合约能否真实无误地表达当事人的民事权利义务安排的合意,是智能合约成为合同订立新形式的第一个问题。
一方面,智能合约交易能够确定特定当事人。智能合约交易采取非对称加密技术进行身份验证,每个用户在注册时会根据注册随机数产生一个256位进制的私钥。私钥不对外开放,只在注册用户本人链下保存,是用户持有链上资产并进行签名的唯一工具。每一个私钥又会产生一个公钥,公钥对外,是用户的标表性特征,公钥和私钥是一一对应的。欧盟《电子签名指令》第1 条第1 款规定:“电子签名是指电子形式的附于或逻辑上与其他电子数据关联的数据,起到身份鉴定和验证的作用”。联合国《电子签名示范法》第2 条a 项规定:“电子签名是指在数据电文中,以电子形式所含、所附或在逻辑上与数据电文有联系的数据,它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所含信息”。我国《电子签名法》第2 条第1 款规定:“电子签名是数据电文中以电子形式所含、所附用于识别签名人身份并标明签名人认可其中内容的数据”。从以上规定可以总结出电子交易中电子签名的基础功能有二:一为让合同指向特定唯一当事人,二为表明签名人对签字内容的认可[27]25,赋予电子签名等同于书面签章/字的效力①《电子签名法》第14 条:“可靠的电子签名与手写签名或者盖章具有同等的法律效力”。。这正是基于功能等同法的判断标准而得出的结论。同样,以功能等同法分析智能合约签字技术可以发现:用户持有的私钥和对外公开的公钥共同指向一个唯一特定的当事人,而基于区块链记账的可追溯、可靠性,所有储存的数据记录均不可修改且可查询,签署私钥的行为就可以表明签署人对合约内容的接受和认可。因此,智能合约签署私钥起到的作用等同于传统的电子签名,也等同于书面签章。从国际视角看,广义上的电子签名包括使用非对称加密技术的数字签名[27]26,我国亦采取了广义电子签名。再以我国《电子签名法》第13 条审视智能合约签字的可靠性,智能合约的“私钥+公钥”的身份验证技术,亦符合有效电子签字的要件:签名对应唯一当事人、签名时处于所有人控制下①同电子签名一样,推定签署私钥时为唯一的私钥所有人所控制,应当允许反证推翻。、签署后对签名和签名内容的任何改动能够被发现。
另一方面,智能合约属于广义上的书面形式,可以成为意思表示的形式,也可以成为承载合同合意内容的静态协议形式。我国《合同法》第11 条规定信件、数据电文可以算作书面形式。这个条文扩大解释了书面形式,使之能够包含数据电文,以解决电子商务发展的法律障碍。那么,什么样的数据电文可以成为书面形式呢?联合国《电子商务示范法》第6 条第(1)项规定:“假若一项数据电文所含信息可以调取以备日后查用即算满足了书面形式的要求。”我国《电子签名法》第4 条规定:“能够有形地表现所载内容,并可以随时调取查用的数据电文,视为符合法律、法规要求的书面形式。”从我国的电子商务立法来看,我国采取了国际上通行的标准,只要求具备最基本的书面形式要求即可,即有形表现所载内容、可供随时查用[28]。而智能合约虽然采取了专业的合约代码的形式,但是合约代码和自然文本合约之间可以固定地相互转换,且部署上链以后区块链分布式记账本去中心化架构更意味着合约内容再难更改,所以应当算作可有形、固定表现所载内容。另外,基于区块链透明、可追溯的链式数据存储结构,每一个合约内容的数据信息都是可随时调取的,故智能合约符合书面形式的要求,即:可有形表现所载内容,可供随时查用。
需要指出的是,书面形式可以是意思表示的载体,也可以是要约、承诺的形式[29]。我国《合同法》规定的合同成立规则(或者说意思表示一致的路径)以“要约—承诺”结构为原则,以签章或者意思实现为例外[29][30]47-49。要约要件有四:特定当事人作出意思表示;要约向相对人发出;有缔结合同的目的;要约内容明确具体[30]30-32。所以,智能合约属于可有形表现所载内容、可供随时查用的书面形式,当事人可以借助区块链和智能合约技术做出内容明确具体的意思表示,公私钥一体的非对称加密技术可以具体到确定的作出人和相对人,在内容上可就当事人、标的、数量达成约定。
崔建远指出,合同订立的过程是“缔约人为意思表示并达成合意的状态,是接触、协商、达成协议的过程,是动态行为和静态协议的统一体”[30]29。智能合约具备书面形式的要素,可作为意思表示的方式,也可作为书面形式表现静态的合同文本,因此,可以作为订立合同和表现合同的形式。尤其要指出的是,立法者对待初生的电子合同尚且抱有宽容心态,认为“如果信息技术能够提供一种同样的意思表示形式,就没有理由拒绝它在法律上的效力”[28],那么,以智能合约的方式订立合同同样能够准确表示其意思,因而也就没有理由拒绝它。近代合同法的基石是契约自由和意思自治,“必须注意,恰恰是当事人在自由意志下选择了智能合约,尽管算法可能产生各种问题”[13],应当尊重当事人的意思。例如,美国田纳西州和伊利诺亚洲也承认,区块链技术和智能合约是合法有效的,不能因为使用智能合约交易就否认合约的有效性和可执行性,从而反向肯定了智能合约合同的效力。
2.2.2 以智能合约达成合同有无法律约束力
反对论者认为,智能合约被认定为合同的最大障碍其实不在于形式和内容,而在于智能合约当事人没有将合同诉诸法律的想法,他们只愿意受到技术的约束,而不是合同法律效力的约束[31]。智能合约一旦部署上链开始运行以后,当事人的意志就不能干涉,只要预设执行条件触发,就会按照预设执行规则执行合约账户内的标的。当事人采用智能合约的方式意味着他们信任技术,而不是信任相对人会守信或者寄希望于诉讼仲裁的救济。以太坊白皮书也指出:“创造一个智能合约并不要求任何一方做任何事情,或者作出任何预期的承诺”②参见以太坊白皮书A Next-Generation Smart Contract and Decentralized Application Platform,https://ethereum.org/en/whitepaper/.。所以,采用智能合约旨在保证确定执行,而不是作为将来诉诸法律的依据。同时,正是由于智能合约的执行过程完全自动且不可修改,所以智能合约不需要法律参与强制执行[22]。这恰恰反映出当事人的意愿,即以技术替代执行或者监管制度,主观上不希望客观上也不能诉诸法律[32]。这种新的商业交易流程和所有权机制创造了一种“超越法律界限的合同”[24],消除了对合同法的需求。它在内容上和法律合同一致,但是缺少当事人创造法律约束力的意愿,所以它在形式上可能是合同,但实质没有法律约束力,不是合同。
契约是当事人之间意思合意的产物,但是契约一经成立就产生了独立于双方意志的地位,双方均应严守契约,不得任意变更或取消,即在双方当事人之间产生法律约束力。我国学界对此作当然结论,而对于合同法律效力的来源不甚关心[26]180。合同法律拘束力的正当来源最有力的观点是意志论。具体而言,“合同本身就意味着自由意志是合同效力的最终来源。意志论的基础是康德关于自由与义务的形式伦理学,法学基础来自格劳秀斯等人的自然法学说。法律行为的效力来自于私法主体自由选择,约束是意思的当然结果”[33]。《欧洲合同法原则》第2:101 条也规定,合同拘束力产生的前提是当事人有受法律拘束的意图。欧洲《Draft Common Frame of Reference》①此为欧盟成员国所有法域法学家为促进制定欧洲民法典、达成私法共识所制定的共同参考框架。认为,“合同是一种旨在产生具有约束力的法律关系或其他法律效力的协议”。崔建远认为合同属法律行为,应按照意思表示的内容(创设、改变、消灭合同法律关系的意图)赋予法律效果[30]1。
英美法对于是否具有创设法律关系的意图的判断模式为:从事法律调整的行为,法律推定具有创设法律关系的意图;但是存在类型化的特殊情形,其中之一是约定无约束力的行为(君子协定)[25]。那智能合约能否算作约定无约束力的协议?可以肯定的是,当事人明示无约束力的智能合约应当算作无约束力的行为。此时,原则上应予尊重当事人的意愿,智能合约不产生合同的“完整法律效力”[34],具体包括履行请求权、诉请履行权、强制执行力、可自力救助性、可处分性,但是一般认为依然具有受领保持力[35]。此时智能合约成为事实的履行行为,在理想状况下应是如约自动履行,但是当事人对智能合约的执行状况不得改变。然而,这有可能不当限制当事人诉权,导致实质契约自由被侵犯。因此,应当允许结合行为场景、当事人的利益状态、诚实信用、信赖程度等因素进行个案判断[25],否定无约束力的约定,可在智能合约自然状态外请求合同法意思表示瑕疵制度、违约救济制度。
应当强调的是,对于智能合约默示无约束力约定的判断应当非常谨慎。首先,智能合约内容具有合同法规制的价值形态。我国已经承认了虚拟财产、数字资产的财产属性②最高人民法院2020 年7 月20 日发布的《关于为新时代加快完善社会主义市场经济体制提供司法服务和保障的意见》(法发[2020]25 号)规定:“加强对数字货币、网络虚拟财产、数据等新型权益的保护,充分发挥司法裁判对产权保护的价值引领作用”。。智能合约可以实现有形、无形财产或财产凭证的交换,且当中蕴含着当事人的合意,不论当事人是否意图规避法律,它和合同的实质结果是相同的,即财产权利在法律上的转移[32],因此原则上要得到法律上的承认,也应接受法律的审视。其次,有无创设法律关系意图的判断基准应为相对人的合理理解。合理理解的标准应为“通常情况下一般人的理解”[35],过于宽泛的默示标准容易导致相对人的合理信赖被伤害。按照富勒的信赖利益理论,法律赋予约定约束力有两个重要原因:一是为了保护当事人的信赖,二是通过肯定协议的有效性以促进劳动分工和商品高效流转和配置[26]200。最后,智能合约本身的特性容易导致正义失衡。意思自治有两个层次:一是行为人间的交易只要不违背法律就应予尊重;二是只有完全出自真实自愿意志的合同才具有完整的效力[36]。当事人出于对智能合约技术的信任而采用这种交易形式,但是智能合约的风险性较传统合同更高。据调查,截止2019 年第三季度,已披露的区块链重大安全事件超过270 件,累计损失超过43 亿美元[37]。究其原因,不仅有当事人以外的原因,也有重大误解或恶意当事人欺诈等原因,格式条款的负面影响更为突出。如若法律漠然视之,很容易导致实质意义上的合同自由和正义被侵犯。法律一般禁止以约定方式排除的强制性条款,如诚实信用不可排除、人身损害免责条款无效[36],事先弃权原则上无效[38],当事人排除智能合约的合同效力,是事实上排除撤销、救济[9],与此法律原则冲突,应予注意。
综上所述,笔者认为,智能合约可以成为合同订立的形式,也可以是合同的特殊书面形式,可以有效地表示和承载当事人的意思表示。当事人借助区块链和智能合约构建的自动执行合约,并不意味着他们没有产生合同法律关系的意思。智能合约交易具备合同法规制的价值形态,原则上除当事人明示该合约无法律拘束力以外,符合合同成立要件时均不应否认其合同法律效力,应当适用合同法规则。
3 智能合约的合同法适用
在明确了智能合约可以成为合同、具备法律约束力后,还需要探讨合同法规则如何适用于智能合约。不可否认,智能合约和传统合同存在区别,当事人通过技术构建起了相对独立的自治秩序,采用智能合约进行交易有传统合同不具有的优势。具体而言,包括技术中立记账和执行带来的交易安全、较低的磋商和履行成本、自动执行带来的高交易效率[39],对于整个社会而言,将分布式的思维引入了经济和法律范畴,创造了一种基于技术的信任机制[24],一方面减少了交易双方的信息获取与监督成本,另一方面新的信任机制带来更多更便捷的交易机制,促进交易,社会财富增加,减少成本支出[40]。但是,这些优势的存在基础是区块链技术能够提供可靠的信任,比如数据记载可靠且不可修改,合约内容和执行机制不能修改和被干涉。所以,人们认为智能合约在意思表示瑕疵救济、双务合同履约抗辩权行使、违约救济等方面给传统合同法带来了挑战[9,41]。此外,智能合约还存在诸多问题,其所谓的“自治秩序”不能自足也不能自治,法律必须予以关注;在安全问题方面,智能合约存在13 种攻击方式[5],其安全性有赖于区块链的底层协议和各节点的共同维护;智能合约履行过程容易出现失衡,等等。许可认为,智能合约在代码与法律、自由与管制、未来与传统、个体与社会之间构成了一个利益衡量的决策十字阵[8],因此,有必要对智能合约的技术自治秩序予以适当突破,以平衡各方利益。
3.1 合同订立的规则
智能合约应用于合同领域可分为两种情形:一是双方当事人共同商定合约内容,共同部署或者委托他人部署合约上链;二是一方拟定合约内容并部署上链,另一方通过签署私钥加入或者向合约账户转移相应资产的方式加入合约。
在双方共同协商合约内容并部署上链(或者委托第三方部署)的情形下,当事人其实已经在线下达成了合意,智能合约不过是具体体现。如果没有约定采取智能合约为要式,那合同应成立于自然语言合同商定之时;如果约定采取智能合约为要式形式,那可参照书面要式合同,待转码为智能合约部署上链以后,合同方才成立。
在一方单独拟定合约并部署上链的情形下,向不特定或者特定相对人开放,另一方当事人可以以签署私钥或者向合约账户转移资产的方式加入合约,此时拟定方的智能合约部署发布行为可被视为要约,另一方签署私钥或者转移资产控制的行为可被视为承诺,该行为信息被区块链所验证并记录上链时为合同成立之时[18]。
值得讨论的是区块链的匿名性,或者说非实名带来的合同当事人指向和违约救济问题。区块链的设计理念之一是保护隐私,用户在链上只有公钥和账户(钱包)标识他的身份,每个用户的交易记录是全网公开的,但是无法与现实世界的人对应[5]。智能合约匿名性可能引发的风险有三。一是合同当事人的指向。合同成立必须要有明确的当事人,订立合同须有相应的民事行为能力,前文论述了智能合约确实可以指向确定唯一的当事人,但不指向现实世界,这在合同成立上面临障碍。二是违约救济无法指向现实世界的“人”,合同法的违约救济制度难以实行[23]。三是违法合约的追责。智能合约自动性和匿名性是违法行为最好的保护伞,难以识别、难以确定、难以挽回[41],用于欺诈、洗钱时隐秘性高,方便快捷,因此必须对智能合约的匿名性予以突破。我国《网络交易管理办法》第7 条规定网络交易经营者需办理工商登记,网络交易参与者必须向交易平台实名制认证,而公链没有中心平台认证和管理。笔者认为,智能合约应用如果想大面积落地,只能拥抱监管,只要肯定法律必须规制智能合约,那完全的去中心化就不可能实现。因此,针对智能合约匿名性问题的最优解是政府监管下的联盟链,实行传统网络交易的前台代名、后台实名,这在发生争议以及违法性情形下尤其有意义。在区块链技术安全性更加成熟足够可靠以后,更可行的方式是由政府组织将身份信息接入区块链,用户在部署智能合约时,自动调取身份信息,看是否满足行为能力的要求。
3.2 意思表示瑕疵的救济
智能合约意思的真实性判断需要特别注意,合约的当事人可能只是同一区块链上的相互陌生的用户,合意真实性的判断较为困难。鉴于当事人合意对于合同的重要性,而意思的解释规则采客观主义,因此必须保障在发生争议时能够对真实意思有客观判断依据。进一步讲,不论智能合约在交易中扮演何种角色,均存在从自然合约文本到合约的过程,所以应当留下合约文本的记录,以便进行一致性检验[42],且在合同解释时,文本层具有优先地位[15]。在一方提供智能合约另一方加入的情形,如果相对人不理解智能合约,又在合约中处于附和或者弱势地位,此时智能合约提供者应负有解释说明合约核心内容之义务,其理由与格式条款相同[11]。
关于意思表示瑕疵情形的救济方式,传统合同在出现重大误解、欺诈、胁迫等显失公平的情形时,法律赋予意思表示瑕疵方合同撤销权,此为合同自由和契约正义的重要体现[36]。出现前述情形后,当事人可以诉诸法院要求撤销该合同。但是,智能合约在吸收了当事人意志部署上链以后就不能撤销、更改或者解除[17]。当然,当事人选择智能合约并不意味着他们失去了合同撤销权,首先他们未必约定放弃合同撤销等权利,其次就算约定了放弃,也可能因为权利未特定化、处分前提欠缺或者过分限制当事人自由,导致合同实质不正义而不被认可[38]。因此,需要对智能合约的合同撤销规则加以解释,汪青松等人提出授予法院或者联盟链的管理者超级账户[43],当事人取得生效的胜诉判决书后,可向法院申请执行该裁判或持胜诉判决向智能合约所在的区块链平台要求撤销。笔者认为,智能合约的最大创造和优势就是去信任,在其与法律的碰撞当中,我们应当尽量保持这种优势,否则何以弃传统合同或电子合同不取而取智能合约。因此超级账户的范围和权限应当严格限制,笔者认为应当仅赋予专业能力较高的法院或是仲裁机构超级账户,以审慎介入态度维持区块链分布式记账本的可靠性。
3.3 违约的救济
智能合约的自动执行性并不会消除违约的可能性。首先,智能合约采取的代码逻辑非常严谨,没有多种解释空间,因此难以容纳所有的合同条款。比如,守约方遭受损失后应尽最大努力防止损失的继续扩大就无法转化为代码形式。其次,智能合约在转码过程中可能出现错误。比如双方约定由一方负责智能合约的部署,如果编码和部署出现错误,那也会出现违约情形。再次,智能合约依托的区块链环境安全系数较高,但是仍然存在风险。比如在2016 年的The Dao 事件中,价值6 000 万美元的以太币被盗取,而违约责任采用的是无过错原则[30]248。最后,智能合约调动现实资产的方式主要是调动链上数字资产(比如以太币、已经登记上链的不动产权属信息),或者是链上资产凭证(比如约定链上数字资产代表某种货币),交易完成后可持资产凭证向当事人或者事先承兑的第三人要求兑付。此时仍然需要他人的配合,也存在违约的可能性,仍然需要寻求仲裁机构或者法院的救济。因此,合同法的违约制度仍然适用于智能合约。
以货物买卖为例,根据《联合国国际货物买卖合同公约》,一方违约,另一方可采取的救济措施有:中止履行(我国的双务合同抗辩权)、要求实际履行、减少价金、解除合同(适用于根本违约)、损害赔偿、要求修理重做更换、支付违约金。由于智能合约的目标资产在部署上链时就移转到了合约账户[17],当事人构建的执行规则和触发条件设计不会引发先履行抗辩和同时履行抗辩的问题,在先给付未完成,就不能触发在后给付。不安抗辩权存在适用可能性,在后给付的标的若被当事人转移给了其他人或者被黑客所攻击盗取,此时为确保交易安全,在先给付义务人可以主张不安抗辩权,中止履行,要求对方提供担保,亦可主张实际履行和损害赔偿,与传统合同中的实际履行和损害赔偿方式没有差别。值得一提的是,此时也可以通过智能合约的方式进行实际履行和损害赔偿,这取决于当事人的意愿。违约金既可以因当事人的约定嵌入智能合约自动赔付,也可以依传统方式线下支付。另外,广义上的违约救济机制还包括合同解除权。我国法律也承认在根本违约时守约方享有合同解除权,但是由于上链的智能合约不容更改和解除,为了保障守约方的利益不受损害,能够取回移转到合约账户的数字资产,可以考虑在合约中植入解除机制。比如引入超级账号或者借助预言机引入法院的裁判[17],让守约方的财产不至于困守在目的落空的智能合约中,发挥合同解除机制;亦可预设合意解除机制,在合约自动执行之前允许双方共同签署私钥,用双重密匙解除智能合约。
3.4 智能合约中的社区关系
前面对智能合约的讨论主要集中在当事人之间合同关系的建立和合同法的适用上,但千万不可忽视智能合约所依托的区块链环境与智能合约的联系。智能合约按照底层区块链的协议进行编程转码,由链上各节点参与记账将智能合约载入新的区块,链上节点达成共识时可以修改链上数据从而改变智能合约,可以说“智能合约是技术驱动下的自治联合体,各节点共同决定智能合约的秩序”[9]。汪青松认为,底层区块链节点之间的区块链基础协议具备“合同联结之特性”,各节点与智能合约当事人间存在共同目的,即追求系统的联合执行。各节点对于智能合约的影响在联盟链中体现得更为明显。根据这种联结关系,各节点对于智能合约的运行负有基本的注意义务,即:忠实履行底层协议,不滥用分布式记账权恶意损害智能合约[43]。
冉昊在对物债权利界分时提出,物权不可侵犯的逻辑支撑在于人人都能看到有体物这个实在的权利表征,人们就都不能侵犯它;推而广之,对所有具有默示外观的权利存在,亦推定他人不得侵犯,否则便将构成侵权责任[44]。网络各节点自身对于整个区块链系统和智能合约运作所起到的作用应当知晓,而智能合约全节点的公开性更让其对各节点的默示权利外观更为突出,即:区块链系统及其承载的智能合约存在着他人的权利。因此,恶意攻击区块链,造成智能合约当事人损失的网络节点,承担侵权责任的正当性和可非难性更为明显。以此观之,2016 年攻击以太坊The Dao 智能合约的恶意节点或许应当承担侵权责任,而不是宣称的那样只是按照规则行事。
4 结语
智能合约自动执行带来的高效率令其在金融领域备受青睐,它的的确确改变了社会的价值交换和传输方式,提供了新的信任机制和执行机制。从合同法的角度来看,智能合约事实上能够产生民事合同权利义务关系,赋予其合同效力,既是当事人意志的应有之意,也是维护契约自由和社会正义的应然要求。但是,智能合约所谓的自治秩序不能完全自给自足,它并不够智能,对合同法仍有现实需求,不能也不应该脱离合同法的适用。“新技术不一定会创造新的法学术语与原则,因为它们的基础构架往往没有根本性的改变”[24],智能合约并没有给合同法带来颠覆性的冲击和改变,以合同法理论审视智能合约,仍有适用空间,只是智能合约自身优势的发挥有赖于其去中心化和去信任的运行环境。同时,必须承认智能合约与传统合同存在差别,因此合同法在具体适用智能合约时,应尽量尊重和维持其秩序,仅做必要和适当的突破,以期在促进新技术新经济发展的同时,处理好技术可能的负外部性。
尤其需要指出的是,智能合约的理想运行离不开节点和平台的支持。从我国目前的监管态度来看,绝对的公有链难以实现,更有可能的是监管下的联盟链,因此,当前有必要建立以平台为核心的监管体系,以增强智能合约的可靠性。另外,智能合约的具体法律问题还得接受司法实践的审视,我国目前虽然尚未发生由智能合约引发的合同法纠纷案件,但智能合约在编码漏洞、安全可靠性、现实交互、跨国监管上仍存在诸多问题,值得学术界和实务界今后进行进一步讨论和深思。