APP下载

决策十字阵中的智能合约

2019-05-11许可

东方法学 2019年3期
关键词:智能合约代码区块链

许可

内容摘要:现代意义上的“智能合约”系建立在区块链之上,用于自动化交易,并受事件驱动的计算机代码。作为一种全新的交易形式,智能合约的应用日趋广泛,其带来的现实风险亦与日俱增。同时,智能合约所独具的“通过代码实现的规范性”和“独立于第三方权威的自治性”也向传统法律提出了挑战。透过“代码与法律”“自治与管制”——两个相互交叉的视角,国家一方面应认可智能合约的法律效力,尊重其自治架构;另一方面亦应洞见智能合约作为合同的不足,强化其理性,纠正其偏差,保护合同关系中的弱者,最终促成国家与市场、法律与代码的携手共进。

关键词:智能合约 决策十字阵 区块链 代码

中国分类号:D913  文献标识码:A  文章编号:1674-4039-(2019)03-0044-55

2017年,全球有超过一半的区块链专利申请来自中国,较诸2016年,其数量几乎增加了4倍,超越美国位居第一。2018年,中国在区块链专利数量的优势进一步扩大,美国亦奋起直追。〔1 〕世界各国围绕区块链的技术竞争,推动着数字经济从“信息互联网”向“价值互联网”迈进。如果说前者以信息的生产、汇聚与处理为连接中心,那么在价值互联网时代,人与人的纽带就是虚拟货币、数字资产和任何有价值的事物,而令这些交易付诸实施的正是“智能合约”。显而易见,这种全新的交易形式必将给法律带来全新的挑战。而在我国,这种挑战更加重大和紧迫。从这一问题出发,笔者首先梳理智能合约的发展历程,解释其形式和功能,明确其法律意蕴。立基于此,同时为了在更深入和更广泛的视野中审视智能合约,我们进一步引入了“决策十字阵”的理论架构,在“代码与法律”“自治和管制”——两个相互交叉的维度上探寻智能合约的当下定位和未来方向,最终发现国家与市场、法律与智能合约的携手共进之道。

一、理解智能合约

(一)智能合约:古典与现代

1.机械智能合约

智能合约源远流长。倘若我们将其理解为自动达成并履行交易的“合同器物”,那么就可以將其追溯至古希腊时期。〔2 〕早在公元前215年,数学家西罗所著的Pneumatika一书,就记载了埃及神庙里一种分发圣水的机器,只要在盘子上投入一枚硬币就能引发机关,使盘子倾斜打开阀门,圣水便会流出,盘子持续倾斜直到硬币从其上滑落,此时平衡物就会把杠杆拉回原始位置,圣水停止。神圣的宗教情感和对报应的恐惧,有效化解了这种无人合同的欺诈问题。

到了19世纪,出售普通商品的自动贩卖机出现了。凭借着保障货物和储藏硬币安全的保护机制,以及根据投币金额的变化相机而变的有限自动设计,任何持有硬币的人均可以在任何时间、在各种区域与供应商达成交易,从而大大拓展日常交易的范围。不仅如此,人们甚至开始对这种“合同器物”有了更具法律意味的理解。1822年,英国新闻自由的倡导者、著名书商理查德·卡莱尔发明了图书贩卖机,其目的不是为了能方便地售书,而是在当时严厉的审查制度下“脱罪”。他主张:买书人和贩卖机之间自动缔结了合同,而与书商无涉。然而,法律并不认可他对图书贩卖机的解释,最终,他因出版唯物主义书籍被判处亵渎和煽动诽谤罪。

2.计算机智能合约

1994年,现代意义上的智能合约出现了。计算机专家兼法学者尼克·萨博(Nick Szabo)在同名论文中创造了这一概念,他开宗明义地指出:“智能合约是执行合同条款的计算机化交易协议。设计智能合约的总体目的是满足共通的合同条款(如支付条款、担保执行条款、保密条款,甚至执行条款),最小化故意或过失的例外情况,最大限度地减少对可信中介的需求。相关的经济目标包括降低欺诈损失,仲裁和执法成本以及其他交易成本。” 〔3 〕与形形色色的自动贩卖机相比,智能合约更为安全。恶意的消费者可以通过使用假币或直接破坏机器智能合约装置,获取不正当利益,而要想破除智能合约,他们就必须破解其密码。更重要的是,智能合约将合同嵌入动态化的、可用电子手段控制的财产之中。举凡POS终端和银行卡、EDI(电子数据交换)、银行间的转账和清算系统SWIFT、ACH和FedWire,均是适例。

不过,正如尼克·萨博所指出的,此时的智能合约并不能完全自我执行,其有赖于第三方权威来化解纠纷。因而,它被设计为能够被特定仲裁者观察,并容易向其证明的。考虑到合同保密和相对性的原则,只有在解决纠纷的情况下,智能合约才具有“可观察性”与“可证实性”。〔4 〕遗憾的是,由于当时缺乏支持编程合约的数字系统和价值系统,计算机智能合约无法与真实世界的财产进行交互。

3.区块链智能合约

