区块链技术的算法规制
2020-04-08赵磊
摘 要:互联网与计算机系统是区块链技术的基础设施,加密算法是区块链的技术基础,算法信任是区块链技术的核心机制。籍此,区块链技术实现了人际信任、制度信任到机器信任。区块链算法以客观数据为基础,依赖特定运算方法自动运行,不受任何人控制和支配,交易双方完全信赖算法而非第三方。区块链算法既是决策自动化的体现,也是决策自动化的执行机制。参与者之间的权利义务必须在事前写入特定的计算机程序,以充分保障所有参与者的权益。区块链算法改变了传统法律下的担保与信用机制。智能合约是区块链算法的核心,也是区块链技术对传统法律制度冲击最大的部分。区块链算法的规制要做到在传统法律框架下运行,依法治链与“以链治链”相结合。
关键词:区块链;算法;共识机制;法律规制
中圖分类号:DF522文献标志码:A
DOI:10.3969/j.issn.1001-2397.2020.02.08 开放科学(资源服务)标识码(OSID):
市场经济活动中存在众多各种各样的信息中介和信用中介,原因在于交易双方的信息不对称导致交易双方无法建立有效的信用机制。区块链是一种去中心化的共识机制,为解决这一问题提供了全新的思路。互联网与计算机系统是区块链技术的基础设施,加密算法是区块链的技术基础,算法信任是区块链技术的核心机制。籍此,区块链技术实现了人际信任、制度信任到机器信任。区块链技术涉及哈希算法、非对称加密以及智能合约等几种算法,它们的技术特点与功能各不相同,一起构成区块链技术的共识机制。
区块链是去中心化的,其数据的真实性、不可篡改性以及参与者对其的认可,都是通过算法保障的。但是,当推向逻辑极限时,算法治理可能会最终导致系统具有高度规范性和确定性;人们可以自由决定他们要遵守的特定规则集的系统,但在做出选择之后,就不能再偏离这些规则。①2016年发生的The Dao事件,就是不法分子利用智能合约算法存在的漏洞盗取客户巨额资金的典型案例。( 2016年5月,The DAO是作为以太坊区块链上的智能合约构建的,是一个完全由自我执行的软件组成的线上众筹系统。The DAO募集了1270万以太币(当时价值约1.5亿美元),当以太币交易价格为20美元时,来自DAO的以太币总价值超过2.5亿美元。2017年6月,黑客一夜之间窃取了该平台三分之一的资金。依照 DAO的规则,被截留的资金完全合法,区块链无法辨识窃贼和客户。See Samuel Falkon, The Story of the DAO — Its History and Consequences, (Dec.24,2017), https://medium.com/swlh/the-story-of-the-dao-its-history-and-consequences-71e6a8a551ee.)因此,算法是一把双刃剑,既可以提高交易效率、保障交易安全,甚至重塑信用机制,也可能会侵害当事人利益,乃至社会利益。算法规制既是技术问题,又是法律问题。
一、区块链的算法逻辑
区块链技术是一种参与者“点对点”电子系统,这首先依赖信息的分布式存储,而参与者在信息交换过程中数据的真实性、不可篡改性以及工作量证明则通过特殊的算法逻辑实现。
(一)区块链算法即“上帝”
在一项交易中,双方当事人之间由于信息不对称,通常要经过长期交往形成的信用机制保障,或者依赖第三方来保障交易安全。如果没有类似于银行或者政府这样的第三方机构确认信息,我们依然无法确认交易对方的身份,无法建立商事活动所需的信任关系。这些中间机构极有可能会因为商业目的或者国家安全,搜集我们的数据和侵犯我们的隐私。( See Don Tapscott &Alex Tapscott, Blockchain Revolution: How the Technology Behind Bitcoin is Changing Money, Business, and the World. New York, Portfolio/Penguin, 2016, p.3.)在比特币发明者中本聪看来,这类系统内生性地受制于“基于信用的模式”的弱点,无法实现完全不可逆的交易,因为金融机构总是不可避免地会出面协调争端。金融中介的存在,也会增加交易的成本,并且限制了实际可行的最小交易和支付规模。( Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, https://bitcoin.org/bitcoin.pdf.)
只要交易中存在第三方,势必会产生机会主义、代理成本以及交易成本,上述问题都是不可避免的。那种能够克服人性弱点又没有任何利益追求的第三方是不存在的,除非是上帝。著名的密码学者Nick Szabo在1997年发表的一篇文章就做了这样的设想:“可以想象一种理想的协议,它拥有最值得信赖的代表所有人利益的第三方——上帝。所有各方都将其信息发送给上帝,上帝可靠地确认并向各方反馈结果。上帝是交易过程的最终自由裁量者,一切涉及隐私的信息都由上帝保存,所有参与方都不能获知与己无关的信息。”( Nick Szabo, The God Protocols, https://nakamotoinstitute.org/the-god-protocols/ (last visited on Jan. 12, 2020).)在现实生活中,上帝是不存在的,Nick Szabo的想法在当时只能是观念上的、理想化的,在实际操作层面并不可能实现。直到十一年后,中本聪发明了比特币,其底层技术——区块链使得这一空想变成了现实。
在比特币系统中,参与者之间的交易“点对点”进行,通过区块链技术建立起一个去中心化与去第三方的参与者共同协作的机制。区块链是共享的、受信任的分布式公共账本,网络中的每一个节点参与所有比特币交易的认证和备份,当有用户发起一个交易时,信息会被广播到整个网络,通过算力比拼而获得记账权的矿工将交易记录成一个新的区块连接到区块链中。所有交易信息一旦被记录,就不可能被篡改。在区块链系统中,算法以客观数据为基础,依赖特定运算方法自动运行,不受任何人控制和支配,交易双方完全信赖算法而非第三方。因此,算法扮演了上帝的角色。
(二)确认交易的真实性——区块链中的密码学算法
区块链交易之所以不需要第三方信用,根本原因在于其采用密码学原理保障交易安全。可以说,没有现代密码学的发展,就不可能产生比特币与区块链技术。区块链通过对交易信息数据化,再对这些数据加密传输,所有人都可以见证,只有当事人才有权解密、知悉信息内容。上述交易过程,通过两种密码学算法共同完成:一是非对称加密算法;二是哈希算法。
非对称加密算法是指对数据进行加密和解密时,需要两个不同的密码完成。与之相对的,是对称加密算法中加密和解密只需要一个密钥即可。非对称加密算法在区块链中的运用,将交易中的密码分为公钥(public key)和私钥(private key)。区块链系统的参与者因其角色不同而持有不同的密钥,当其为交易的見证者时,其仅仅持有公钥,当其为一项交易的当事人时,其既持有公钥也持有私钥。在区块链中,数字签名可以用于验证信息发送者的身份,用户可以公布自己的公钥,然后发送可以被公钥所验证的、已经通过私钥加密过的信息。如果信息的接收者能够使用公钥解密加密过的信息,即可证明这条信息的身份属实。( 唐文剑等编著:《区块链将如何重新定义世界》,机械工业出版社2016年版,第59页。)区块链系统采用非对称加密算法,一方面赋予全网用户通过公钥对所有交易予以验证的权利与义务,保证了交易的真实性;另一方面只有交易当事人才能通过私钥获取每一个交易的具体内容,保证了在分布式存储网络中点对点信息传输的安全性与当事人的隐私。
区块链(blockchain)之所以使用这个名字,是形象地把对每一个交易信息数据的载体比喻成一个区块(block),下一个区块对上一个区块验证,所有区块按照产生的先后顺序相互连接起来,是为区块链。上一个区块的信息数据传递给下一个区块,是通过哈希(Hash)算法完成的。哈希算法也叫“安全散列函数”,又称信息摘要。文章摘要是对文章内容的概括总结,看了文章摘要,我们就能大致了解文章的主要内容。哈希算法也有这样的功能,它可以把任意的信息集,用非常简单的信息予以描述。它是一个特别的数学函数:给定输入很容易得到输出,但是从输出计算回输入不可行。( 参见姚前:《数字货币的前世今生》,载《中国法律评论》2018年第6期,第171页。)
区块链使用哈希算法把交易生成数据摘要,当前区块里面包含上一个区块的哈希值,后面一个区块又包含当前区块的哈希值,以此类推,一个个包含哈希值的区块串连起来,形成一条区块链。在一个区块链系统中,除创世区块以外,其他区块都有一个标头(Header)。区块标头包含的是本区块以及前一个区块的相关指示信息,包括:一个区块的版本号、时间戳、难度目标、前一个区块的哈希值、随机字符串,等等。哈希算法是区块链的底层技术,其上述特性赋予了区块链技术的可靠性。
(三)共识算法即共识机制(Consensus)
非对称加密算法与哈希算法的一并运用,构成了区块链系统最为重要的因素——共识算法,也称共识机制。区块链如果想达到去中心化的目的,必须通过共识算法实现。因为区块链上记录的数据对所有人可见,而且很难否认和回溯性修改,所以彼此不认识并因此不信任的群体可以依赖这个新的数据结构来协调他们的活动。( 参见[美]Primavera De Filippi & Aaron Wright:《区块链与法律程式码之治》,王延川译,元照出版有限公司2019年版,第58页。)最初的区块链都是公共区块链,参与者在无中心化的情况下分布式存在。( 根据区块链的中心化程度不同,区块链可以分为公有链(Public Blockchain)、联盟链(Consortium Blockchain)和私有链(Private Blockchain),公有链是完全去中心化的,私有链是中心化的,联盟链是多中心化的。公有链是最早出现的,也是最能体现区块链技术优势的类型。如无特别说明,本文讨论的区块链指公有链。)而在分布式存储的计算机系统中,实现参与者之间的信任是非常困难的。
区块链解决这一问题的方案,是为发送信息加入成本,降低信息传递的速率,并加入一个随机数以保证这一段时间内只有一个参与者(矿工)可以进行传播。它加入的成本就是“工作量”,区块链的每一个参与者必须完成一个随机哈希算法的计算工作量才能向各城邦传播消息。( 参见长铗等:《区块链:从数字货币到信用社会》,中信出版社2016年版,第57页。)如前所述,区块链系统的各个节点进行分布式记账,通过哈希算法保证了每个交易区块信息传递的连续性与真实性,又通过非对称加密技术保证了信息传递的正确性与所有节点一致性。于是,各个节点对区块链系统内的所有信息与数据达成一致认识,而按照同一套协作策略行动,是为形成共识机制。
区块链的类型不同,其共识算法亦不同。因为参与者越分散,越没有权威的中心化机构存在,共识机制的形成越难。区块链系统的中心化程度越高,共识算法越简单,中心化程度越低,共识算法越复杂。因此,对于区块链的主要三种类型来说,公有链的共识算法最为复杂,相对而言,效率最低,资源消耗最大;私有链的共识算法最为简单,效率最高,资源消耗最小;联盟链居中。
一般来说,公有链的共识算法为工作量证明(Proof of Work,POW)、权益证明(Proof of Stake,POS),比特币和以太坊分别采用上述两种共识算法。这种共识算法下的数字货币是工作量证明的表现形式。而对于不需要数字“代币”的联盟链或者私有链而言,共识算法大多采用较为传统的一致性算法,如拜占庭容错(PBFT)、Paxos与RAFT,等等。
(四)区块链算法——信任机器
区块链通过自己的算法逻辑,使得陌生参与者在没有任何第三方介入的前提下,实现了相互信任、达成交易。在这一过程中,交易当事人之间的信息不对称、代理成本与机会主义等影响交易安全的不确定性因素并未消除,只是通过不依赖人主观意志的算法,使得参与者均认可系统内客观交易数据的真实性。从某种意义上说,这保障了交易的绝对安全。这一切并非人与人之间或者机构与机构之间等任何传统意义上的信任关系和信用机制,而是参与者对区块链技术的信任。因此,《经济学人》2015年十月号刊文称:区块链是信任机器,可以让相互并不信任的人们进行协作,而不必经过任何中心化机构。( See The Promise of Blockchain-The trust machine: The technology behind bitcoin could transform how the economy work. The Economist, Oct 31,2015.)
二、区块链算法的决策自动化
作为一种计算机技术,区块链之所以能够去中心化,一方面是其独有的算法机制使得所有参与者集体协作,保证了信息的共享性与真实性;另一方面系统的运行必须脱离任何人或者机构的控制,才能保障信息的客观真实、全网一致与不可篡改。区块链算法既是决策自动化的体现,也决策自动化的执行机制。参与者之间的权利义务必须在事前写入特定的计算机程序,以充分保障所有参与者的权益。区块链的这一特性,为智能合约(Smart Contract)在社会生活各个领域的广泛运用提供了最佳技术支持。
(一)区块链算法与智能合约
区块链是分布式系统,各个节点是分布式分类账本,其不只記录其他节点传递来的信息。作为共识系统的一部分,其必须确保记录的交易已经完成,与共识相匹配。就比特币而言,这意味着系统会自动执行财务汇款。用户不能在发起比特币的交易后又反悔,汇款对账和达成的同步也是交易程序的一部分。这一机制被称为智能合约。权利和义务规定以及契约协议的执行都在该平台有所体现。( 参见[美]凯文沃巴赫:《链之以法——区块链值得信任吗?》,林少伟译,上海人民出版社2019年版,第29页。)
智能合约的出现远远早于区块链技术,是Nick Szabo在20世纪90年代提出的。Nick Szabo认为智能合约是一组以数字形式指定的承诺,包括各方当事人在其中执行这些承诺的协议,由计算机系统自动执行。( See Nick Szabo, Smart Contracts: Building Blocks for Digital Markets, available at http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html. ) 智能合约是信息化时代电子化、理想化的契约形式,但囿于技术发展水平,在很长一段时间内,其仅仅停留在概念上,直到区块链技术的出现。作为区块链技术的最早应用形式,比特币交易过程完全是自动执行的。比特币系统建立在“可复制、共享的账本”之上,每个参与者均拥有一个完整交易账本的副本。智能合约是运行在区块链系统可复制、共享账本上的计算机程序,可以处理信息,接收、储存和发送价值。基于区块链技术的智能合约,不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可篡改。同时,由区块链自带的共识算法构建出一套状态机系统,使智能合约能够高效地运行。( 长铗等:《区块链:从数字货币到信用社会》,中信出版社2016年版,第122页。)
如果把区块链看作是一个数据库,智能合约就是能够使区块链技术应用到现实中的应用层,是利用计算机代码构建并存储在区块链中的去中心化协议,一旦满足代码所设定的条件便会自动触发合约执行。可以说,智能合约与区块链技术两相成全,前者拓展了后者的应用领域,后者保证了前者的性能。( 赵磊、孙琦:《私法体系视角下的智能合约》,载《经贸法律评论》2018年第3期,第19页。)最新发展趋势是区块链允许人们将小的代码片段,即智能合约上传至区块链,这样就可以实现智能合约在互联网每个节点上分散执行的效果,即区块链作为基础技术可以自动执行智能合约条款,即使这些条款与法律或合同条款并不存在实质性关系。( [美]Primavera De Filippi & Samer Hassan:《从“代码即法律”到“法律即代码”——以区块链作为一种互联网监管技术为切入点》,赵蕾、曹建峰译,载《科技与法律》2018年第5期,第8页。 )
(二)智能合约的运行机制
作为自动决策程序,智能合约既具有计算机程序代码,也具有传统合同元素,二者相对独立又相互联系。智能合约的运行机制一般包括三方内容:
一是每一个智能合约都必须有特定的条件框架(Conditional Framework),这一条件框架既符合合同法规则,也是计算机编码必需的。在合同法中,当事人作出允诺以换取其他当事人承诺:如果x这样做,y就会这样做。同样,在智能合约和构成它的计算机代码中,条件框架是其核心。在智能合约的编写中,条件语句是必不可少的。本质上,智能合约的自动运行是按照一定条件框架设计的计算机代码执行其编写的程序而已。( See Paul Catchlove, Smart Contracts: A New Era of Contract Use, (Dec.23, 2017), https://ssrn.com/abstract=3090226 (last visited on Jan.23,2020).)条件框架由多方参与者共同制定,完成智能合约的构建。
二是架构在区块链系统上的智能合约通过哈希算法进行数据存储。用户在某一区块链系统上部署智能合约以后,系统会自动分配给其一个合约账户,该账户里保存着智能合约的可执行字节码。一旦编码完成,智能合约就会被上传到区块链系统,全网验证节点都会收到相关信息,交易数据存储在区块链上,智能合约账户的状态数据存储在自己的账户内。所有数据均会在区块链系统中永久留下历史记录。
三是智能合约的执行是通过验证程序代码完成的。各个节点收到交易信息后,自动会对其进行签名验证,以确保交易的有效性。各验证节点对某一交易达成共识后,智能合约将自动执行,并通知交易当事人及全网。同时,智能合约自带的状态机会判断所属合约的状态,当合约中所有事务都顺序执行完后,状态机会将合约的状态标记为完成,并从最新的区块中移除该合约;反之将标记为进行中,继续保存在最新的区块中等待下一轮处理,直至处理完毕。
2016年诺贝尔经济学奖授予了奥利弗·哈特和本特·霍尔姆斯特伦。( The Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel 2016, https://www.nobelprize.org/prizes/economic-sciences/2016/summary/(last visited on Jan.23,2020).)哈特的主要贡献在于
不完全契约理论方面。所谓不完全契约是指缔约双方不能完全预见契约履行期内可能出现的各种情况,从而无法达成内容完备、设计周详的契约条款。一般而言,导致不完全契约的原因有二:一是有限理性;二是交易成本。这是所有传统合同难以避免的问题。智能合约将当事人之间的权利义务转化成计算机代码,通过区块链系统保证其运行的客观理性与自动化。一方面,智能合约是基于软件的比特算法,可以排除掉影响合同履行的人为因素,保障了交易安全;另一方面,区块链算法的自动化决策大大提高了合同履行的效率,降低了交易成本。从这个意义上说,智能合约中的代码不同于现有合同形式,与其说代码代表了合同,还不如说代码本身就是合同。( Kevin Werbach & Nicolas Cornell, Contracts Ex Machina.67 Duke Law Journal 313(2017):132.)
(三)以太坊:区块链算法决策自动化的最佳例证
比特币是区块链技术的最初应用,其十几年的成功运行充分验证了区块链技术的可行性与应用价值。但是,比特币是封闭的区块链平台,用户无法在其协议基础上对外扩展。而且,比特币仅仅是一种虚拟货币,除了在少数用户之间具有替代法定货币的价值交换功能,并不能满足社会生活其他方面的需求。基于此,作为比特币的底层技术,区块链被抽象出来并被尝试超越数字货币而应用到更为广阔的领域中去。
2013年,一位普通的比特币社区程序员Vitalik Buterin提出以太坊(Ethereum)的构想——“下一代加密货币与去中心化应用平台”,( Vitalik Buterin, Ethereum: A Next-Generation Cryptocurrency and Decentralized Application Platform, https://bitcoinmagazine.com/articles/ethereum-next-generation-cryptocurrency-decentralized-application-platform-1390528211(last visited on Jan.23,2020).)意图建立一个开源的有智能合约功能的公共区块链平台,并于2015年7月将这一构想付诸实践。与比特币系统不同,以太坊采用了图灵完备(Turing Completeness)( 1936年,英国数学家阿兰·麦席森·图灵提出了一种抽象的计算模型——图灵机( Turing machine),将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人类进行数学运算。图灵完备就是指程序员编写的各种代码语言,再加上一种运算规则,能在图灵机这种虚拟机中完美的运算。)的编程语言。图灵完备本来就是指由虚拟的图灵机替代人类进行数学运算,将其与区块链技术结合,完美地为区块链算法决策自动化提供了代码解决方案。基于以太坊平台的应用是智能合约,采用多种编程语言实现协议,为区块链技术的广泛应用提供了无限可能性。
三、区块链算法对现行法律制度的挑战
区块链的去中心化特点决定着其是颠覆性的技术手段,甚至被认为掀起了“第四次工业革命”的浪潮。( 参见李国权、闫黎:《区块链澎湃第四次工业革命浪潮》,载《高科技与产业化》2017年第5期,第39页。)与此同时,区块链技术尤其是其特有的算法势必对现行法律制度也带来极大的挑战和机遇。
(一)区块链算法对担保与信用机制的改变
商事交易活动绝大多数情况下是在陌生人之间发生的,陌生人之间发生交易的基础是相互信任,彼此相信对方会如约履行承诺。一项交易达成、履行与完成的过程,充满着许多不确定性因素,对当事人来说蕴含着交易目的不能实现的风险。( 赵磊:《商事信用:商法的内在逻辑与体系化根本》,载《中国法学》2018第5期,第161页。) 为了保障交易安全,传统法律制度设计了较为完备的担保体系。不过,无论是人的担保,还是物的担保,都是在商事交易本身以外引入“第三方”,抵御交易可能產生的风险。在没有任何担保的前提下,交易安全很大程度上则取决于当事人的信用是否良好。商事交易因信用机制而达成交易,也未能完全脱离“第三方”的干预。
区块链技术产生伊始,其目的就是“去中心化”或“去中介化”,在当事人之间直接进行“点对点”的交易,排除任何第三方的干预。这一功能的实现是由于区块链技术采用了特殊算法机制。区块链技术的算法机制充分消除了交易当事人之间的不信任,降低了交易不确定性,使得当事人之间的道德风险与机会主义难以发生。换句话说,区块链算法使得交易不再考虑人与人之间的信任、不再考虑是否有物的担保,甚至不再考虑交易相对人的信用如何,算法保证了交易安全。因此,传统法律框架下的担保机制与信用机制在区块链世界中,已无太大的用武之地。
当然,这并不是说区块链排除了法律规则的适用,只不过是改变了传统法律制度的运行机制。区块链技术基于法律框架,不仅通过预设自动执行的智能合约,在约束并引导人们的行为时引入技术,而且依靠技术使信息更加透明、数据更加可追踪、交易更加安全,大大降低了法律的执行成本,呈现出法律规则和技术规则协同作用、相互补充,法律与经济融为一体、逐渐趋同的态势,法律的约束与执行逐渐走向智能化。( 参见唐文剑等编著:《区块链将如何重新定义世界》,机械工业出版社2016年版,第47页。)
(二)合同法视角下的智能合约
智能合约是区块链算法的核心,也是区块链技术对传统法律制度冲击最大的部分。智能合约通过区块链系统可以做到交易的自动化,极大提高了交易效率,一定程度上降低了交易成本,对交易安全的保障也有积极意义。但是,在合同法视角下,智能合约至少存在以下几方面的问题:
其一,在法律框架下确定智能合约的内容是困难的。智能合约是以代码形式呈现出来并运行于区块链系统中的计算机语言,其在编辑时如何体现当事人的权利义务、是否应当由技术人员、法律专业人士以及区块链系统的用户共同参与制定,以及是否可以将法律框架下涉及当事人权利义务的“法言法语”编辑成代码,放到智能合约中去,等等。这些问题是令法律人困惑的,目前看来,尚未有令人满意的答案。
其二,当智能合约用于记录全部或部分法律协议时,它们产生了新的挑战和弊端。它们不像书面协议那样私密,就其密码没有以人类可读语言公开揭露和解释而言,它们可能促使甚少有人理解的标准化合约安排的形成。更令人担忧的事实是,区块链智能合约的自主和去中介性可以支持和促进犯罪活动。区块链技术有可能影响法律协议,无论是积极还是消极的,各方都可以依靠加密安全法来创建促进违法活动的智能合约。([美]Primavera De Filippi & Aaron Wright:《区块链与法律程式码之治》,元照出版有限公司2019年版,第101页。)
其三,全流程自动化的智能合约不能适应千变万化的现实生活,可能会造成当事人合法权益的损害。从理论上说,将智能合约用于商事活动,可以解决信任与担保问题。合同的磋商、订立与履行的各个阶段被计算机程序取代,不必要的人为因素甚至司法干预都可以被排除掉,也不会出现违约问题。纯粹从技术角度来看,确实如此。但是,现实生活中的商事活动是非常复杂的,不但当事人主观上协商一致可以变更或解除合同,而且如有不可抗力、情势变更等客观情形发生,当事人可以主张合同变更、解除或免除违约责任。对于智能合约而言,上述情况发生时也无法阻止合同的自动执行,可能会侵害当事人合法权益,甚至可能违背了双方当事人的意思自治。The Dao事件中,智能合约的自动代码运行于去中心化的分布式平台,取代法律、中介和人际关系成为信任的实现载体。黑客利用The Dao智能合约中的编程错误非法盗取平台巨额资金时,其智能合约依然自动运行,无法辨识窃贼和合法客户,更无法追回被盗资金。( See Klint Finley, A $50 Million Hack Just Showed That the DAO Was All Too Human,(June.18,2016), https://www.wired.com/2016/06/50-million-hack-just-showed-dao-human/(last visited on Jan.25,2020).)这对于传统合同来说,是无法想象的。
其四,智能合约会增加新的成本。传统合同是灵活的,当事人可以使用绩效标准(通常定义的合同条款)来创建可执行的协议,而无需完全了解将来可能发生的情况。当事人还可以将商业惯例纳入协议,从而避免了明确但多余的谈判。同时,在合同履行过程中,当事人可以通过非正式修改或有选择地执行动态调整合同。这两种形式的灵活性和合同履行的自由裁量权,实际上是提高了交易的整体效率。智能合约消除上述灵活性,可能会产生比其寻求解决的成本更为严重和棘手的成本。( See Jeremy Sklaroff, Smart Contracts and the Cost of Inflexibility, University of Pennsylvania Law Review, Vol. 166, p.264(2017). )
(三)区块链算法下的权利保护
区块链技术的主要特征是匿名性,非对称加密算法的应用,使得用户信息的全网共享与隐私保护相结合成为可能。虽然在比特币这样的区块链系统中,交易内容和节点地址都是公开可见的,但是各个节点却无法获知其他节点背后用户的真实身份。通俗地说,在区块链的世界里,没有人知道你是一条狗。( See Michael Cavna, ‘Nobody Knows Youre a Dog: As Iconic Internet Cartoon Turns 20, Creator Peter Steiner Knows the Joke Rings as Relevant as Ever, WASH. POST (July 31, 2013), https://www.washingtonpost.com/blogs/comic-riffs/post/nobody-knows-youre-a- dog-as-iconic-internet-cartoon-turns-20-creator-peter-steiner-knows-the-joke-rings-as- relevant-as-ever/2013/07/31/73372600-f98d-11e2-8e84-c56731a202fb_blog.html(last visited on Jan.27,2020).)理論上,节点信息的匿名性在完全去中心化的区块链系统中很难被突破,用户的个人信息很难被他人侵害。
区块链系统都是特定用户用来从事某种交易或者其他活动的载体,无论在何种应用场景下,有两个要素不可或缺:一是主体,即区块链系统的用户;二是行为,即商事交易或其他社会活动。因此,在区块链2.0和3.0阶段的应用场景中,至少应该在两个方面加强用户的权利保护。以区块链在金融领域的应用为例:一是用户身份的匿名性。各种金融机构之间有效和安全地共享用户数据的困难可能导致用户重复身份验证的高昂成本。这也间接带来了某些中介机构披露用户身份的风险。另外,在某些情况下,交易的一方或双方可能不愿意让另一方知道其真实身份。二是交易的保密性。在线交易系统应尽可能最少地披露用户交易和帐户信息,包括:(1)任何未经授权的用户都无法访问用户的交易信息;(2)未经管理员允许,系统管理员或网络参与者不得向他人透露任何用户的信息;(3)即使在意外故障或恶意网络攻击下,也应始终安全地存储和访问所有用户数据。( See Rui Zhang, Rui Xue& Ling Liu, Security and Privacy on Blockchain, ACM Computing Surveys, Vol.1, No.1, Article 1.2019. 1:13. )
四、规制算法与算法规制
作为一种解决节点如何形成共识的技术方案,区块链算法本来只存在于虚拟空间,与现实世界中的法律制度貌似互不相关。不过,一旦区块链技术进入到具体的应用场景,势必会涉及各方主体的权利义务,甚至会涉及公共利益,影响到社会秩序。区块链规制的核心是采取适当的激励措施,以诱导市场行为者的意向行为,从而解决追求私人利益最大化所引起的外部性问题。
(一)技术是中性的吗?——区块链算法规制的必要性与可行性
技术是一种客观存在,对其不应该附加任何价值判断,有利还是有害完全取决于应用技术的人。因此,有人主张“技术价值中立论”,指技术只是一种方法论意义上的工具和手段,在政治上、伦理上和文化上是中性的,没有好坏、善恶以及对错之分,即技术本身不包含任何价值判断。( 王树松:《技术之“是”与“应该”》,载《理论界》2004第4期,第76页。)就区块链算法而言,其在加密货币方面的应用,可能被不法分子用来从事洗钱、赌博、贩毒等犯罪活动,也可以被用于法定数字货币的发行,成为金融创新的有益尝试。从这个意义上说,对技术没必要规制。另外,作为一种客观的、静态的存在,技术不被使用时也无法进行规制。
存在主义哲学大师海德格尔认为:“尽人皆知对我们这个问题有两种回答。其一曰:技术是合目的的手段。其二曰:技术是人的行为。这两个关于技术的规定原是一体的,因为设定目的,创造和利用目的的手段,就是人的行为。”( [德]马丁·海德格尔:《演讲与论文集》,孙周兴译,生活·读书·新知三联书店2005年版,第4页。)这就将技术这一客观存在解读为人的行为。海德格尔进一步论述道:“现代技术也是一个合目的的手段,因此,关于技术的工具性观念规定着每一种把人带入与技术的适当关联之中的努力。一切都取决于以得当的方式使用作为手段的技术。正如人们所言,我们要‘在精神上操纵技术。我们要控制技术。技术愈是有脱离人类统治的危险,对技术控制意愿就愈加迫切。”( [德]马丁·海德格尔:《演讲与论文集》,孙周兴译,生活·读书·新知三联书店2005年版,第4-5页。)
可见,技术的工具性观念有其目的导向,这并不是技术本身的问题,而是技术的创造者和使用者的行为。从规制的角度来看,所有的社会活动均是由特定主体的行为完成的。规制技术应该从两方面入手:一是主体方面,规制技术的创造者和使用者;二是行为方面,规制技术的具体应用。区块链作为一种计算机、大数据以及互联网领域的科学技术,是静态的客观存在,其自身并不会给社会带来任何危害,只有该技术被应用到具体的场景中,才可能會涉及社会利益或者公共利益。因此,单纯地对区块链技术进行监管既无必要,也不可行,需要根据区块链的不同类型,结合具体应用场景讨论。( 赵磊:《区块链如何监管:应用场景与技术标准》,载《中国法律评论》2018年第6期,第178页。)
具体说来,规制区块链算法应该从以下四个方面着手:一是从规制对象来说,应该对区块链算法的制定者和使用者加强监管;二是从规制的场域来说,应该根据区块链算法的具体应用场景进行规制;三是从规制的阶段来说,应该贯穿区块链算法制定与实施全流程,即事前监督、事中监督与事后监督相结合;四是从规制的方法和路径来说,要将区块链算法纳入现行法律制度框架内,即“依法治链”。同时,要根据具体情况,争取实现利用区块链算法机制来监管区块链算法,即“以链治链”。
(二)依法治链:规制区块链算法
区块链算法在形式上看是由计算机程序代码、密码以及特定运算方法构成,与传统法律制度逻辑严密的、规范化的行为规则相去甚远,但从其规则自身、目的导向以及行为结果来看,是可以纳入到现行法律制度框架来的。
1.从公法的角度看,区块链算法要符合密码法和网络安全法的相关规定
密码学原理是区块链算法的核心,是区块链分布式账本数据真实有效、不可篡改的关键。非对称加密算法、哈希算法与智能合约都离不开密码。《中华人民共和国密码法》(以下简称《密码法》)第2条规定:“本法所称密码,是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。”区块链算法的主要功能就是对数据加密和认证,完全符合此处界定的密码范畴。《密码法》对区块链算法的规制具有极其重要的意义,其关于商业密码的大部分规定对区块链算法均适用。区块链算法的程序设计也应该严格遵守《密码法》相关规定,加强个人隐私与信息安全保护。另外,《中华人民共和国网络安全法》(以下简称《网络安全法》)的相关规定也适用区块链算法的规制。该法第22条规定:“网络产品、服务应当符合相关国家标准的强制性要求。网络产品、服务的提供者不得设置恶意程序;…… 网络产品、服务具有收集用户信息功能的,其提供者应当向用户明示并取得同意;涉及用户个人信息的,还应当遵守本法和有关法律、行政法规关于个人信息保护的规定。”可以看出,如果有组织或者个人利用区块链算法从事非法侵害他人利益与社会公共利益的,应当属于此处“恶意程序”的范畴,为该法明令禁止。同时,该法强调个人的信息安全和隐私保护,课以区块链技术的产品设计方与提供方对用户的说明告知义务,以保障用户的知情权。
2.智能合约纳入合同法框架予以规制
如前所述,智能合约给传统合同法带来极大的挑战。有人甚至认为智能合约是合同法的2.0版本,是传统合同法终结的开始。( Alexander Savelyev, Contract law 2.0: ‘Smart contracts as the beginning of the end of classic contract law, Information & Communications Technology Law, Vol.26, 2017(2):116.) 比较传统合同和智能合约,可以看出法律制度和计算机代码形成并行系统,在规范性和逻辑方面彼此平行发展。一个规范社会领域,另一个规范信息系统。( See Gabriel Olivier Benjamin Jaccard, Smart Contracts and the Role of Law. Jusletter IT 23. November 2017:8.)二者的交集在于智能合同是否应用到社会领域中来,以及如何把传统合同的规范性融入信息系统之中。具体而言,传统合同法对智能合约的规制体现为两方面:
一方面,就智能合同而言,无论其形式表现为何与履行过程如何,如果其运行的最终结果对相关当事人的民事权利义务有实质性影响的,则应当受传统合同法的约束。比如,智能合约的效力也要符合相关法律规定,如果当事人对智能合约存在重大误解,可以向人民法院或者仲裁机构请求撤销。
另一方面,在智能合约的程序语言编写时,应该考虑其运行结果对参与者权利义务的影响,充分征求事前参与者的意见,将其合理诉求转化为程序语言,写入智能合约。对于已经开始运行的区块链系统而言,负责运行的平台应该向后来加入者充分告知说明智能合约运行的结果。
3.智能合约形成的新型财产权
智能合约中的POW(工作量证明)、POS(权益证明)是其共识算法,同时也是对参与者权益的肯定与证明,在功能上形成某种新型的财产权。比特币的“挖矿”机制,是通过智能合约共识算法的运行,给予付出一定“算力”节点的奖励。通过“挖矿”行为取得比特币,从法理上说,属于物权原始取得根据中的劳动生产。在承认数据权利的前提下,应该承认其合法性。(赵磊:《论比特币的法律属性——从HashFast管理人诉Marc Lowe案谈起》,载《法学》2018年第4期,第155页。) 这种机制后来发展为Token(通证),作为智能合约共识算法的证明。区块链的Token机制,通过加密算法和分布式账本来确定真伪,以及资产的唯一性,并通过共识算法进行流通。
区块链技术肇始于比特币,自从Ross Ulbricht于2011年2月推出“丝绸之路”(Silk Road)( 丝绸之路由Ross Ulbricht于2011年2月创办,是暗网中最受推崇的“电商”,从事贩毒、色情以及暗杀等种种严重犯罪活动,交易过程全程加密,所有交易只接受比特币支付。2013年10月,Ross Ulbricht被美国FBI抓获,网站被关闭。)网站以来,加密货币一直在挑战着各国政府的监管能力,给各国法律制度带来极大冲击,甚至可以说是噩梦。( See Simon Chandler, Smart Contracts Are No Problem for the Worlds Legal Systems, so Long as They Behave Like Legal Contracts, (Feb.08, 2019), https://cointelegraph.com/news/smart-contracts-are-no-problem-for-the-worlds-legal-systems-so-long-as-they-behave-like-legal-contracts(last visited on Jan.28,2020).)加密貨币不仅可能会被作为犯罪工具,更冲击着各国法定货币体系。目前,绝大多数国家并未承认比特币、以太币等加密货币的法定货币地位,但是也很少有国家完全否定其财产属性。对于智能合约形成的新型财产权应该区别对待,不宜全盘否定。对于打着区块链幌子进行ICO发行的应该全面禁止,而区块链共识算法中的Token机制,应该承认其为一种新型财产权。
(三)“以链治链”:利用算法规制区块链
传统法律制度是建立在社会的网格化、科层化与组织化基础上的,对横空出世的区块链,缺乏解决去中心化分布式记账技术问题的监管手段,所导致的结果即以中心化为监管对象的法律与新兴技术带来的问题是不匹配的。( Carla L. Reyes, Moving Beyond Bitcoin to an Endogenous Theory of Decentralized Ledger Technology Regulation: An Initial Proposal, Villanova Law Review, vol.61, 2016(1):211.)这就要求我们一方面加强区块链技术的相关立法工作,构建一套完整的规制框架,另一方面根据区块链技术的特点,利用区块链规制区块链,“以链治链”。
1.确立区块链技术标准,建立区块链系统测试机制
一项宣称为区块链技术的项目或产品,是否是真的区块链,只能用区块链技术标准去衡量。《密码法》第22、23条规定,商用密码必须符合国家标准以及国际标准。目前,区块链技术的国家标准和国际标准都在制定过程中,一旦标准确定,所有区块链算法都要严格依其行事。区块链算法的设计与实施机构应当主动接受商用密码的检测、认证,以便净化区块链市场,有效打击和防止市场上鱼目混珠的“假区块链”与“伪区块链”。
2.建立区块链产业信用机制
通过向社会公开的平台,区块链企业籍此进行服务备案、发布相关信息,起到公示公信的作用。2019年1月10日,国家互联网信息办公室发布《区块链信息服务管理规定》,自2019年2月15日起施行。该规定是我国第一部专门规制区块链技术的规范性文件,旨在明确区块链信息服务提供者的信息安全管理责任,规范和促进区块链技术及相关服务健康发展,规避区块链信息服务安全风险,为区块链信息服务的提供、使用、管理等提供有效的法律依据。
3.加强区块链行业自律
真正掌握和理解区块链技术的是区块链产业的从业者,他们也是区块链技术合规合法发展最大的受益者。如果区块链产业野蛮生长,违法违规现象屡禁不止,政府一定会强化监管。如果区块链技术被用来从事违法犯罪活动,社会公众利益受到侵害,哪怕是少数从业者所为,其带来的外部效应同样会波及其他合法合规企业。因此,建立区块链行业自律组织,由从业者相互监督、共同制定从业规范与技术标准,既有利于区块链行业规范发展,也有利于推动技术进步和产业合作。
结 语
区块链技术的出现并不是来自空中楼阁,其今后发展也不可能脱离互联网和技术原来的脉络,作为一种数据存储机制,其必然也会承接数据结构发展的既定规律。( 龚鸣:《区块链社会:解码区块链全球应用与投资案例》,中信出版社2016年版,第355页。)算法是区块链技术的核心,其运行机制客观而理性,发展规律也更易捕捉。深入理解与正确认识算法是应用区块链技术的前提基础,如何利用其特殊算法解决现实问题是区块链产业发展的关键。
近年来,随着大数据、云计算以及移动互联网等技术的发展,在共享经济与平台经济的助推下,算法在经济发展与社会生活中的应用越来越广泛,已经脱离了单纯的技术领域,成为一个涉及经济、伦理与法律等多方面的社会问题。因此,这也引发了学术界关于算法研究的热潮。学者们在算法研究领域,提出了许多包括“算法歧视”“算法共谋”以及“算法透明”等有价值的命题,并且给出了一些极具理论与实践价值的解决方案。不过,区块链算法有其特殊性,上述问题很多在区块链技术中或者没有体现,或者并不重要,抑或呈现的面貌不同。本文关于区块链算法的研究只是一个粗浅的尝试,也是一个开始,希望区块链实务界人士与学界同仁将这一话题延续下去、深入挖掘,合理利用区块链算法,使这一伟大技术革命真正能够增进社会福祉。
Algorithms Regulation of Blockchain
ZHAO Lei
(Institute of Law, Chinese Academy of Social Sciences, Beijing 100720, China)
Abstract:The Internet and computer systems are the infrastructure of blockchain technology. Encryption algorithms are the technical foundation of blockchain. Algorithmic trust is the core mechanism of blockchain technology. As a result, blockchain technology has achieved interpersonal trust, institutional trust, and machine trust. The blockchain algorithms are based on objective data and relies on specific calculation methods to run automatically. They are not controlled by anyone. Both parties to the transaction fully trust the algorithm, not a third party. The blockchain algorithms are not only the embodiment of decision automation, but also the execution mechanism of decision automation. The rights and obligations between participants must be written into a specific computer program in advance to fully protect the rights and interests of all participants. Blockchain algorithms have changed the guarantee and credit mechanism under traditional law. The smart contract is the core of the blockchain algorithms, and it is also the part where the blockchain technology has the greatest impact on the traditional legal system. The regulation of the blockchain algorithms must be run under the traditional legal framework, and the rule of the chain and the rule of the chain are combined.
Key Words: blockchain; algorithms; consensus mechanism; legal regulation
本文責任编辑:李晓锋
收稿日期:2020-01-15
基金项目:中国社会科学院国情调研重大项目“互联网金融风险的法律规制”(GQZD2020007)
作者简介:
赵磊(1974),男,河北泊头人,中国社会科学院法学研究所研究员,法学博士。
① Aaron Wright & Primavera De Filippi, Decentralized Blockchain Technology and the Rise of Lex Cryptographia, https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2580664, p.43.