引言
智能合约(Smart Contract)是NFT铸造和交易不可或缺的组成部分。那么智能合约到底是什么?其智能体现在哪里?智能合约与传统合同有何区别?
一、智能合约的诞生与窘境
智能合约这一概念由Nick Szabo[1]在1994年的一篇文章中首次提出。Szabo将智能合约定义为“一套以数字形式定义的承诺,包括合约参与方可以在上面履行这些承诺的协议[2]”。Szabo最早提出这一概念是受到自动售货机的灵感启发,自动售货机在取得特定数量货款这一前置条件得到满足后,便会自动掉出相应货物完成交易。自动售货机通过密封的物理空间和相应配套系统控制财产,通过已设定好的程序处理外部数据,实现合同条款的自动执行。如果将自动贩卖机的概念扩大,通过程序设定哪种输入信息符合合同履行的先决条件,例如汇款,智能合约就可以依照特定合同内容自动移转房屋所有权、股权等。
Szabo提出这一概念的初衷是希望通过将智能合约内置到物理实体的方式来构建各种灵活可控的智能财产。遗憾的是,囿于当时落后的技术手段,智能合约的应用场景相当有限。
二、智能合约的重生
智能合约无可适用的窘境,在区块链技术出现之后迎刃而解。
区块链并不是智能合约实现的必要条件。但是,区块链技术允许世界上任何地区的参与方(无论两个还是多个,无论他们是否知道彼此的真实身份)可以在脱离第三方协助的模式下直接进行交易,并且参与方可以确定该交易是安全、真实、不可篡改的。区块链的这些特性与合同的安全性要求相匹配,使智能合约实现了落地应用。
NFT(英文全称“Non-Fungible Token”,中文全称“非同质化通证”)是智能合约通过区块链应用形成的产物。正如我们先前元宇宙系列文章所讨论过的那样,NFT属于区块链数字通证的一种。与同为区块链数字通证的比特币等同质化通证(英文全称Fungible token)相比,尽管二者都是基于区块链技术发行、登记、存储、持有、交易,但NFT具有非同质化的特点。这种非同质化的特点本质是智能合约上所载数据的不同决定的。
NFT是“权利凭证+智能合约”的集合体。NFT由代表资产内容的数据——“智能合约”铸造而成。“智能合约”是NFT交易的核心,其能够体现NFT所包含的财产、确认NFT的归属并能够管理该NFT后续的交易方式(例如其可以实现在NFT的每一次交易中自动收取版税给创建者)。
通过“智能合约”铸造NFT的基本模式可以总结为:创建者将想要附加的各类图片、音频、视频等数字资产的权利内容、流转信息、限量发行份数等通过计算机语言写入该智能合约的标示信息中,这些信息被称为“元数据”,铸造的过程称为“铸币”(mint)。
我们可以将元数据理解为对数字资产的描述数据,可以类比为房产证书上的房屋位置、面积等。元数据中最能体现单一NFT非同质化特征的信息是哈希值。哈希值是指通过哈希算法,在对应的区块链上给该数字资产生成一个无法篡改的独特编码,该编码通常采用一长串的英文字母+数字等代码的形式。因为元数据与编码的对应性,使NFT可用于代表某个特定数字资产,因此生成了依托于区块链的具有财产属性且特定、唯一、不可篡改的NFT。用户将作品加密变成NFT的过程可视为用户与区块链基于智能合约(例如以太坊ERC721)签约的过程,铸币中所支付的手续费(Gas)需支付给各节点的矿工,由矿工将签约记录到区块链内。
换言之,NFT本身并不存储任何其在元数据中记录的图片、音视频等标的文件,而是通过元数据中记载的信息对标的文件进行定位。元数据既可以链上存储,也可以通过链下托管的方式存储在其他的中心化服务器或去中心化的存储介质中。受限于以太坊存储容量和运算速度的限制,目前大部分以太坊NFT产品的元数据都采用链下托管的方式进行存储,而在智能合约中仅通过“function token URI[3]”的记载指示到元数据具体存储的位置。
三、智能合约的法律属性
智能合约的法律属性主要有“合同说”、“合同履行方式说”、“程序说”等不同观点。“合同说”将智能合约一种新合同类型,并翻译为“智能合同”。“合同履行方式说”认为,智能合约应为合同的一套履行机制或执行程序。“程序说”认为,智能合约完全按照代码的技术逻辑运行,其运行无需人为因素的介入和干扰。笔者更倾向于程序说,这也是有关立法和监管部门普遍采纳的观点。
2017年2月,美国亚利桑那州通过了《HB2417法案》,并根据该法案签署了修订后的《亚利桑那州电子交易法》(Arizona Electronic Transaction Act)。法案中将智能合约定义为一个事件驱动的程序,可以在分布式、去中心化、可共享和可复制的账簿上运行,并且能够针对账簿中资产转移状况进行监管[4]。
美国统一法律委员会(Uniform Law Commission)2019年发布的《关于区块链与智能合约在统一电子交易法与电子签名法的指引》对于智能合约的定义是:“当预设条件满足时,区块链内状态发生改变的计算机代码。”该定义较为明确地指出——区块链智能合约的本质就是计算机代码。
2016年10月18日,我国工信部发布了《中国区块链技术和运用发展白皮书》,白皮书指出智能合约是区块链技术发展到2.0时期的核心关键,并将其定义为一种用计算机语言取代法律语言去记录条款的合约。之后2018年5月20日工信部发布的《2018年中国区块链产业白皮书》中将智能合约定义为一种根据预设条件自动处理资产的程序。
进一步而言,智能合约作为根据预设条件自动处理的程序,其中记载有隐含条款(如支付价款即获得物品),如具备合同的要素(如要约、承诺、对价、当事方缔约能力等),则可构成合同。各法域的立法和司法普遍秉持技术中立的原则,认为应用智能合约订立的合同不会影响合同效力。应用智能合约订立的合同与传统合同的本质区别在于,一方面智能合约型合同自动执行,无需法院、仲裁机构等中间方监督、促成合同的执行,而传统合同非自动执行,如果合同当事方拒不履行,其他方需依赖法院或仲裁机构的裁判及后续的执行来获得救济,另一方面,智能合约型合同无法处理复杂的逻辑关系,对于合同中的不确定概念(例如情势变更、不可抗力、合同撤销等)无法兼容,灵活性低。
智能合约不等同于合同,也并不真“智能”。技术革新对法律规则的挑战和冲击将是我们在元宇宙世界中需要不断面对的问题。
[1]美国跨领域法学学者、著名的计算机专家尼克·萨博。
[2]SZABO N. Smart contracts:Building blocks for digital markets [J]. Extropy:The Journal of Transhumanist Thought,1996(16): 255—272.
[3]URI即统一资源标识符(英文全称“Uniform Resource Identifier”):用于标识、定位任何资源的字符串。
[4]See H. R.2417, 53d Leg., 1st Reg. Sess.(Ariz.2017), 2017 Ariz. Sess. Laws 97(amending Ariz. Rev. Stat.§44-7003; adding Ariz. Rev.Stat.§44-7061).
智能合约一探
作者:蔡庆虹来源:北京植德律师事务所

引言 智能合约(Smart Contract)是NFT铸造和交易不可或缺的组成部分。那么智能合约到底是什么?其智能体现在哪里?智能合约与传统合同有何区别?