随着密码学和信息技术的发展,在尼克·萨博的启发下,基于区块链的智能合约于20世纪初出现了。〔5 〕作为一种分布式账本技术,区块链是由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术。凭借着独特的块-链结构,区块链建立在不可信的竞争环境中低成本建立了信任。详言之,区块链以区块为单位存储数据,区块之间按照时间顺序、结合密码学算法构成链式数据结构;相关记录节点通过共识机制决定最新区块的数据,其他节点共同参与最新区块数据的验证、存储和维护,数据一经确认,就难以删除和更改,只能进行授权查询操作。正因为区块链保证了数据的高度可信,区块链有望在互联网之上搭建新一代的通用底层架构,并令智能合约应用真正成为可能。2013年,俄罗斯天才少年维塔利克·布特林发布《以太坊:下一代智能合约和去中心化应用平台》白皮书,首次提出使用一种图灵完备的编程语言,在名为“以太坊”的公共区块链平台上创设合约,以实现任意状态的转换功能。〔6 〕自2014年以太坊上线至今,它已经成为最成功的区块链应用平台之一,而智能合约也被称为区块链2.0的重要代表。故此,除特别说明外,笔者所讨论的“智能合约”仅限于“区块链智能合约”,即“存储在区块链上,被区块链交易所触发,并在区块链数据中被读写的计算机程序”。〔7 〕较诸计算机智能合约,区块链智能合约更加强调各个节点的共识机制,而不再仰赖第三方权威的介入。

(二)智能合约的形式与功能

1.智能合约的基本架构

静态观察一个智能合约,可以将其拆分为如下部分:(1)合约参与者;(2)合约资产集合;(3)自动状态机,即智能合约下一步执行的关键,包括当前资源状态判断和下一步合约事务(交易)执行选择等;(4)合约事务(交易)集合:参与者的行为集合,控制着合约资产并对收到的外部信息进行反馈。〔8 〕而动态地看,智能合约包含了创建和执行两个前后相接的过程。

智能合约一般使用Solidity、Serpent、LLL等高级编程语言创建,其以人类的日常语言为基础,易于编程初学者理解掌握。相关代码一般包括了状态变量、函数、函数修改器、事件、结构类型和枚举类型等多个要素。另外,智能合约也支持引入其他合约和继承条款。〔9 〕智能合约往往是多个模块的组合,而一个基本模块均体现出“if…then…else”(如果……则……否则)的逻辑结构。以自动贩卖机为例,它的代码形式是:如果收到的付款(P)和货品(I)都是有效可用的,则:(1)如果P=I的价格,则发放I;(2)如果P>I的价格,则发放I并找零;如果P

在以太坊的平台上,只要将编写完成的程序代码保存在区块链上,然后发送信息调用函数,即可在每个验证节点的虚拟机执行这一智能合约,从而发挥四大功能:存储和维护数据;管理无信任关系用户之间的关系;作为软件库为其他合约提供函数;支持复杂的用户权限管理。在实际运行中,智能合约会定期检查自动状态机状态,逐条遍历合约内包含的状态机、事务(交易)以及触发条件;将条件满足的事务(交易)推送到待验证的队列中,等待共识。接着,相关事务(交易)会扩散到每个验证节点,由其进行签名验证,确保事务(交易)的有效性,待验证节点根据规则达成共识后,事务(交易)将成功执行,并引发合约资产的变化,同时通知合约参与者。最后,自动状态机判断所属合约的状态,若合约内所有事务(交易)都顺序执行,便将合约状态标记为完成,从最新的区块中移除该合约。

2.智能合约的应用

基于上述架构,智能合约不但可以实现尼克·萨博早年设想的汽车或房屋租赁场景,〔10 〕而且能满足供应链管理、房产抵押、遗嘱继承、代币发行、供应链管理的需求,事实上,考虑区块链和无形资产,特别是金融资产的相容性,从股票、私募股权、众筹、债券、对冲基金、保险、养老金到期货、期权、违约掉期等金融衍生品,几乎所有的金融交易都可以通过智能合约完成。〔11 〕智能合约甚至还能被运用到慈善事业。2016年,蚂蚁金服公司首次推出“让听障儿童重获新声”的区块链公益项目。之后,它和中华社会救助基金会进一步合作,运用区块链技术追踪筹款,建立资金流公示系统,为公益机构进行数据统计、项目执行跟踪提供便利。为了展现智能合约的价值,我们不妨再来看一个真实的案例。2015年10月,Visa与数字交易管理公司DocuSign联合推出概念证明项目,使用区块链技术记录、保管租车数据,推动汽车租赁过程的数字化。该项目在区块链上为客户创建数字指纹,在链上进行登记,通过智能合约执行交易,简化传统汽车租赁过程中的繁琐步骤。〔12 〕详言之,在用户支付押金后,车辆自动解锁,车载传感器自动记录车辆位置、速度、里程和可能发生的事故,并在超出允许区域时发出警报,同时在合适的时机远程关闭服务。用户可以随时查阅上述信息,在达到目的地后,智能合约将扣除相关费用并再次锁定车辆。

