张可 胡悦
摘 要:智能合约是运行在区块链上能够自动履行合同义务的新型合同,因其具备“自动履行”和“去中心化”等优势,故可降低合同履行成本、提高合同运行效率,但也导致了智能合约难以直接适用现行合同制度的订立规则、生效要件和救济方式等问题。本文从理论角度分析了智能合约的运行过程,通过对合同法理论的解释使智能合约与合同制度相契合;从技术角度分析了智能合约的原理与架构,利用技术手段对其进行修正,使智能合约符合《合同法》的规定。
关 键 词:智能合约;《合同法》;区块链
中图分类号:D923.6 文献标识码:A 文章编号:1007-8207(2020)03-0108-09
收稿日期:2019-11-05
作者简介:张可(1995—),女,吉林白山人,东北师范大学民商法学硕士研究生,研究方向为合同法;胡悦(1960—),男,吉林长春人,东北师范大学教授,研究方向为经济法学、民商法学、经济行政法学。
基于智能合约的优势,一些领域已经开始广泛应用,其中最典型的是The DAO(Decentralized autonomous organization)——众筹组织,它利用智能合约运营组织以及管理共同资产。除此之外,智能合约还在理财、数字化资产等方面得以应用。但与传统合同不同,智能合约是在区块链上运行的一系列代码,它改变了合同的订立、运行以及救济方式,给合同法的适用带来了挑战。
一、智能合约订立阶段和传统制度的差异与融合
(一)智能合约在订立阶段与“要约——承诺”规则的冲突
⒈难以识别智能合约的要约和承诺。在订立智能合约之前,当事人首先需下载区块链软件进而成为区块链的用户,随后区块链系统为用户分配公钥和私钥,公钥是用户在区块链上的唯一地址,私钥是用来操作该账户的唯一钥匙,[1]二者互相匹配,用公钥加密的文件只能通过私钥解密。智能合约的发起人在编写合约代码之后,利用接收用户的公钥对代码进行加密,并通过发起人的用户地址将代码发送给接收用户。当另一方当事人通过区块链节点接收到加密文件后,可用自己的私钥解密代码,从而获悉合约内容。如果接收方同意合约的内容,就可用私钥签署合约,以达成智能合约。但从智能合约的订立过程来看,当事人并未明确地发出要约或作出承诺,因此难以直接适用合同法所规定的“要约——承诺”规则。
⒉智能合约限制了要约自由和承诺自由。合同法规定了要约的撤回、撤销制度以及承诺的撤回制度,从而赋予当事人在合同成立生效前修改意思表示的空间。但智能合约的电子属性导致其难以适用这一制度,限制了缔约人的要约自由和承诺自由。一方面,缔结智能合约难以撤回要约或承诺。智能合约采用数字形式将合同内容记录在计算机代码之中,但由于计算机程序具有不可逆性、迅捷性,因此合约代码的传输具有即时性,这就导致撤回要约或承诺的通知无法提前或者同时到达受要约人或要约人;另一方面,缔结智能合约难以撤销要约。[2]由于受要约人很可能对要约设定了“自动承诺”,当要约到达时受要约人的系统便会自动发出承诺,合同即告成立,因此,要约的撤销并不具有可行性。可见,虽然智能合约可以缩短缔约人意思表示的传播时间,但同时缔约人也丧失了重新协商和选择的机会,给要约的撤回、撤销制度以及承诺的撤回制度带来一定的冲击。[3]
(二)智能合约与“要约——承诺”规则的融合
笔者认为,智能合约的订立过程仍符合“要约——承诺”规则,但在认定智能合约的要约与承诺之前,应首先明确智能合约的模式。因为在不同模式下智能合约的订立方式也不相同,从而对智能合约要约与承诺的认定产生影响。根据合约内容代码化的程度不同,可以将智能合约的模式分为两类:一类是外部模式,另一类是内部模式。[4]外部模式是指智能合约与传统合同并存,并以传统合同为主导的模式。在这种模式下,双方当事人先订立传统合同,再将部分合同条款编写成智能合约代码,使其能够实现自动履行。当智能合约与传统合同的内容不一致时,应以传统合同的约定为准。内部模式的智能合约分为两种——全部代码化模式和部分代码化模式。在全部代码化模式下,智能合约完全替代了传统合同,包含了当事人间协议的全部内容,具有法律效力。在该模式下,一方当事人事先编写智能合约代码,再将合约代码部署到区块链上,等待另一方当事人签署该合约。而部分代码化模式的智能合约只包含当事人间的权利义务条款,在该模式下,当事人需先拟定传统合同,再将权利义务条款编写成智能合约代码。虽然部分代码化智能合约的内容并不完整,但由于权利义务条款足已构成一份协议,因此代码不仅是对传统合同的翻译,而且是具有法律效力的合同。因此,在外部模式下,可以直接依照传统方式认定智能合约的要约与承诺。因为当事人须依照“要约——承诺”规则订立传统合同。此时双方已经就协议内容达成合意,而智能合约只是将传统合同的部分条款翻译成代码,并未改变当事人合意的内容,且在当事人采用外部模式时已经明确了传统合同的主导地位,所以,即使智能合约与传统合同发生冲突,也應以传统合同的合意为准。但如果当事人采用了内部模式,应从智能合约的订立过程重新认定当事人间的合意。因为自然语言文本或是不构成完整的合同,或是作为智能合约的补充、解释,所以难以体现当事人真正的意思表示。
⒈对智能合约要约的认定。如前所述,在订立内部模式的智能合约时,一方当事人须先将智能合约的代码部署到区块链,发送给另一方当事人,而这一行为类似于要约人发出要约,但是否构成要约取决于部署代码的行为是否符合合同法规定的要约构成要件:⑴要约是特定人所为的意思表示;⑵要约须向相对人发出;⑶要约必须具有缔结合同的目的;⑷要约的内容必须明确具体。[5]首先,在区块链上部署智能合约代码即为特定人所为的意思表示。只有获取公钥和私钥的区块链用户才可以在区块链上部署代码,而公钥和私钥都是唯一的,因此部署代码的行为人是特定的。其次,在区块链上部署智能合约代码符合向相对人发出特定意思表示的要件。只要智能合约的发布人将合约代码部署到区块链上,另一方当事人即可通过区块链节点接收代码,从而获取合约内容。第三,将智能合约代码部署到区块链上的行为具有缔结合同的目的。智能合约的发布人明知如果将其编写的智能合约代码发布到区块链上,代码的接收人便可通过签名(或其他行为)启动智能合约,合约开始自动履行,发布人将严格受到智能合约内容的拘束。因此,自动化的执行机制表明,智能合约的发布人具有缔结合同的目的。[6]第四,部署到区块链上的智能合约代码是具体确定的。智能合约的编写需运用计算机语言,而计算机语言具有准确性,因为一个代码只能表达一种含义,否则程序无法运行。
⒉对智能合约承诺的认定。如前所述,当双方当事人采取外部模式订立智能合约时则应以传统规则认定智能合约的承诺,如果采用内部模式应重新识别其承诺。承诺是受要约人同意要约的意思表示。而智能合约的受要约人如果同意要约内容即可用私钥签署智能合约,之后合約通过P2P网络扩散并存储至区块链中。从这一过程来看,受要约人用私钥签署合约的行为即为同意要约的意思表示,但是否可以将其认定为承诺还应判断该行为是否符合承诺的构成要件:⑴必须由受要约人作出;⑵必须向要约人作出;⑶承诺的内容应当与要约的内容一致;⑷承诺必须在要约的存续期间作出。[7]首先,用私钥签署智能合约的行为是由受要约人作出的。因为签署智能合约的只能是已经接收到智能合约代码的区块链用户,并且签署智能合约必须使用用户唯一的私钥,因此只能由代码的接收方签署智能合约。其次,签署智能合约的行为是向要约人作出的。为保证交易安全,区块链采用了非对称加密技术,接收到代码的当事人在签署合约之前可以用发起人的公钥验证信息来源,因此当事人所签署的智能合约只能是要约人发出的智能合约代码。第三,接收到代码的当事人未对要约的内容进行变更。由于在区块链上代码只可读而不可写,因此,当事人只能作出是否同意要约的意思表示而无法变更其内容。第四,智能合约的签署必须在要约的存续期间进行。如果要约人在代码中事先设定了承诺的期限,则受要约人应在期限内签署合约,否则要约失效;如果要约中并未规定承诺的期限,由于该要约是以非对话方式作出的,因此当事人在合理期限内签署智能合约都是有效的。
⒊对智能合约限制要约自由和承诺自由问题的反思。要约与承诺不可撤回的问题具有普遍性,并非仅存在于智能合约的应用中。要约与承诺的撤回制度是建立于“纸质邮递”时代,邮寄所需的时间为要约与承诺的撤回创造了条件。然而随着数据电文的广泛应用,削弱了要约与承诺撤回制度的实用性。由于数据电文的传播速度快,要约与承诺发出即到达、生效,难以撤回。因此,并非只有智能合约当事人的要约自由和承诺自由受到了限制,其他使用数据电文的缔约人都会面临这一问题。但智能合约并非不可适用要约撤销制度,只要撤销要约的通知能够在受要约人作出承诺之前到达,要约就可以被撤销①。因此在受要约人签署智能合约之前,要约人都可以撤销要约。虽然受要约人可能设置了“自动承诺”功能,但在现实交易中这种设置并不具有普遍性,不宜因此否定智能合约适用要约撤销制度的可能性。在智能合约模式下,适用自动回复的可能性很小:一是目前智能合约的架构并不兼容设置自动回复的功能,受要约人只能通过用私钥签署合约作出承诺;二是即使智能合约可以兼容自动回复的功能,当事人也会慎用这一功能,以避免在未获悉合约内容的情况下合约已经生效并开始自动履行。
二、智能合约生效与履行阶段的适用难题
(一) 难以考察当事人的行为能力
传统合同当事人在签订合同前可以通过自然人和法人的身份证明文件考察对方,以判断对方是否具有相应的民事行为能力,但智能合约具有匿名性,难以考察当事人是否具备相应的行为能力。智能合约的匿名性源于区块链的技术构造。与传统交易不同,进行交易的双方当事人须通过了解对方身份或其他方式建立信任,但通过区块链交易的用户间无须建立信任,因为区块链技术解决了节点间信任的问题,因此数据交换甚至交易均可在匿名的情况下进行。由于节点之间的数据交换遵循固定且预知的算法,因而其数据交互是无须信任的,可以基于地址而非个人身份进行,因此交易双方无须通过公开身份的方式让对方产生信任。[8]所以区块链的用户无须提供身份证明可直接参与交易。
(二)难以体现当事人真实的意思表示
与传统合同所使用的自然语言不同,智能合约须使用程序语言(计算机语言),而程序语言与自然语言的差异易导致智能合约难以体现当事人真实的意思表示。一方面,相较于自然语言,计算机语言的灵活性低,只能以条件语句的形式编写,而自然语言的语句形式不仅多样还可以借助语境的变化表达不同的意义。如在计算机语言中,一个代码只能表达一个特定的意思,难以灵活体现当事人的意思表示,而自然语言可以表达“非确定性”的概念(“合理”“适当”),能够适应于合同义务复杂的情形。但这类概念难以准确地转换成计算机语言,因为计算机语言是确定性的,难以表达“非确定性”概念,因此,用电脑代码表达合同义务可能无法准确反映当事人的意思。[9]另一方面,即使能够将自然语言的合约内容转换成计算机语言形式的代码,当事人也难以确认合约内容是否已经准确地表达出本人的意思。传统合同通过自然语言呈现,因此当事人可以直接阅读合同内容从而判断合同的内容是否与本人的意思一致。但智能合约当事人面对的合约内容是通过计算机所呈现的代码,而当事人一般都不具备阅读计算机语言的能力,难以读懂合约代码,所以智能合约当事人通常都无法直接获悉合约的内容。加之当事人往往不具备编程的专业能力,也无法编写智能合约。因此智能合约的缔约人必须委托专门的程序员将合同内容转化为代码,这样一来不仅在转化的过程可能产生翻译的误差,导致合约代码偏离当事人真实的意思表示,而且当事人也难以直接确认转化后的智能合约代码所表达的意思。
(三)难以适用合同变更制度①
智能合约的自动履行特点导致其难以适用合同的变更或撤销制度。智能合约的自动履行是依托区块链技术而得以实现的,当智能合约被传入区块链网络后,会定期检查自动机状态,逐条遍历每个合约内包含的状态机、事务以及触发条件;将条件满足的事务推送到待验证的队列中,等待共识;进入最新轮验证的事务会扩散到每一个验证节点,验证节点会进行签名验证,通过验证的事务会进入待共识集合,等大多数验证节点达成共识后,事务会被成功执行并通知用户;事务执行成功后,智能合约自带的状态机会判断所属合约的状态,当合约包括的所有事务都顺序执行完后,状态机会将合约的状态标记为完成,并从最新的区块中移除该合约,整个事务和状态的处理都由区块链底层内置的智能合约系统自动完成。[10]但智能合约在区块链上运行的整个过程都是不可变更的,该程序本身并没有提供修改代码接口,代码段也只可读而不可写,[11]所以智能合约一旦开始运行,便不可更改。
对此虽然有些学者提出了不同的解决方案,但都存在一定的问题:有学者提出可以预先在智能合约中编写需变更的情况,这样在发生合同变更情况时智能合约可以自动变更。[12]但在实际交易过程中可能发生的情况多种多样,难以预知所有情况并事先将其全部编入到合约中。而且如此一来也会增加编写智能合约的成本,因为情况越复杂,编写代码的难度越高,同时也越容易发生程序漏洞。有学者提出可在智能合约中编入自动毁灭指令,通过运行该指令从区块链上清除所有的合约代码,从而终止智能合约。[13]但自动毁灭指令是一种非常严密、精细的程序代码,所以编写这一指令不仅会增加编写智能合约的成本还会增加智能合约运行的风险,一旦编写存在漏洞,可能会引发更多的损失。并且,如果启动自动毁灭指令,就会破坏整个智能合约,这并不能达到当事人变更合同的目的。可见,依照目前的技术条件,变更智能合约仍旧难以实现。
三、智能合约生效与履行阶段适用难题的应对策略
(一)智能合约可以考察当事人的行为能力
订立智能合约仍可考察当事人的行为能力,只是在不同的模式下考察的方式不相同。如果当事人订立外部模式或部分代码化模式的智能合约,由于缔约人须在现实世界中进行交涉,因此可直接依据传统交易模式考察当事人的行为能力,如查看对方的身份证件等。但如果当事人订立了全部代码化模式的智能合约,由于双方当事人的交涉可能只在区块链上进行,因此无法借助传统方式考察相对人的行为能力。对此,可以通过“去匿名化”的方式改变智能合约的匿名属性:在用户注册区块链时或在用户部署智能合约时,通过平台要求用户提供相关的身份信息,并与公钥地址对接。如此当事人就可在交易过程中获悉相对人的身份信息,从而考察其相应的行为能力。
(二)智能合约可以反映当事人真实的意思表示
虽然自然语言与计算机语言难以实现“零误差”的转换,但利用计算机语言仍可反映当事人真实的意思表示。在外部模式下,可以通过传统合同确认当事人的意思表示,因为当事人已经事先确定自然语言版本的优先性,当事人的意思表示应以传统合同为准。在内部模式中,由于合同的主要内容甚至全部内容都用代码表达,因此关键在于代码是否可以反映当事人真实的意思表示。
第一,对于“确定性合同条款”的转换,自然语言与计算机语言的差异较小,因为二者都属于条件语句“if-x,then-y”的结构。事实上,法律语言的思维方式即为条件结构:如果当事人为或不为某一行为,则会产生什么后果。因此,法律语言与计算机语言的转换并不存在本质上的障碍。同时计算机语言还可以提高合同的确定性。虽然自然语言具有灵活性,却存在语义模糊的问题,从而导致理解的歧义。在计算机语言中,每一个代码只能代表一个含义,因此减少了自然语言的模糊性,避免了对合同理解歧义的问题。
第二,对于“非确定性的合同条款”,当事人可以通过细化“非确定性条款”的内容来弥补计算机语言的缺陷。“非确定性条款”的作用主要是避免当事人未能适当履行合同义务。对此当事人可以将合同义务的履行细化为具体的标准,如明确约定履行合同义务的时间、地点以及其他方式,同样可以起到“非确定性条款”的作用;但对合同具有重要作用的“非确定性的合同条款”,当其难以细化标准时,当事人不宜选择全部代码化模式的智能合约,在部分代码化模式或外部模式下,缔约人都可保留自然语言文本,并在自然语言文本(或合同)中约定“非确定性的合同条款”,如果对其存在争议,可以将自然语言文本(或合同)作为解决纠纷的依据。
第三,当事人可以通过聘请程序员编写、阅读智能合约代码。传统合同的当事人虽然可以阅读合同的文字,但由于欠缺法律专业能力,难以真正理解合同的内容,因此当事人需通过律师起草、翻译合同内容。同样智能合约当事人可以将编写、翻译合约内容的工作交由律师和计算机程序员完成,相比于传统合同,智能合约只是增加了程序员的角色,并不影响合同体现当事人真实的意思表示。
(三)对智能合约变更问题的利益平衡
智能合约并不是完美的,其难以既实现效率而又保证自由,自动履行可以提高合同履行的效率,但同时也牺牲了当事人变更合同的自由。能否变更智能合约是一个技术上的问题,但同时也是一种利益平衡,是应该保证合同自由而拒绝提高效率,还是实现效率而牺牲一定的自由。笔者认为,不宜因智能合约存在难以变更的问题而排除其适用。
智能合约不可变更的特性虽是智能合约的缺陷,但也是智能合约的优势。不可变更性的设计目的在于防止当事人或第三方对合约运行的干预,从而保障合约最终能够按照当事人的事先约定履行完成,达到当事人所期待的结果。但如果智能合约可以任意变更,当事人或第三方就可以干预合约的运行过程而使智能合约最终难以实现自动履行,如此也就削弱了当事人选择智能合约的优势。缔约人有选择合约模式的自由,如果对于缔约人来说,变更合同的自由优于合同履行的效率,那么缔约人不宜选择智能合约的模式,仍应使用传统合同,如合伙、雇佣、委托等随着合同存续、相机变化的长期关系型合同。[14]但对于某些交易类型,智能合约不可变更的优势大于劣势。一方面,变更合同并非合同运行的常态,正常履行才是常态。[15]相比较于正常履行的合同,变更合同的情况只是少数。因此不宜因少数情况而牺牲智能合约的履行效率;另一方面,对于缔约人来说,相较于变更合同的自由交易,效率更加重要,如买卖、赠与、承揽等一次给付的合同,以及短期的租赁、消费借贷合同,[16]更需要迅捷、及时地履行合同,因此对于智能合约的缔约人来说,合同效率优于合同自由,智能合约的不可变更特性虽然限制了当事人的合同自由,但提升了合同效率,也符合市场交易的规律。
四、智能合约救济阶段的适用障碍与对策
(一)智能合约救济阶段的适用障碍
⒈难以确定解决纠纷的方式。确定智能合约救济方式的困难在于是否要遵循智能合約“完全去中心化”的理念。这一理念在于营造一个没有中间机构(包括法院)参与的交易环境。如果智能合约遵循“完全去中心化”的理念,那么智能合约纠纷仅可通过自动履行的方式解决而不能诉诸法院或提请仲裁。当事人可以预先将解决纠纷的程序编入智能合约中,在发生纠纷时通过智能合约自动履行。但通过自动履行解决纠纷会产生两个问题:第一,难以认定这种救济方式的性质。虽然智能合约自动救济类似于自助行为,但又不符合法律所规定的请求权受到威胁、威胁具有现实性与急迫性、请求权实现出现重大障碍等条件;[17]第二,通过智能合约自动履行的功能并不能解决所有类型的纠纷。当事人难以预先设想所有可能发生的纠纷情形以期通过智能合约自动解决,并且过于复杂的代码会增加代码漏洞的风险,可能破坏整个合约的运行。如果不必遵照“完全去中心化”的构想,当事人可以通过诉讼或仲裁等方式解决合约纠纷。但这又违背了智能合约去中心化的理念,因此,如何确定解决智能合约纠纷的方式成为应用智能合约的一个障碍。
⒉难以确定司法管辖权。如果可以通过诉讼手段解决智能合约的争议,则应首先确定法院的管辖权。级别管辖可以依据《中华人民共和国民事诉讼法》(以下简称《民事诉讼法》)第十七条至第二十条的规定①加以确定,地域管辖的确定应根据《民事诉讼法》第二十三条、第三十四条的规定,合同纠纷可以由被告住所地、合同履行地人民法院管辖或当事人约定的管辖法院。②然而在智能合约纠纷中难以直接确定这三种地域管辖:一是难以确定智能合约中的被告住所地或者合同履行地。有的学者认为,由于智能合约具有匿名性,难以确定当事人的身份,因而难以确定被告的住所地,并且智能合约是在区块链中运行的,因此也难以明确其合同履行地。[18]二是难以确定全部代码化模式的智能合约中协议管辖条款的效力。根据《民事诉讼法》第三十四条的规定管辖协议必须是书面形式。但是在全部代码化模式下的智能合约,当事人只能以代码形式约定管辖法院,而对于代码形式是否符合《合同法》对书面形式的要求仍存在一定的疑问。
(二)智能合约救济阶段的适用对策
⒈依照传统方式解决智能合约纠纷。对于外部模式智能合约的纠纷,由于当事人已经事先确定传统合同的优先效力,因此应直接依照传统方式解决合约纠纷。而确定内部模式智能合约纠纷解决方式的关键在于是否遵循“完全去中心化”的设计。笔者认为不必严格遵循这一理念,因为在目前的技术条件下智能合约本身难以实现“完全去中心化”,不必因这一理念而排斥法院和仲裁机构的裁决。第一,智能合约并未达到“完全去中心化”的前提条件——智能合约完备(智能合约在运行过程不会产生问题或纠纷)。但事实上,无论是在技术方面还是法律方面,智能合约都不完美。在技术上,智能合约可能存在程序漏洞。因为合约是由一系列代码组成的,而代码的编写通常存在漏洞,越复杂的合约,发生代码漏洞的可能性越大。从法律的角度来看,智能合约的本质仍是合同,当事人在智能合约运行的各个阶段都有可能产生合同效力认定、变更或撤销合同、违约纠纷等等。因此智能合约并不完备,难以实现“完全去中心化”。第二,智能合约在实际运行过程中并未实现“完全去中心化”。因为智能合约的运行需要预言机提供数据,而预言机并非是去中心化的,其部分数据来源于第三方机构,因此智能合约并不能完全排除第三方机构的介入。所以在确定解决智能合约纠纷的方式时不必因 “完全去中心化”的理念而放弃传统的救济手段,况且在救济阶段诉诸于第三方机构并未从根本上改变“去中心化”的设计,因为多数合同都可以按照约定履行完毕,不必进入合同的救济阶段,尤其是智能合约的应用也会减少合同的纠纷。
⒉智能合约纠纷司法管辖权的确定。根据《民事诉讼法》第二十三条的规定,因合同纠纷提起的诉讼,由被告住所地或者合同履行地人民法院管辖。①因此,只要能够确定智能合约当事人的协议管辖法院、被告住所地以及合同履行地,就可以确定智能合约纠纷的司法管辖权。关于被告住所地的确定,由于外部模式和部分代码化的内部模式的智能合约当事人都须在现实世界中进行磋商,因此可以确定其当事人的身份,从而可以确定案件的司法管辖权。如果当事人订立了全部代码化模式的智能合约,可以通过“去匿名化”识别对方的身份。如前所述,为了保证智能合约在应用初期的安全性和稳定性,可以改变智能合约的匿名化结构,以便考察当事人的行为能力。因此,在全部代码化的模式下,当事人可通过“去匿名化”的技术手段确定被告住所地。至于合同履行地,应通过当事人的事先约定来确定。根据《合同法》第十二条的规定,合同履行的地点属于合同的基本内容,缔约人应将其编入合约内容中。因此,可以直接依据当事人的约定来确定合同履行地。并且代码形式并不影响管辖协议的效力。对于管辖协议的书面形式应当适用《合同法》第十一条的规定:“书面形式是指合同书、信件和数据电文等可以有形地表现所载内容的形式”。②因此,如果程序代码能够有形地表现所载内容即符合合同法所规定的书面形式。代码可以通过计算机阅读,应当属于有形形式,因此智能合约中的管辖条款应当满足书面形式的要求,具有法律效力。而且《民事诉讼法》规定书面形式的目的在于排除口头形式的协议管辖约定,由于单纯的口头管辖协议不利于证明双方当事人的合意,因此从实用技术上考虑,立法对管辖协议进行了书面形式的限定,[19]而并非将书面形式限定于纸质合同或纸质的诉讼管辖协议书。所以代码应属于书面形式的一种,全部代码化智能合约中的协议管辖条款应当有效。
总之,智能合约作为区块链技术最典型的应用形式,具有“去中心化”、自动履行、不可篡改等特点,可以为当事人节约交易成本、提高交易效率,这些特点也导致智能合约难以直接与合同法相契合,如难以确定合同纠纷解决方式、合同不可变更等问题。对此,需要技术的进步,也需要法律的支持。智能合约的本质仍是合同,但与传统合同相比有很大不同,因此,为使智能合约与传统法律相融合,应充分运用传统合同法理论解释新的技术,并使之相融合。相信随着智能合约的不断完善,智能合约的应用会更加广泛。
【参考文献】
[1][10]长铗.区块链:从数字货币到信用社会[M].北京:中信出版集团股份有限公司,2016.
[2][3]周润,卢迎.智能合约对我国合同制度的影响与对策[J].南方金融,2018,(5).
[4]Smart contracts:is the law ready,https://digitalchamber.org/smart-contracts-whitepaper.
[5][7]崔建远.合同法[M].北京:法律出版社,2016.
[6]陳吉栋.智能合约的法律构造[J].东方法学,2019,(3).
[8][13][15]郭少飞.区块链智能合约的合同法分析[J].东方法学,2019,(3).
[9]Sklaroff J. Smart Contracts and the Cost of Inflexibility(2017)[J].University of Pennsylvania Law Review,166:263.
[11]陈逸宁.区块链技术下智能合约意思表示的认定[J].海南金融,2018,(5).
[12]Catchlove P.Smart Contracts:A New Era of Contract Use[J].Available at SSRN 3090226,2017.
[14][16]许可.决策十字阵中的智能合约[J].东方法学,2019,(3).
[17]朱庆育.民法总论[M].北京:北京大学出版社,2013.
[18]O'Shields R. Smart contracts: Legal agreements for the Blockchain[J].NC Banking Inst.,2017,21:177.
[19]廖中洪.協议管辖:问题、原因及其改革设想[J].西南政法大学学报,2008,(1).
(责任编辑:王秀艳)
Abstract:Smart contract is a new type of contract that can automatically perform its contractual obligations on the blockchain.Because of its advantages of “automatic performance” and “decentralization”,it can reduce the cost of contract performance and improve the efficiency of contract operation,but it also leads to the problems that smart contract is difficult to directly apply the existing contract system,such as the rules,effective elements and relief methods.This paper analyzes the operation process of smart contract from the theoretical point of view,and makes the smart contract and the contract system fit through the interpretation of the contract law theory;analyzes the principle and structure of smart contract from the technical point of view,and makes the smart contract conform to the provisions of the contract law by using the technical means to modify it.
Key words:smart contract;contract law;blockchain