郭少飞
内容摘要:智能合约以区块链为底层技术,具有去中心化、去信任、不可篡改、自动履行等特性。区块链智能合约包括代码层、文本层、底层规则及其控制的智能财产,呈现技术、法律两个方面。前者是区块链智能合约代码,后者系代码承载之法律关系,按属性分为公法类、私法类;私法类依内容分为合同型、实体型,合同型系主要法律形式。区块链智能合约蕴含当事人一致之意思表示或要约承诺,可基于合约结构或综合并列的传统合同,经解释确定,符合传统民法合同标准,应纳入合同法框架。为检视其合同法适用性,可深入探析效力、修改与履行、违约及救济等。效力应依法认定,重在主体行为能力、第三人欺诈胁迫、单方错误、合约机制不完备等效力瑕疵事由。修改应严格受限,以维护合约特性;匿名合约不得修改,除非相对方纯获利益。合约自动履行是全面实际履行,可编码支持实质履行、部分履行。为降低违约纠纷解决成本,合约事先置备自动执行机制,但措施合法性存疑;最终仍须寻求公力救济,核心在于合约代码内容的证明方式及可采性。
关键词:区块链 智能合约 代码 法律合同 合同法
中国分类号:D913 文献标识码:A 文章编号:1674-4039-(2019)03-0004-17
引 论
随着以比特币为代表的区块链技术兴起,智能合约开始应用于社会经济生活,至今方兴未艾,成为区块链2.0时代的典型。区块链及智能合约正在推动信息互联网转向价值互联网,开启共享经济新时代,引领全球技术及产业变革。2018年5月,工信部信息中心《2018年中国区块链产业白皮书》指出,我国区块链产业初步形成,未来三年将在实体经济中全面落地。区块链智能合约的广泛用途及广阔前景决定了法律必须正视之。此种以计算机语言构造、以代码形式存在的区块链智能合约,法律属性、地位结构如何,关乎当事人法律关系认定、纠纷解决机制选择、國家规制进路生成,意义颇为重大。但由于主体匿名性、合约技术性及自动履行特性、合约代码难以解释、当事人误认合约等诸多因素,区块链智能合约是否蕴含一致的意思表示或要约承诺,效力如何认定,能否修改,自动履行下当事人权利如何保护,自动执行措施是否合法,去中心化之下违约公力救济何以可能等一系列问题众说纷纭。归根结底,需要从法律角度适切分析区块链智能合约,首要在于廓清其概念结构、运行机制、功能属性等本体状况,进而厘定其合同属性,并在合同法框架下展开系统论述,尝试建构我国区块链智能合约合同法教义学体系。
智能合约内嵌于区块链,深受区块链影响,相较传统纸质合同、电子合同,功用独特,结构多元,具有技术与法律双重属性。区块链应用场景及技术体系存在差异,不同区块链上的智能合约结构性地位、内容完备度乃至具体法律意义分殊。
(一)嵌于区块链之智能合约
智能合约理论的首倡者尼克·萨博指出,智能合约是一套以数字形式定义的承诺,包括合约参与方可于其上执行这些承诺的协议。〔1 〕在萨博看来,智能合约以数字化形式存在,合约条款可编码,基于预设条件及触发机制自动履行,一旦履行,不可撤销。并以贩售机为例,说明智能合约机制。对该示例,学者观点分化。马克斯·拉斯金表示赞同,认为贩售机体现了智能合约自动履行特点,虽然需要人类输入(投币)。〔2 〕而亚历山大·萨韦早耶夫认为,贩售机仅能使一方自动履行,至少须另一方人为介入,如投币或插卡。只有双方皆可自动履行时,一种新的合同形态才算产生。〔3 〕争论的实质在于究竟何谓智能合约。最流行、最简单的定义是,智能合约是可自动履行的协议。实际上,厘定智能合约离不开对区块链技术的了解与把握。
区块链实为分布式共享账本技术(Distributed Ledger Technology, DLT)、点对点价值传输技术。区块链根基于P2P网络,网络各节点的计算机拥有相同的网络权利,可共享软件、资源或信息,不存在中心服务器。数据存储于区块之中,不同区块连接形成链式结构,并盖有时间戳,可验证追溯。各节点均可参与数据区块的验证,从而获得经济激励。同时,利用非对称加密算法,以公匙、私匙对数据进行加密解密,并且凭借共识算法及强大算力,各节点均存储一致的全网交易账本,保证数据不可伪造篡改。可见,区块链具有去中心化、全网共享账本、去信任、安全性高等特点。最初区块链仅用于数字货币如比特币的转账、记账,现在广泛应用于社会各领域,产生各种去中心化应用(Decentralized Application, DAPP)、去中心化自治组织(Decentralized Autonomous Organization, DAO)等,已然进入以智能合约为代表的区块链2.0时代。基于区块链技术,智能合约理念落地,区块链智能合约诞生。实际上,比特币区块链上的比特币交易是智能合约最简单的形式:一个签名和货币转移。〔4 〕
区块链重塑了智能合约,两者呈现交融共生关系,智能合约既是技术,也是基于技术而存在之当事人关系或承诺。在技术意义上,智能合约系区块链架构中的合约层,自身附着区块链的诸多特点。“智能合约是一段代码,存储于区块链,由区块链交易触发,并读取、写入区块链数据库中的数据。” 〔5 〕区块链智能合约层包括虚拟机、脚本代码等,通过灵活的开发语言、程序编码,可实现区块链应用场景的多样化。当事人的许多约定可代码化,资产可编程控制、智能化,并以智能合约的方式部署于区块链上。当约定状态发生,智能合约将自动履行或执行,主要表现为智能资产权利转移、物理控制,而无需中心化的执行机构或司法机关。智能合约作为“由事件驱动、具有状态、运行在可复制的共享区块链数据账本上的计算机程序,能够实现主动或被动的处理数据,接受、储存和发送价值,以及控制和管理各类链上智能资产等功能”。〔6 〕应用场景不限于商业交易,还包括监管执法、司法活动等国家活动,它把主体间的权利义务或权力责任关系以合约代码形式布置于区块链,利用区块链特质,实现特定目的。智能合约与其负载之当事人关系并非完整映射,当事人关系可由一个区块链智能合约体现,或需多个智能合约,甚至须与传统合同共同构造一个完整关系。在实践中,当事人常以DAPP为交易媒介,DAPP包含用户界面、各种加密货币等数字资产及多个智能合约,用户使用时需要同意并遵守相关应用规则。有时,以专门区块链智能合约记载当事人关系,当事人意思被编码写入智能合约。这些数据在全网广播,经各节点验证,记载于特定区块中。智能合约内置自动状态机,根据预设状态对智能合约状况作出判断。一旦达到相应状态,符合规定条件,发生有关事件,或处于特定情境之中,智能合约将被触发,自动履行或执行智能财产。而状态实乃当事人关系的具体化,是权利(权力)义务责任的代码形式。
(二)区块链智能合约的基本架构
区块链智能合约是合同发展的新阶段。就外部载体而言,合同可分为纸质合同、电子合同或数字合同等。纸质合同系前信息化时代之典范,电子合同则是信息技术的产物。两者除了形式不同,无实质差异。但随着信息技术、计算机技术发展,电子合同已被超越,产生了“数据导向合同”与“可计算合同”。在数据导向合同中,“当事人以预设的可由计算机系统处理的方式表达其协议条款或条件”。〔7 〕首要读者是机器而非人类。可计算合同使得计算机系统赋予数据导向合同一种能力,能够实施自动、初步的合约遵守或履行情况评估。呈现机器自治趋势,机器在合同谈判、缔结、履行、强制执行中逐步替代人。〔8 〕区块链智能合约系更高阶版本,只要达到既定状态或发生预设事件,即可自动履行及执行,无需人工介入,而上述合同类型尚有人类解释干涉余地,尤其是财产权利转移、价值传输依赖一方当事人。
虽多有不同,但区块链智能合约仍建基于其他合同:如纸质合同、电子合同,可为当事人阅读理解;如数据导向合同、可计算合同,可为计算机系统读取执行。故其架构兼顾人类与机器,在合约基本面构造双层结构,一是适合人类之合约文本层,二是适合机器之合约代码层。合约文本以人类自然语言呈现,可分为简明文本和完全文本,前者仅记载合约主要条款或规则,若需全面了解合约内容,可载入完全文本。合约代码以计算机语言编写而成,它不同于计算机程序,而是“计算机程序间的通信模式,常被描述为允许各方当事人精确且高效交换信息的方法、数据结构和算法”。〔9 〕合约代码是区块链智能合约的数据基础,记录合约条款或规则,并能够被计算机系统读取执行,区块链智能合约通过代码得以表达并存储于区块数据结构中。就合约文本与合约代码而言,两者存在对应、互补和独立关系。所谓对应,即合约文本反映说明合约代码及意义;互补则是合约文本不直接描述代码意义,注重向用户补充解释代码运行规则或说明代码不备事项;独立主要指不存在任何文本,仅以合约代码表达行为规则、当事人关系。许多合同条款能以可与机器交互之程序语言书写,〔10 〕但自然语言转为机器可读的代码,限制了能够轻易精确界定的主体和活动的范围,〔11 〕依然有众多条款或合同内容无法以机器语言描述。有人提出将法律条款嵌入合约文本,实现智能合约与法律合约配对。“法律条款包含计算机代码的密码哈希字符串,确保法律代码与相关智能合约的一一对应关系。同样的,智能合约文本也包括法律合约的密码哈希字符串。因此,两者必然存在联系。若智能合约出现问题,可以通过法律合约解决该问题。” 〔12 〕
此外,当事人利用第三方智能合约平台订立区块链智能合约,需遵循平台技术模式、业务逻辑、基本规则;亦有搭建自有智能合约平台或DAPP的,但交易相对方、平台内各成员或用户,仍受既有规则约束。确定上述当事人法律关系,必须参考区块链智能合约的基础规则,全面掌握影响当事人关系的行为程式,进而厘清其权利(权力)义务。可以说,区块链智能合约底层规则在广义上乃合约有机组成部分,可视为区块链智能合约的基础架构。区块链智能合约能够包含多少当事人承诺,受限于区块链底层技术应用支持功能。再者,区块链智能合约“通过数字方式控制现实世界中有价值的财产”。〔13 〕这些智能财产在更广泛意义上系区块链智能合约一部分,可能是价值流通手段、关系标的物或客体、执行监督对象等。如区块链智能租赁合约,作为租金的数字货币,承租的密码门锁房屋,系合约必要部分。如以智能合约监督企业排污,超标即自动关停设备,或予以行政处罚,自动从账户扣款。其中,设备系法律关系之事实基础部分。
总之,区块链智能合约架构与其范畴相关。若在狭义上把区块链智能合约界定为在区块链上以数字化形式存在、能够自动履行执行的当事人约定或承诺,则区块链智能合约架构限于本体,仅包括合约文本层与合约代码层。广义上,实现约定或承诺的技术路线、DAPP使用规则、平台运行规则等,影响智能合约当事人关系认定,系其基础架构。智能合约控制的智能财产,为更广义的区块链智能合约架构所包含。
(三)区块链智能合约技术与法律双重性
区块链智能合约既是技术,亦反映当事人权益的变动与调整,属于法律规制对象,具有技术与法律双重意义。严格来说,智能合约并非区块链的一种具体应用,也非具体技术,而是一种在区块链底层技术的基础上建构的应用支持功能。〔14 〕作为区块链的构成部分,智能合约不仅是嵌于区块之中的代码程序,而且“本身就是一个系统参与者,对接收到的信息进行回应,可以接收和储存价值,也可以向外发出信息和价值”。〔15 〕易言之,智能合约拥有信息接收及反馈机制,是价值存储与传输者。在此意义上,智能合约是一套技术装置,亦被称为“智能合约代码”,〔16 〕笔者称之为“区块链智能合约技术”,其使用范围广,场景多样,能够“应用于几乎任何随时间经过改变其状态的事务,并能使价值附加于自身”。〔17 〕
而不同区块链导致智能合约构造及特性差异显著。按设计体系及应用场景,区块链可分为公链(公有链)、联盟链和私链(专有链)。公链系开放式区块链,属完全分布式,全网各节点皆可自由参与网络,参加区块数据存储、读取、验证等共识过程,构成分布式数据庫,不存在任何中心化服务器或端点,完全去中心化。“联盟链的节点是事先选择好的,节点间通常有良好的网络连接等合作关系,区块链上的数据可以是公开的也可以是内部的,为部分意义上的分布式。” 〔18 〕链上有一个中心,决定共识机制、选择用户等,数据篡改风险相对较高。“可被有限参与者使用,旨在满足特定行业的需求。” 〔19 〕私链节点有限,数据读取权限严格限制,参与共识验证的权限归内部控制。“完全私有的区块链中写入权限仅在参与者受理,读取权限可以对外开放,也可以进行任意程度的限制”,“数据没有无法篡改的特性”,〔20 〕中心化色彩突出,“较传统中心化体系仅多了些许加密审计而已”。〔21 〕由于联盟链、私链均受直接控制,也称为“许可区块链”。许可区块链主体有限,须经授权才能成为节点,被选定的参加者作为验证者,透明度差,甚至可以不公开。而公链上每个主体作为节点可自由进出,主体范围不确定,匿名性强;共识由每个节点验证完成;区块数据透明度高。
基于三种区块链,智能合约的适用场景、功能特点、合约风险、规制方式等颇为不同。私链内部控制带来较高的隐私保护;节点有限且受控,交易费用更低。私链智能合约可作为管理工具,往往适合单一主体内部数据审计和管理。联盟链智能合约限于有限主体及用户,交易回滚、数据篡改风险大。通常所谓具有去中心化、自动执行、不可撤销等特点之区块链智能合约,多指公链智能合约,它充分体现了有别于其他合同的特性。上述各类区块链智能合约模式包括主体、智能财产或账户、履行执行措施,以及反映承诺内容之预设状态等。据此,能够总结概括合约当事人关系,将其简化为具有法律意义的当事人之间的一个或多个承诺,即“区块链智能法律合约”。区块链智能法律合约关注当事人的承诺如何以数字化形式表达,布置于区块链并由代码程序予以自动实施,是基于区块链智能合约技术生成并得以自动履行或执行、具有法律意义的当事人承诺。
此外,区块链智能合约技术与区块链智能法律合约呈现共生关系。区块链智能合约技术采用的代码程序仅系技术构造,并非法律合同,是以计算机语言为机器编制。而区块链智能法律合约有别于但同时嵌入代码程序。实际上,区块链智能合约代码是区块链智能法律合约构成要素、逻辑结构的反映,即使缺少直接的区块链智能法律合约文本,亦可通过区块链智能合約技术底层规则或协议、智能合约运行方式、过程及结果等,确认区块链智能法律合约。所以,区块链智能合约技术与区块链智能法律合约系同一对象范畴内一体两面之事物,相互形塑嵌入,“智能合约代码成为法律合同不可或缺的一部分,代码与书面合同有关部分构成不可分割的整体”。〔22 〕
区块链智能合约当事人法律关系的意义颇为多样,根据属性及内容可细分为不同类型,合同仅系其中之一,但在整个意义体系中占据主要地位。而合同属性判断须基于现行法上的合同标准。
(一)区块链智能合约作为合同的体系定位
区块链智能法律合约使用范围广泛,当下除了金融系统、商业交易等私域,开始运用于电子政务、公共管理、社会治理等公域,而其具体法律关系属性须依私法、公法标准认定。“公”“私”有变,〔23 〕私法、公法区分标准学说众多,本文主张新主体说。“国家或机关以公权力主体地位作为法律关系的主体者,该适用的法律为公法;该法律对任何人皆可适用者,则为私法。” 〔24 〕我国《民法总则》第96条把机关法人定性为特别法人;第97条明确机关法人的私法能力为从事履行职能必需之民事活动。国家或机关作为民事主体,从事民事活动生成的法律关系,属于私法关系;若作为为公权力主体,且法律关系系权力行使的结果,则为公法关系。就此可知,区块链智能法律合约可能是合同等私法关系,也许是行政监管执法等公法关系。区块链智能合约并非皆与民事合同履行执行相关,不能简单地把它等同于民事合同。由此,笔者遵循把“smart contract”译为“智能合约”的成例,以示其作为技术与法律合同之分。〔25 〕
综上所述,根据法律关系不同属性,区块链智能法律合约分为公法类与私法类。后者具体法律关系内容亦有差异,可分为合同型、实体型。区块链智能合约大量应用于市场交易行为。在具体交易场景,各方达成协议,实施交易,在法律层面表现为以意思表示为核心之各类法律行为,最重要者乃法律合同。现实交易反映到虚拟空间,在区块链上即合同型智能合约,符合法定合同要件,即为法律合同。应当说,合同及当事人意思表示能由代码表征,区块链智能合约代码可作为法律合同的载体或外在形式,从中抽取概括出当事人的合同权利义务关系。但有一些区块链智能合约也表现为当事人之间的协议或承诺,却非法律合同,而是蕴含当事人经营特定事业之目的,设有权益份额、表决方式、责任承担、治理机制等,与法律实体或组织拥有相似的机制机理、逻辑结构,饱含浓厚的组织性。此时,区块链智能合约被视为一种新型经济实体的基础,该实体即去中心化自治组织(DAO)。〔26 〕
区块链智能合约乃去中心化自治组织基础,“本质上,DAO是精巧的智能合约或智能合约体系”。〔27 〕在实证法层面,去中心化自治组织当然未经登记注册,未取得国家认可之法律主体资格。但在组织层面,其成员基于智能合约,围绕特定目的事业形成有效的组织运行机制,使无信任环境下跨地域共营同一事业得以实现。其具体组织形态到底如何,需要综合考量成员与组织的权利关系、成员责任性质、治理结构等。如果成员共同出资,共享收益,共担风险,且为无限责任,那么该组织应属合伙企业。也有观点认为,若公司是一连串合同,可以把它们编码写入数字化自动执行协议,去中心化组织可以拥有现代公司的诸多特性。〔28 〕而能否构成公司法人,尚待深入系统论证。
(二)合同型区块链智能合约证立
区块链智能合约是否系法律合同须依法判定。我国《合同法》第2条规定,合同是平等主体之间设立、变更、终止民事权利义务关系的协议。作为法律行为,合同以意思表示为核心,故合同型区块链智能合约认定基准在于平等当事人之间是否存在一致之意思表示。但在主体匿名性、代码可能存在错误或漏洞、难以解释及当事人理解偏差等条件约束下,当事人意思表示一致判断与传统合同颇为不同,争议较大,以致有主张否定其合同属性。本文认为,区块链智能合约可纳入合同法框架,但应以知识工程理论统摄法学和技术学视角,〔29 〕革新理论认识及判断标准。
1.意思表示一致概括认定
合同当事人意思表示一致,实为以要约承诺方式,同意特定条款、行为规则,或协商一致后同意具体协议。区块链智能合约当事人法律关系的外在形式表现为两种:第一,当事人之间基于口头、书面或数据电文等形式之传统合同,与区块链智能合约并列;第二,没有传统合同,仅存合同型区块链智能合约。在并列情形中,两者内容一致或相辅相成,不矛盾,即可据其判定当事人法律关系,传统合同足以表明当事人合意。两者内容不一致,相互冲突,首先须考察何者在先成立;其次,明晰在后者产生的目的用途,若为确认反映在先者,则以在先者为准;若系修改替代在先者,则以在后者为准。此间,仍需确定合同型区块链智能合约的具体内容。在单一区块链智能合约情形中,最大的问题在于,区块链智能合约的文本层与代码层并非完整映射,缺少以自然语言生成的合约文本,仅有代码形式存在的待厘定之合同型智能合约。当事人大多是外行,无法理解合约代码或计算机语言,即使诸如DAPP使用规则、智能合约平台规则,因其内容冗长,专业性强,不可协商,人们无暇、更无力仔细阅读,甚至忽略不看,径直点击同意。由此,当事人意思的真实性、有效性常常发生争议。