时至今日,智能合约的形式和功能日益多样。既有的经验研究表明:〔13 〕商业实践中,近半数智能合约用于资产转让,租赁、借款、保险、博彩亦不少见;从时间维度观察,绝大多数的智能合约都是短期的;从当事人维度观察,几乎所有的智能合约都是面向消费者的、条款已拟定、不允许协商变更的格式合同,并且,当事人间不存在固有的信任关系;从效力来看,大部分的智能合约都是由特定事由所触发的附条件安排,具有直接的约束力。还必须指出的是,智能合约并不像人们之前所想象的不可解除,相反,有60%的智能合约是可解除的“弱智能合约”,而只有40%的智能合约是严格的“强智能合约”。智能合约的解除可以通过“自毁”指令来实现,合约地址上尚余的资产将被发生到指定的目标,存储和代码将在区块链上删除。〔14 〕

(三)智能合约的法律挑战

1.智能合约的法律意蕴

智能合约并非技术极客的专属,事实上,它已进入法律的视野。美国佛罗里达州、内布拉斯加州、俄亥俄州、佛蒙特州、亚利桑那州、田纳西州及纽约均通过了认可智能合约效力的法律。〔15 〕根据相关规定,智能合约是指事件驱动的计算机代码,它在电子的、分布式的、共享的和可复制的分布式账本(区块链)上執行,并用于如下自动化交易:(1)保管并指示转移该账本上的资产;(2)创建和分发数字资产;(3)同步信息;(4)管理身份和用户对程序的访问。〔16 〕从这一概念出发,智能合约展现出丰富的法律意义。

一方面,智能合约有着通过代码实现的规范性。首先,图灵完备的特征赋予智能合约执行任何可计算问题的能力,足以适应参差多样的事务和交易。〔17 〕其次,智能合约以人工语言——计算机代码为基础,最大程度消除了自然语言的歧义,并经由严密的逻辑结构加以呈现。最后,智能合约关乎真实的资产和人的行为,可其要义并不在于描述和反映既有世界,而在于向世界提出某种要求和期待,在语义意义上,它是规范性的。〔18 〕不仅如此,由于智能合约的内容及其执行过程对所有节点均透明可见,后者能够通过用户界面去观察、记录、验证合约状态,同时凭借着为每个区块盖下不可篡改的时间证明戳,令智能合约生出“作茧自缚”的强制力,使人的行为丧失任意性,因而在实践层面上,它也是规范性的。〔19 〕

另一方面,智能合约有着独立于第三方权威的自治性。〔20 〕智能合约所解决的首要问题是如何在缺乏信任的环境中达成交易,为此,它发展出了一种新的信任机制——对智能合约本身的信任。这种信任建立在如下基础之上:其一,去中心化的共识。在中心化的体系中,智能合约没有意义,因为保存在中心化系统中的合约可以被系统所有者随时修改甚至删除,而要使之有效,就必须依赖于大量参与者点对点的共识机制。〔21 〕其二,自足的架构设计。合约资产集合与事务(交易)集合都嵌入在智能合约之内,后者能够自主配置资产并诱发特定事务(交易)。因此,合约一旦启动就自动运行,而不需要它的发起者或第三方加以干预。其三,自我执行的自强制性。在给定的事实输入下,智能合约必然输出正确的结果,并且其输出的结果能够在显示视界中被具象化。这意味着在通常状态下,智能合约将自动执行预定计划,而在例外的违约状态下,相关责任是即时的、充分的和强制性的,使得违约不经济甚至不可能,从而大幅减弱了对第三方介入的依赖。

2.智能合约的决策十字阵

智能合约的特质给传统合同法提出了挑战:“通过代码实现的规范性”是否意味着智能合约具有法律上的规范性?“独立于第三方权威的自治性”是否意味着智能合约不再需要国家权威?从更宏观的视野看,上述疑问可以进一步拓展为“代码与法律”和“自治与管制”的复杂纠葛。其中,“代码”指向未来,“法律”代表傳统;“自治”出于个体的基本需求,“管制”来自国家的公共意志。这种既追溯过往,又面向未来,既关注由下而上的权利,又回应由上而下权力的架构构成了纵横交错的“决策十字阵”。〔22 〕我们必须在前、后、上、下的多维视角下,在多种价值冲突中,观察、反思、取舍,以回应智能合约的挑战。

二、代码与法律:智能合约的法律效力

(一)智能合约是法律上的合同吗?

1.智能合约的法律定性之争

当前,对于智能合约的法律性质存在三种不同认定:自助行为、计算机程序与合同。〔23 〕其中,基于将事后“自我执行”视为智能合约本质属性的认识,人们主张智能合约即一种“自助行为”。Max Raskin教授以债权人通过智能合约远程控制汽车为例,说明其类似于美国《统一商法典》第9-606条项下“违约后担保权人取得占有的权利”。〔24 〕而智能合约系“计算器程序”的观点,既来自技术论者,也来自传统的法学者。前者认为智能合约毋宁是“计算机协议”(protocols),其本质是一系列自动执行的算法,以决定何种数据能够被写入区块链,以及何种行动可以被事件所触发。后者认为智能合约中的计算机代码具有专业性,在一般人无法理解代码含义时,无从认定代码是当事人真实意思的表达,因此智能合约并非真正的合同,将之理解为合同的电子执行程序,更符合事实。〔25 〕最后,有人直截了当地认为智能合约旨在约定当事人的权利义务,故属于法律上的“合同”无疑,否则,将无从解释广泛存在的、通过智能合约的比特币交易行为。〔26 〕面对三种针锋相对的立场,我们有必要从归本溯源,依循合同法规则与原理加以判断。

