区块链智能合约法律适用的难题及挑战
扫描二维码
随时随地手机看文章
区块链1.0时代的应用以比特币为代表,为解决货币和支付手段的去中心化,而区块链2.0时代则是更宏观的对整个市场的去中心化,利用区块链技术来转换许多不同的资产而不仅仅是比特币,通过转让来创建不同资产单元的价值。智能合约便是面对这样需求的一种应用。但作为新兴事物的智能合约,其法律属性及适用等仍有诸多问题,本文对此试作研究。
一、基于区块链技术的智能合约
智能合约(smart contract),并非区块链才有的概念,而是早在上个世纪九十年代由跨领域法律学者尼克·萨博(Nick Szabo)首先提出来的。在尼克·萨博的定义中,智能合约是“一系列以数字形式指定的承诺(promises),包括各方履行这些承诺的协议。”
在此定义中,有几个关键词:一是承诺,即指合约参与方的同意;二是数字形式,即指合约以计算机可读的代码表现;三是自动执行,即指基于命令式编程语言,计算机能够自动执行协议。以自动售货机这一具体应用场景为例,由于机器已进行了设定,当用户提供一定的输入值时,自动售货机就会将产品交给用户。如果使用计算机代码代替自动售货机这些机械设备,就将产生一种符合上述特征的具有自动执行功能的基于数字程序的工具。
在智能合约提出之后一段时间,智能合约并未得到发展和应用,主要就是因为缺乏能够支持可编程合约的数字系统和技术。直到区块链技术的出现,才给智能合约的应用带来广阔的前景。当然,智能合约并不是只能依靠区块链来实现,只是区块链技术的特性决定了智能合约更加适合于在区块链上来实现。这是因为,区块链技术不仅可以支持可编程合约,而且具有去中心化、不可篡改、过程透明可追踪等优点,天然契合智能合约。具体而言,一是去中心化,保证数据的全网备份与不受第三方机构的干扰,可以避免中心化下某些恶意行为对合约正常执行的干扰;二是不可篡改,可以保证数据无法删除、修改,只能新增,存储、读取、执行整个过程透明可跟踪,保证了历史的可追溯性,并将作恶成本提高;三是自动执行,当代码中描述的某些条件得到满足时,将自动触发代码中定义的特定操作,无需担心合约不执行的问题;四是信任机制,区块链解决了合约的信任问题,也就是说,本来合约的执行需要依靠法定强制性的背书提供信任,而基于区块链的智能合约则提供了一个完美解决信任问题的机制,无需第三方公信机构的参与或者需要第三方的担保。
如今,基于区块链技术的智能合约可以被用来支持各种类型的金融交易,包括股票、私募股权、众筹、债券和其他类型的金融衍生品如期货、期权等,这些不同类型的资产的创建、确认、转移都可以适用智能合约。
二、智能合约的法律属性
智能合约是合同吗?我们知道,所谓合同,是指当事人之间设立、变更和终止民事权利义务关系而达成的合意。合同具有以下法律特征:一是合同是一种双方的法律行为,并以意见表示一致为条件;二是合同是平等主体之间的民事法律关系,合同双方当事人处于平等地位,不允许任何一方对他方进行限制或强迫;三是合同是具有相应法律效力的协议。合同不能是违法行为,而只能是合法行为,如果合同是违法的,就会引起合同无效,甚至当事人要受到追究和制裁;四是合同是从法律角度明确当事人之间特定权利与义务关系的文件。合同在当事人之间设立、变更和终止某种特定的民事权利义务关系,以实现当事人的特定经济目的。
一种观点认为,从是否达成合意和当事人是否明确来判断,智能合约并不是法律意义上的合同。其理由在于:一是合同是指双方当事人意思表示达成一致,即合意。在智能合约中,只是存在一个数字程序(一段代码),而不是合同内容,它缺乏合同的一般必备条款,因而双方是否达成合意,难以判断;二是在合同的成立时,要约人与承诺人必须是确定的,而智能合约成立时,当事人常常并不确定。况且,区块链技术最大限度地保护当事人隐私,使得智能合约当事人具有匿名性,以致合同当事人无法知晓对方。
其实,智能合约仍然应当被认定为法律意义上的合同。智能合约也是双方当事人意思表示的合意,合同条款是以计算语言而非法律语言记录,虽然数字代码非一般人所能认知,但专业人士可以认知,且这些代码本身就是交易方输入。智能合约由计算机语言预设,计算机识别的程序语言相较于文字语言更为清晰和稳定,因此智能合约的语言误解率很低。智能合约的匿名性并不导致当事人的不确定性。而且,智能合约是根据预设条件自动处理资产,且获得多方承认的,运行在区块链之上的程序,当一个预先编好的条件被触发时,智能合约会自动执行相应的合同条款,这种智能合约的自动执行性让合同履行实现了自治,无需法院、仲裁机构等中间媒介督促合约的执行,一旦启动就会执行,且整个过程,包括发起人在内的任何人,都没有能力干预。可以说,智能合约类似于“完全合同”。
三、智能合约法律适用的难题
在区块链时代,智能合约拓展了合同的形式,但也给我国合同法提出了挑战。这些挑战主要有:
第一,智能合约的不可篡改、自动执行、不可撤销可能导致合约无法被法律干预。法律具有纠偏的功能。对于以欺诈、胁迫的手段并损害国家利益而订立的合同;恶意串通,损害国家、集体或者第三人利益而订立的合同;以合法形式掩盖非法目的合同;损害社会公共利益的合同;违反法律、行政法规的强制性规定的合同,或者对于那些意思表示不真实的合同,法律都可以进行干预,并认定合同无效或可撤销。然而,智能合约是一道不可变更的程序与计算机指令,智能合约代码一旦写入就立即生效,外界无法实施干预,即使有导致合同无效或可撤销的情形,也依然会得到执行。而且,智能合约需要得到准确编写,如果合约编写有误,就可能会导致合约存在可能会被利用的漏洞,而且,这种漏洞是无法改正的。这将对合同法中的效力制度、可变更、可撤销制度产生较大影响。
第二,智能合约受害者难以救济自己的权利。区块链分布式账本交易具有不可撤销的特点,一旦发生消费者私钥丢失引发的欺诈交易,实际发生的交易是无法修改或回滚的。当消费者选择智能合约作为合约的执行方式时,在其需要撤销原合约时,他就需要引入新的智能合约,而侵权人可能将不予理睬。而且,智能合约具有匿名性,当匿名的智能合约出现法律争议时,争议的另一方是谁都无法确定,通过传统的诉讼方式解决争议将是十分困难的。因此,智能合约下的受害者,其实际损失难以得到直接救济,只能依赖于数字化世界以外的方式给予替代补偿,且实现较为困难。另外,违约责任有继续履行、采取补救措施或赔偿损失等,但却无法在智能合约中发挥作用,因为违约责任的实现通常需要中立的第三方介入督促违约人承担责任,第三方通常是法院或仲裁机构,而智能合约的执行无需中立机构的介入。
第三,智能合约的安全性尚存问题。智能合约的不可篡改要求其脚本语言必须准确无误,且计算机程序中没有漏洞。然而,简单的智能合约尚能较好达到上述要求,但条款稍微复杂、种类更多的智能合约,发生漏洞的机率就越大。例如,Github上的新手devops199误删除了一个智能合约的库函数,导致大概三亿美元的以太坊被锁死,至今尚未解冻。又如,在The Dao事件中,本来通过智能合约来主导以太币资金的分发利用,但是,由于智能合约代码不严谨,导致交易资金出现很大的漏洞,为了解决修复智能合约,最后采取硬分叉,导致了以太坊直接撕裂成了ETH和ETC(旧版),但最后还是没能解决问题,因为会存在重放攻击。新链上的交易广播到旧链上,交易依然能够成功,因而造成使用混乱。因此,完全的代码自治存在较大局限,必要时还是需要人工介入。
第四,智能合约的履行形式欠缺,仅有履行或不履行之分。合同义务没有得到正当履行,可表现为不能履行、迟延履行、不完全履行等多种形态。当合同一方当事人延迟履行义务时,另一方当事人可以进行催告,请求其履行债务。如果延迟履行一方在经合理催告后仍不履行义务,或一方当事人明确表示不能履行主要债务或不能完全履行主要债务时,另一方当事人可以解除合同。然而,在智能合约中,首先设定代码程序,当预定条件满足时,合约自动完成履行,当预定条件没有满足或没有充分满足时,不会启动合约的自动履行功能。因此,智能合约的履行不存在迟延履行、不完全履行、不能履行等不能全面履行义务的形态。
第五,智能合约较难应对法律政策的修改或调整。法律或政策经常会作出修改或调整,但在智能合约中,在代码程序设定好后,其保存的信息很难被修改,相关条款基本上不可能更新。要想使智能合约应对法律或政策修订后的情形,根本无法实现。
因此,智能合约在法律上的适用还有一些障碍需要克服,需要法律为智能合约这种新事物创设新的制度,将其纳入规范调整的范畴。