2.智能合约的法解释论

合同是形式与内容的统一体,对智能合约法律性质的认定亦应一体两面地展开。〔27 〕

自近代已降,合同法普遍以合同形式自由为原则,不论是口头还是书面,甚至是可推知其意愿的特定行为,均无不可。其中,我国《合同法》第11条将“书面形式”界定为“合同书、信件和数据电文(包括电报、传真、电子数据交换和电子邮件)等有形地表现所载内容的形式”。另据我国《电子签名法》,但凡“能够有形地表现所载内容,并可以随时调取查用的数据电文,视为符合法律、法规要求”。因此,智能合约当然地属于数据电文,并与“电子数据交换”(EDI)十分类似。根据国际标准化组织(ISO)的界定,EDI是“将商业或行政事务处理按照一个共认的标准,形成结构化的事务处理或信息数据格式,从计算机到计算机的电子传输方法”。尽管在传统上,EDI并不包括区块链及智能合约,但根据联合国国家贸易法委员会(UNCITRAL)《电子商务示范法》第2条(b)项,使用某种商定标准来处理信息结构的计算机数据传输方式可以被宽泛认为是EDI,由此得以将智能合约囊括其中。更重要的是,EDI的技术结构与智能合约异曲而同工。质言之,EDI使用代码将相关事务(交易)转化为一组机器可读的数据元素,然后,将这些数据放置在“事务集信封”(消息信封)“组信封”和“交互信封”之中,由发送方传送至接收方,最后通过既定标准的语义、数据字典解译上述数据。〔28 〕这与智能行业的数据传输方式十分类似。

徒然具有书面形式并不能使一个合同成立,关键还在于内容,即当事人就合同必备条款意思表示一致。依《最高人民法院关于适用〈中华人民共和国合同法〉若干问题的解释(二)》第1条第1款,智能合约如欲被视为合同,则当事人名称或姓名、标的和数量条款属于不可欠缺的内容。其中,标的和数据条款不难实现,难点在于“当事人的身份”。在区块链原初设计下,由于无须可信的中间人验证,区块链本身不需要提供任何个人信息,同时在交易中,身份识别验证与交易层是相互独立的,〔29 〕这种匿名性特征令当事人真实身份难以识别。不过,匿名化的架构是可以改变的。出于监管和审计的溯源和可追踪性,智能合约在金融、保险等交易中可以披露用户信息,从而解决用户身份到区块链地址的关联关系。2017年,美国全国统一州法委员会通过《统一虚拟货币经营监管法》,明确要求区块链虚拟货币经营者必须遵循“了解你的客户”(KYK)之义务,基于可信身份的可信安全交互由此成为区块链的基础架构。

另一方面,当事人合意是合同成立的核心。与通过要约、承诺订立合同不同,智能合约系经由“数据电文”而缔结。〔30 〕由此而产生的问题是:数据电文能否体现当事人的意思表示?对于智能合约的编写者(writer),该问题显而易见。不论他们采用何种编程语言,其所做的无外乎将其主观意图转换为向计算机发出的运作指令,并在事件的驱动下,实现特定结果,这与“将获得一定法律效果表达于外”的意思表示概念相吻合。事实上,数据电文仅改变了传统的表示行为,并未颠覆意思表示本身。正因如此,联合国国际贸易法委员会在《电子商务示范法》中指出,数据电文只要能满足可以调取和可备查用的要求,便可视为有效。〔31 〕但是,对于编写者之外的当事人,答案却并非不言自明。

就企业与企业(B2B)之间的智能合约来说,当事人往往有着线下的沟通和磋商,甚至签署了自然语言的法律文本,智能合约只是作为交易的一环被嵌入复杂的商业计划之中。此时,各方当事人的意思表示已通过传统合同和智能合约充分反映,并且凭借两者的彼此补充和相互联系,这一混合形态充分发挥了各自的优势,共同记录了当事人的缔约意图。〔32 〕相反,在企业与消费者(B2C)的场合,智能合约多为一方当事人事先编写,相对人只得全盘接受或拒绝。与格式合同类似,此时相对方在实质上并无独立的意思,其意思仅限于“附和”与否,合同成立的关键便落在了“相对方同意”之上。故而,格式合同采取“签字同意”规则,即在不存在欺诈、胁迫的情形下,某人应受其已签字文件之拘束,而不论他是否阅读或是根本不予过问。〔33 〕这是因为,按照自负其责的法理,相对人在签字时应当注意、了解合同内容,若未能做到,是其对权利的漠视或放弃,便不值得特别保护。不过,“签字同意规则”并不能无缝应用于智能合约。这是因为,与相对方可以理解却不予理解的格式合同迥异,智能合约系用编程语言书写,即使相对人有意阅读,也有心无力。面对这一“可理解性”难题,“签字同意规则”应修改为“知情同意规则”,这意味着智能合约编写者负有解释说明义务。详言之,针对智能合约中关乎相对方重大权利和义务的核心内容,编写者应以清楚、明白的自然语言,完整、准确、充分地告知相对方,同时,编写者应提供咨询渠道,及时回应相对方的疑问,并按其要求就相关内容予以说明。最后需要指出的是,为避免过分削弱智能合约的便捷优势,对于当事人可以合理预见且与交易惯例相一致的内容,编写者得豁免上述义务。

3.作为新型合同的智能合约

首先可以明确,智能合约不属于我国法下的自助行为。正在起草中的《民法典·侵权责任编》草案二审稿首次引入了“自助行为”制度,即在合法权益受到侵害,情况紧迫且不能及时获得国家机关保护的情形下,受害人可以在必要范围内采取扣留侵权人的财物等合理措施。据此,自助行为以“情勢紧迫”为前提,其合理性在于若不及时保护,权利人的请求权可能无法实现或实现难度异乎寻常。〔34 〕以此观之,区块链系事前约定的合同履行方式,而非在紧迫情况下不得不采取的事后救济手段。更重要的是,自助行为的界定将智能合约降低到事实行为的层次,抽空了当事人的意思表示,而这也是将智能合约等同于计算机程序的谬误所在。正如国际掉期与衍生工具协会在《区块链与智能合约白皮书》中所指出的,我们必须将“自动化执行任务的计算机代码”与“智能合约”区分开来,后者具有前者所无的对价及合同意图。因而,每个智能合约都可以说包含了一个或多个智能合约代码,但不是每一段智能合约代码都构成智能合约。〔35 〕

不唯如是,上述观点还割裂了代码与法律的互动联系。恰如莱斯格所言:“代码是法律”。在网络空间中,代码设定了人们交往架构,并控制着人们行为选择的可能性。〔36 〕这种社会学意义上的实然有效性和当事人的自由合意相结合,产生了智能合约在伦理上的有效性,并最终获得了法教义学上的应然效力。〔37 〕对智能合约的法律认可,绝非放弃法律规制。恰恰相反,是为了更好的规制,因为“法律也是代码”。随着动态的新计算机法学的发展,立法者越发倾向于更接近技术规则的方式起草法律,一种新的法律思维方式和监管方式开始浮现。在此意义上而言,智能合约已成为代码和法律转化的枢纽。〔38 〕

(二)智能合约是更好的合同吗?

1.智能合约的优势

降低交易成本是智能合约的首要承诺。较诸传统合同,智能合约是去中介化的,这首先意味着从交易的记录保存到审计,从监督到执行均不再需要可信的中间人予以验证;其次,由于合约交割是自动履行的、远程的且无时间延迟,复杂的交易流程被大幅简化;最后,因为无需政府审查,合同准备、起草、签署和后续管理的法律服务费用不复存在。〔39 〕可是,甘瓜苦蒂,物无全美。智能合约难以变更的特性,也会产生额外的风险和其他潜在成本。为了全面评估智能合约的效率,这里有必要从准备交易成本(搜寻和信息成本)、达成交易成本(谈判和决策成本)以及执行交易成本(监督和履行成本)三方面逐一展开。〔40 〕

与传统合同相比,智能合约透明和不可篡改的特性,使其订立不依赖于对特定交易对手的了解和信任,同时,由于不再需要一个中心化的技术或组织(如复式薄记账本或版权注册机构)来验证交易标的的真实性,为交易准备而支出的信息成本得以大幅减少。在交易执行环节,智能合约的自足性和自我执行特性,强制各方严格遵守原始合同,消除了违约的可能性,避免了当事人一方监督另一方的资源投入和高额诉讼费用。特别是,考虑到区块链公开透明特质,智能合约的内容对所有节点皆清晰可见。这种分布式记载和查询的方式,与物权法下“标记”的分散型公示类似,〔41 〕均具有公之于众的效果。而正如人们发现的,在第三方知晓或按照外观能合理推断知晓某种合同权利存在的情形下,便负有尊重该权利的义务。〔42 〕智能合约的权利人由此超出合同相对性保护的藩篱,得以向合同外的第三方主张不得侵害债权。用经典的“卡-梅框架”来表达,意味着智能合约的保障从“赔偿规则”转化为“财产规则”,〔43 〕从而进一步降低了权利实现的成本。

2.智能合约的代价

然而,智能合约并非没有代价。为了维持智能合约的刚性,它必须将事后可能出现的事件和所有的合同状态,用精确的代码巨细靡遗地定义。〔44 〕但是由于人的有限理性,当事人不可能预见到一切或然情势,且就能够预见的部分,在缔结期限和谈判成本制约之下,也难以在智能合约中一一规定,即便已经规定,在很多场合下,亦需要作进一步的责任归因。以不可抗力中的“罢工”为例,智能合约首先要将其作为不可抗力事由列入,在罢工发生之后,智能合约还要能作出是否存在债务人过错的判断,即该等罢工是否因债务人不必要或不合理的行为所引发,这是更艰巨的任务。放宽视野来看,正如哥德尔定理所洞见的,一个复杂系统的“无矛盾性”和“完备性”不可兼得。面对这一两难境地,以逻辑自洽的人工语言为基础的智能合约必然选择前者,而舍弃后者。正因如此,智能合约固然解决了自然语言表述的多义性和向权威第三方证明的难题,但却永远不可能成为一个真正的“完备合同”。〔45 〕追根溯源,恰恰是智能合约的刚性使其丧失了必要的“适应性”。威廉姆森早已指出:对于一个长期合同安排,只有依靠一系列自适应的、连续性决策程序,才能实现跨期效率。〔46 〕

区别于智能合同,在不确定的履行环境下,传统合同可以诉诸贸易惯例或商业习惯,也可以通过不确定的法律概念(如“尽最大努力”“重大变化”)、事后调整机制(如“情势变更”“不可抗力”),以及基于诚信原则的先合同义务、附随义务和后合同义务,在保障当事人合同目的圆满实现、促进当事人精诚合作的同时,降低达成交易的成本。传统合同这种灵活性一方面来自于商业实践的契合度,另一方面与合同法的功能必不可分。须知,合同法绝非为事前监管(这是智能合约所关注的)而存在,而是为事后判决所设计。

总之,智能合约在交易准备和执行成本上优于传统合同,但有着更高的交易达成成本。以此观之,智能合约更适用于买卖、赠与、承揽等一次给付的合同,以及短期的租赁、消费借贷合同,而不太适合合伙、雇佣、委托等随着合同存续、相机变化的长期关系型合同。

三、自治与管制:智能合约的国家立场

(一)智能合约与国家:悖离抑或共生?

1.“没有国家”的智能合约

如果说建立在市民社会/政治国家两分之上的经典“自治性民法”是“没有国家的民法”的话,〔47 〕那么智能合约拥护者就更为绝对地贯彻了“私法自治”与“契约自由”的理念。在他们看来,政府组织“反应迟缓、滥用权力、腐败、缺乏创新”,这一中心化的权威之所以成为社会主要组织模式,仅仅是因为过往没有更好的选择,而区块链以及建立其上的智能合约开启了权力下放的新时代。在人类历史上,这是第一次通过点对点的验证机制在陌生人之间达成共识与协调。人们设想,在完全由区块链规则处理的世界里,权力不是由任意单一实体所拥有,信息对所有节点敞开,交易的可责性和智能合约的自我执行令个体分散式的自治成为可能。〔48 〕总之,这是一个摆脱国家权力和政府管制的美丽新世界。

不过,这种将智能合约和国家相对立的观点,既高估了智能合约,也小觑了国家的建构性角色。就前者而言,智能合约远非完美,它和其他软件代码一样,存在误差和安全漏洞。正如DAO事件所显示的,以太坊的智能合约亦非坚若磐石。更不用说,从向恐怖组织转移资金或贩卖儿童,从庞氏骗局到洗钱,智能合约还能被滥用于明显违背人类基本价值的活动中。〔49 〕就后者而言,在分化多元和高度复杂的现代社会中,个人的权利和自由在根本上依赖于有力的政府行为,所谓的私人领域都是由国家权力所创造和维持。在此意义上,政府管制并非智能合同的“异己”力量,而本身就是智能合同有效性的一部分。基于此,笔者不讨论智能合约的外部问题(如合同违法)或技术问题(如黑客攻击),而是聚焦于智能合约本身,透过内在视角,观察和分析国家对智能合约的塑造作用。

2.“并非自足”的智能合约

智能合约并非遗世孤立的虚拟系统,为了让自动状态机作出相关条件是否触发,以及是否执行相关事务(交易)的判断,它不得不与链下世界通信。但由于区块链的封闭性,任何链下世界的信息必须被转化为一系列“解锁脚本”,才能被自动状态机接受。由此,一种被称为“预言机”的实体出现了,其职责是在区块链和链下世界之间建立可信任的网关,验证链下事务(交易)的真伪,并签发私钥。〔50 〕目前,按照信息来源,预言机可分为三种:一是“自动化预言机”,包括但不限于:物联网上的传感器、工业互联网上的输入/输出装置、权威信息服务提供者(如天气数据、航班数据、证券市场数据的提供者);二是“可信第三方预言机”,如当递送货物的快递员在货物送到指定地址后发出的通知;三是“专业预言机”,例如,在国际贸易中评估货物质量的调查员、评估师、会计师、认证代理人,等等。〔51 〕毫无疑问,凭借预言机,智能合约才得以及时应对瞬息万变的外部世界,在既定规则的范围内,灵活处理各项事务,并最大限度地拓展自我执行的灵活度。但遗憾的是,上述预言机与区块链并不相容——它们都是“中心化”的。人们一直尝试着将共识机制运用预言机机制中,即只有多个预言机达成一致的结果,才能被智能合约接受。不过,这一设想不但需要统一所有的信息标准,而且,它本质上是费用高昂和低效的。正因如此,至今尚无普遍适用的去中心化预言机方案。〔52 〕

预言机的存在刺破了智能合约自给自足的幻象。一方面,智能合约不再能被无保留地信任。尽管在智能合约中,信息最终由各个节点作出独立验证,但这并不能解决在相关信息写入区块链之时的单一信源和虚假信息问题,更不能消除链下的操作风险。另一方面,就预言机而言,其或者本身就是政府公共服务的一部分(如天气数据),或者由政府提供了“最终信任”:对于“可信第三方预言机”,国家通过事后的法定责任追究来监督其诚信,对于“专业预言机”,国家则通过事前的准入职业制度,就其学识、技术和能力予以鉴定和证明。更重要的是,与负责信息输入的预言机相反,智能合约同样需要信息的输出,从而改变链下财产的法律状态。不论是电子化的票据、证券、股权等金融资产,还是著作权、专利、商标等知识产权,抑或其他可联网的实物资产,智能合约所能处理的不过是它们映射到链上的数据信息。而这些数据交易并不能取代现实世界中的权利行使,后者仍需要中央证券登记结算公司、房产登记机构、工商部门、人民银行等国家机关的介入,这让自我执行的构想大打折扣。显然,在从区块链到链下世界的“最后一公里”中,国家不可或缺。

3.“难以共识”的智能合约

分布式共识是智能合约自治的根基:每个节点均参与了治理,从而实现了“自治”。但在特定情形下,这种共识并不牢固,DAO事件就是典型例证。作为一个由自智能合约所改造的线上众筹组织,DAO在其白皮书中宣称:“The DAO的智能合约治理着DAO代币的生成行为,其效力超过以前、现在及将来所有的与The DAO项目相关的第三方或个体作出的任何公开声明。” 〔53 〕然而,这种以智能合约为唯一准绳的机制很快遭遇了危机。2016年,黑客利用智能合约的漏洞,转移价值高达5500万美元的以太币。针对该事件,有人主张接受现实,以维持智能合约的效力,但更多人主张强制回溯到黑客攻击之前的状态。由于最终无法达成共识,DAO被迫一分为二:以太坊(ETH)和经典以太坊(ETC)。可这不止会引发“重放攻击”问题,更严重的是,它动摇人们对智能合约信任。正如评论者所言,这一分叉完成了两件本应是不可能完成的事情:一是重写智能合约的交易历史;二是引入人为干预来否定自动执行智能合约的后果。〔54 〕

共识机制的缺陷不止于此。以广泛适用的工作量证明机制为例,截至2018年8月,四个“矿池”控制了比特币55%的算力;同样,在采取权益证明机制的以太坊中,五个“矿池”控制率也超过了大约80%。〔55 〕这种日趋中心化的结构,可能从根本上颠覆共识的逻辑,即占主导地位的节点致少数人利益而不顾,变更智能合约的规则。当智能合约内部治理失灵之时,国家便应当适时出场。

4.“错误执行”的智能合约

“自我执行”是智能合约的终极目的,但问题是并非所有的合同都应当被执行。其中,首当其冲的就是“自始不应执行的合同”,这既包括无效合同,也包括因相对人欺诈、胁迫、乘人之危或当事人重大误解而达成的合同,还包括如前所述,智能合约编写者未履行说明解释义务的合同。容易理解,在智能合约缔结时,这些异常情势不太可能约定在合同之中,即便约定,也难以安排针对性的解决方案。实践中,当事人只能诉诸“自毁”指令,以恢复原状。可该等“非黑即白”的救济方式未必符合当事人的预期。事实上,合同无效或撤销之后,應允许当事人在“全然有效”与“全然无效”之间选择更多元的法律效果,如部分无效、一方无效、向后无效、相对无效、得补正、得转换,从而兼顾各方利益。〔56 〕与“自始不应执行的合同”相对应的是“嗣后不应执行的合同”,其不仅包括发生情势变更、不可抗力的合同,也包括存在“效率违约”的合同。所谓“效率违约”,即在合同履行过程中,某种意外情形致使一方当事人因不履约而节省的成本超出了相对人因履约而获得的利益,在此情形下,应允许其违约并让其向相对人提供不低于预期利益的赔偿。同时,为了避免当事人的机会主义行为,“嗣后不应执行的合同”不应由其自行认定,而应由独立的第三方裁决。〔57 〕

契約自由并非绝对。“在某种意义上,一部契约自由的历史,是契约如何受到限制,经由醇化,而促进实践契约正义的记录。” 〔58 〕职是之故,智能合约对契约自由的追求必须受到契约正义的平衡。在《欧洲示范民法典草案》中,契约正义意味着国家不允许当事人依赖其非法、不诚实的行为;不允许其不当利用他人的弱点、不幸或好意;当事人的要求不得过分;并对处于弱势的当事人提供保护。〔59 〕此即国家的意义所在。

(二)国家在智能合约中的三种角色 〔60 〕

1.强化智能合约理性的国家

“强化智能合约理性的国家”以提升其效率、完善其机能为目的,因而国家首先应致力于降低智能合约过高的缔结成本。智能合约注定是不完备的合同,而将不完备合同转化为完备合同的重要工具就是“任意性法律规定”。〔61 〕任意性规定并不只考虑一方的权利,而是同时考虑各方当事人的公平利益。倘若当事人事先协商,他们也会作出同样的决定。因此,正是这些规则弥补了当事人思虑之不足,降低了智能合约的编写成本,并减少了当事人在大量琐细之事上的谈判成本。同时,为了将任意性规定与智能合约融通,国家有必要运用法律本体论的技术,将法律按规范框架、行为框架和概念描述框架的类别予以代码化,便于智能合约调用。〔62 〕在某种程度上,这是法律条款和计算机代码相互配对的“李嘉图式合约”的当代版本。〔63 〕此外,针对预言机的可靠性问题,国家可从如下层面着手:其一,作为处于数据和信息节点的要冲,政府掌握庞大、完整、准确的信息,其应尽快构建统一规范、互联互通的政府数据开放体系,通过“开放数据平台”向智能合约提供便捷、安全的“应用程序接口”(API);其二,国家应制定预言机的技术标准和行业认证体系,促进良性发展;其三,国家可以推动可信第三方预言机和专业预言机在线提供信息,最终建立可审计的、交叉互证的去中心化预言机制度。

2.纠正智能合约偏差的国家

“纠正智能合约偏差的国家”旨在从程序控制的角度对智能合约的漏洞加以补救。一方面,面对智能合约的共识缺陷,区块链的制度设计应从以技术为基础的“机器共识”向以人为基础的“共识治理”转变。鉴于公共区块链的公众性,国家应当适时出台相应治理指引,确立公平、透明、权责相符、义责相当的治理原则,制定合理有序的议事规则,在相互冲突的利益或意见之间调和折衷,进而在尊重各利益攸关者的基础上达成共识,最后,再经由内置程序回归到链上共识。另一方面,面对智能合约的执行缺陷,国家既不应率然干预,以免摧毁其自我执行的关键优势;又不可放任不管,让智能合约沦为法外之地。因此,当务之急是在区块链生态之内发展主动回应之策,〔64 〕这里姑且称之为“在链争议解决机制”。在这一机制中,“专业预言机”充任了独立的仲裁者。若一方当事人主张错误执行,则其可以将该诉求提交给仲裁者。作为区块链上的节点之一,仲裁者能够获得完整和准确的合同信息;作为市场上的反复博弈者,他又被潜在的声誉效用所激励。这决定了仲裁者不但有能力、而且有意愿作出公正裁决。一旦其作出终止或撤销交易的认定,就可以将签发私钥,开启智能合约的救济程序。

3.保护智能合约弱者的国家

与前述两种类型下国家面貌隐而不彰相反,“保护智能合约弱者的国家”鲜明地站在了消费者一方。这是因为,智能合约本质上是平等主义的,其架构没有对消费者提供特别的保护。〔65 〕可是现实是,绝大多数消费者都不能具备编写,甚至阅读智能合约的能力,智能合约在业已失衡的B2C天平上,给企业增加了额外的砝码。故此,国家应基于契约正义的理念对企业苛加义务(如对智能合约内容的解释说明义务),并赋予消费者以特别权利(如七天之内的撤回权)。为此,监管机构或司法机构可以作为“超级节点”分别加入智能合约之中:前者不但利用数据获得的实时性和不可篡改性,化解信息不对称和执法证据不易收集、留存的难题,而且可以通过事前的条款设计,实现其规制目的;后者则可以从罗尔斯的“分配正义”,而非私法上的“矫正正义”出发,对智能合约作出实质裁决。事实上,这一技术已经出现。美国专利商标局在2018年10月4日公布的文件显示,阿里巴巴公司提交了一项创新的区块链系统专利申请。该系统允许政府作为第三方管理员加入区块链中,以获取智能合约数据,同时,它还能向区块链网络发布“特殊处理指令”,当网络中的其他节点在确定指令为合法发布后,即调用法律预先设定的监管智能合约执行操作。

结  语

作为一种新型的合同形态,当今的智能合约并不“智能”,甚至还有些笨拙。它存在漏洞,不易编写,难以适应长期性和关系型的契约,也无法应付复杂多变的商业环境。可就在它已经或者即将大展身手的领域,智能合约也展现出惊人的潜力,并引发了意料之外的风险。面对智能合约的挑战,我们亟待以分布式共治为基础,促进国家与市场、法律与代码的相辅相成。其中,国家应遵循智能合约的逻辑,在不损害其根本价值的前提下补过拾遗、兴利除弊;行业应努力就智能合约的基本问题达成共识,竖立市场标准;法律应承认智能合约的合同地位,并提供救济之道;计算机专家应致力于法律和代码的相互转化,并持续完善区块链治理。追根溯源,不论“代码与法律”,还是“自治与管制”,均不是非此即彼的选择,而是或此或彼的权衡。而在这个瞬息万变的数字时代,科技的发展自有生命,如何让法律与科技同步演进是立法者的重要任务。放眼未来,智能合约正处在从自动化向智能化,从If-then的处理向What-If的决策转变的关口,我们期待着它给世界和法律带来更伟大的变革。

Abstract: The smart contracts in the modern sense are event-driven computer codes based on the Blockchain for automated transactions. As a new form of transactions, the application of smart contracts is becoming more widespread, at the same time the real risks brought about by smart contracts are increasing. The “normativity through codes” and “autonomy without third-party authority” unique to smart contracts also challenge traditional laws. From the “code and law” and “autonomy and regulation” - two cross-cutting perspectives, it is argued that the state should recognize the legal effect of smart contracts and respect its autonomy structure, while the short falls of smart contracts are also fully explored compared to legal contracts. Therefore, we should strengthen the rationality of smart contracts, correct its bias, and protect the weak party in the contractual relationship, so as to promote the state and market, the law and the code to ultimately work together.

Key words: smart contract, decisional cross, blockchain, code

猜你喜欢

智能合约代码区块链
区块链技术在互联网保险行业的应用探讨
神秘的代码
智能合约的特点及其在债券市场的应用
区块链技术的应用价值分析
“区块链”的苟且、诗和远方
基于区块链技术的数字货币与传统货币辨析
区块链技术在会计中的应用展望
一周机构净增(减)仓股前20名
重要股东二级市场增、减持明细
智能合约与金融合约