新闻动态
央行发文:区块链能做什么、不能做什么?

浏览次数:346 发布时间:2019-11-04 09:13:00

摘编:今天中国人民银行发布了 2018 年第 4 号工作论文,即《区块链能做什么、不能做什么?》,作者为徐忠和邹传伟,他们分别为中国人民银行研究局研究员和副研究员。

这是中国人民银行研究局今年发布的第四篇工作论文,该文从经济学角度研究了区块链的功能。首先,在给出区块链技术的经济学解释的基础上,归纳出目前主流区块链系统采取的“Token 范式”,厘清与区块链有关的共识和信任这两个基础概念,并梳理智能合约的功能。其次,根据对区块链内 Token 的使用情况,梳理了目前区块链的主要应用方向,再讨论 Token 的特征、Token 对区块链平台型项目的影响、区块链的治理功能以及区块链系统的性能和安全性等问题,最后总结并讨论区块链能做什么、不能做什么。 

以下是论文全文:

一、引言

区块链最早作为比特币的底层技术由 Nakamoto(2008)提出。但比特币的脚本语言缺乏图灵完备性 2(Turing completeness),使用的 UTXO(unspent transaction output,未使用交易输出)模型难以支持复杂的状态操作。为此,Buterin(2013)提出了以太坊(Ethereum)。

以太坊是一个基于账户模型的区块链系统,脚本语言具有图灵完备性,目标是实现 Szabo(1994)提出的智能合约(smart contract)并支持分布式应用(decentralized application,简称是 DApp)。

随着 2014 年美国 R3 公司创立和 2015 年 Linux 基金会发起 Hyperledger 项目,区块链受到了越来越多主流机构的重视。比如,Goldman Sachs(2016)讨论了区块链在共享经济、智能电网、房地产保险、股票市场、回购市场、杠杆贷款交易以及反洗钱(anti-money laundering,简称是 AML)和「了解你的客户」(know your customer,简称是 KYC)中的应用。

中国区块链技术和产业发展论坛 2016 年 10 月发布的《中国区块链技术和应用发展白皮书(2016)》讨论了区块链在金融服务、供应链管理、文化娱乐、智能制造、社会公益和教育就业等领域的应用场景。

2009 年 1 月,比特币网络上线标志着区块链应用落地。但从那时至今近 10 年时间里,除了加密货币(cryptocurrency)发行和交易之外,区块链没有得到大规模应用。截至 2018 年 10 月 31 日,CoinMarketCap 网站统计了全球范围内的 2086 个加密货币和 15545 个加密货币交易所,全体加密货币的市值约 2035 亿美元(其中比特币市值占比为 54%),过去 24 小时交易量约 106 亿美元;但 DappRadar 网站统计了以太坊及其上 1137 个分布式应用,发现过去 24 小时活跃用户数只有 12521 人,其中只有 2 个分布式应用的 24 小时活跃用户数超过或接近 1000 人,而且比较活跃的分布式应用集中在游戏、博彩和加密资产交易等与实体经济关系不大的领域。普华永道会计师事务所 2018 年 8 月对 15 个国家的 600 名公司高管的调查发现,有 84% 的公司对区块链感兴趣,但 52% 的公司的区块链项目处于研发状态,10% 的公司有区块链试点项目,只有 15% 的公司有正在运行的区块链项目。

区块链没能大规模应用的一个重要原因是物理性能不高(特别对公有链)。比如,比特币每秒钟最多支持 6 笔交易,而 Paypal 平均每秒钟能支持 193 笔交易,Visa 平均每秒钟能支持 1667 笔交易。

很多从业者和研究者讨论如何提高区块链物理性能,包括中继网络(relay network)、分片(sharding)、增加区块大小、隔离见证(SegWit)、有向无环图结构(DAG)、跨链、侧链、状态通道(以比特币闪电网络为代表)以及压缩交易信息的技术(比如 Mimblewimble)等。袁煜明和刘洋(2018)对这些方向做了全面介绍。提高区块链物理性能的另一个重要方向是改进共识算法(consensus algorithm),特别是从工作量证明(proof of work,简称是 POW)转向权益证明(proof of stake,简称是 POS)。袁勇等(2018)综述了常见的区块链共识算法。在一些应用场景中使用联盟链或私有链而非公有链,也是绕开区块链物理性能瓶颈的重要方面。

本文从经济学角度研究了区块链能做什么、不能做什么。即使将来区块链物理性能瓶颈得以缓解,本文研究一些经济学问题仍将存在。本文共分四部分。

第一部分是引言。

第二部分是对区块链技术的经济学解释,相当于用经济学语言「翻译」区块链技术。这一部分归纳出目前主流区块链系统采取的「Token 范式」(Token 在不同语境下有多种中文翻译,比如加密货币、加密资产、代币和通证等,为避免混淆或歧义,本文主要用 Token 而非其中文翻译),厘清与区块链有关的共识和信任这两个基础概念,并梳理智能合约的功能。

第三部分研究区块链的经济功能。这一部分先梳理区块链的主要应用方向,再讨论 Token 类似货币的特征、Token 对区块链平台型项目的影响、区块链的治理功能以及区块链系统的性能和安全性等问题。

第四部分总结全文并讨论区块链能做什么、不能做什么。

二、对区块链技术的经济学解释

区块链涉及计算机技术和经济学。本部分对区块链技术给出经济学解释,辨析在与区块链有关的共识、信任和智能合约等方面的常见误解,为第三部分研究区块链的经济功能打下基础。

(一)区块链的 Token 范式

目前主流区块链系统,不管采取以比特币为代表的 UTXO 模型,还是以以太坊为代表的账户模型,也不管脚本语言是否具有图灵完备性或是否支持智能合约,都具有 3 个关键特征,可以归纳为「Token 范式」:

第一,共识算法针对区块链内的 Token。Token 本质上是区块链内定义的状态变量,Token 可以在区块链内不同地址之间转让,转让过程中 Token 总量不变(也就是在转出地址减少 1 个 Token 的同时,转入地址增加 1 个 Token)。有些区块链系统限定了 Token 的总量上限,比特币就属于这种情况。

Token 在区块链内不同地址之间转让时,Token 的状态(指区块链内各地址内有多少 Token)更新和交易确认同步发生。比如,Alice 向 Bob 转了一笔比特币,这笔比特币交易被记入区块链的同时(也就是交易被打包进某一区块并接入区块链),Alice 和 Bob 对应公钥的 UTXO(可以理解为比特币区块链内的账户余额)同时更新。因此,Token 被交易时,不会形成传统意义上的结算在途资金或结算风险。

第二,Token 与智能合约之间有密不可分的联系。Token 本身是智能合约的体现。比如,以以太坊 ERC20 为代表的 Token 合约规定 Token 的总量、发行规则、转让规则和销毁规则等一系列逻辑。Token 合约管理着一系列状态,记录哪些地址有多少 Token 等账本信息。在 Token 合约的基础上,可以构建对 Token 执行复杂操作的智能合约。这些智能合约执行的结果主要是,Token 的状态发生变更。本部分第三小节将分析智能合约的功能。

第三,按照是否与 Token 的状态和交易有关,区块链内的信息分成两类——有关系的和没有关系的,这两类信息在共识算法下有完全不一样的地位。节点在运行共识算法时,重点检验第一类信息是否符合预先定义的算法规则,第二类信息作为 Token 交易的附加信息写入区块链,节点不会检验这类信息的真实准确性。比如,比特币节点会检验随机数(nonce)是「挖矿」问题的解,以及区块中的交易在数据结构、语法规范性、输入输出和数字签名等方面符合预先定义的标准。但对比特币创世区块中的「The Times 03/Jan/2009 Chancellor on brink of second bailout for banks」,节点不会也没有能力验证这句话的真实准确性。

区分这两类信息是理解区块链共识范围的关键。区块链共识针对与 Token 的状态和交易等有关的信息。比如,比特币共识决定了截至某一区块,各地址对应的 UTXO 数量以及地址之间转让比特币的记录。而区块链内与 Token 的状态或交易等无关的信息基本不属于共识的范围。特别是,区块链外信息写入区块链内的机制,一般被称为预言机(oracle mechanism)。如果区块链外信息在源头和写入环节不能保证真实准确,写入区块链内只意味着信息不可篡改,没有提升信息的真实准确性。但区块链有助于解决数据登记追溯问题,登记在区块链内的数据有可追溯的主体身份签名并可用于事后审计,而且上链数据的不可篡改性也有助于控制操作风险。

(二)区块链内的共识和信任

共识(consensus)和去信任(trustless)是区块链两个非常重要的基础概念。这两个概念脱胎于计算机领域,很难在经济学上予以严格定义,却很容易被误解。比如,将共识等同于消除了信息不对称或实现了共同信念,将去信任等同于没有信用风险。

1. 共识的界定

目前对区块链共识的讨论,涉及三种不同语境下的共识概念——机器共识、治理共识和市场共识,其中治理共识和市场共识可以称为「人的共识」。很多误解就源于混淆了这三类共识,或者泛化了共识的范围和性质。

第一,机器共识。机器共识属于分布式计算领域的问题,目标是在存在各种差错、恶意攻击以及可能不同步的对等式网络中(peer-to-peer network),并且在没有中央协调的情况下,确保分布式账本在不同网络节点上的备份文本是一致的(不是语义一致)。

对等式网络的节点(特别是负责生成和验证区块的节点)有诚实节点和恶意节点之分。诚实节点遵守预先定义的算法规则(主要是共识算法),能完美地发送和接收消息,但其行为完全是机械性的。恶意用户可以任意偏离算法规则。在一定限制条件下(比如比特币要求 50% 以上算力由诚实节点掌握),算法规则保证了机器共识的可行性、稳定性和安全性。机器共识的范围限于区块链内与 Token 的状态和交易等有关的信息。

第二,治理共识。指在群体治理中,群体成员发展并同意某一个对群体最有利的决策。比如,比特币社区关于「扩容」和分叉的讨论可以在治理共识框架下理解。治理共识的要素包括:

1. 不同的利益群体;

2. 一定治理结构和议事规则;

3. 相互冲突的利益或意见之间的调和折衷;

4. 对成员有普遍约束的群体决策。袁勇等(2018)指出,治理共识涉及人的主观价值判断,处理的是主观的多值共识,治理共识的参与者通过群体间协调和协作过程收敛到唯一意见,而此过程如果不收敛,就意味着治理共识的失败。

第三,市场共识。Token 参与交易时(不管是不同 Token 之间交易,还是 Token 与区块链外资产或权利交易),就涉及市场共识。市场共识体现在市场交易形成的均衡价格中。三类共识之间存在紧密而复杂的关系。机器共识是对等式网络的节点运行算法规则的产物,治理共识反映由人(包括网络节点的拥有者或控制着)来制定或修改算法规则的过程。市场共识受机器共识和治理共识的影响。

比如,如果分布式账本的安全性没有保障(即机器共识失效),比特币的市场价格将受到毁灭性冲击。再比如,2017 年比特币社区对「SegWit2x」的讨论(即引入隔离见证并将单个区块的大小从 1M 提升到 2M),对当时比特币价格走势有明显的影响,就体现了治理共识对算法共识的影响。下文如无特别说明,讨论的均是机器共识。

2. 去信任含义的辨析

去信任源于 Token 被交易时,Token 的状态变更和交易确认同步发生这一安排。设想 Alice 以比特币向 Bob 买入某一货物。Alice 向 Bob 支付比特币这一过程无需两人之间有任何了解,也无需受信任的第三方机构,就可以在区块链内有保障地进行。这是去信任的真正含义。但在交易的另一端,Alice 如何确保 Bob 会按时向她交付合格的货物?只要做不到一手交比特币、一手交货,就存在不容忽视的交易对手信用风险。只有准确识别、评估信用风险并引入风险防范措施,很多交易才能进行。比如,在暗网交易中,交易平台通常设立第三方托管账户(escrow account)。买方先将比特币打入第三方托管账户,等收到商品并确认后,才通知交易平台将比特币转给卖方。如果没有第三方托管账目这个增信手段,比特币忠实拥趸之间的交易也会大幅减少。

因此,区块链内的去信任环境,不能简单外推到区块链外。一旦脱离 Token 交易等原生场景,区块链要解决现实中的信任问题,往往需要引入区块链外的可信中心机制予以辅助。

(三)智能合约的功能

智能合约是运行在区块链内、主要对 Token 进行复杂操作的计算机代码。目前区块链内有限的运行环境,使得这类代码远没达到智能阶段。甚至可以说,目前的智能合约,既不智能,也不是合约。这一小节针对「在一定触发条件下从 A 地址往 B 地址转 X 数量的 Token」这一基本操作总结智能合约的功能。

第一,产权层面的功能。A 地址和 B 地址可以属于账户或智能合约。地址中的 Token 具有产权含义。比如,如果 A 地址属于发行地址,那就对应着 Token 的产生(一级市场);如果 B 地址属于销毁地址(即类似 0x0000..0000 的不对应着私钥的特殊地址),那就对应着 Token 的销毁;两个地址之间的 Token 转移,就对应着产权变更。

第二,流程层面的功能。一笔 Token 转让要有效,转让发起者必须拥有对 A 地址中 X 数量的 Token 的操作权限,并且智能合约的触发条件被满足。发起者将转让信息传播到分布式网络后,其他节点验证发起者是否拥有 A 地址的操作权限、触发条件是否被满足以及 A 地址中的 Token 数量是否超过 X。其中,对 A 地址的操作权限体现为相关签名操作(往往涉及多重签名),触发条件取决于区块链内外信息(其中区块链外信息需先写入区块链内),转让数量 X 既可以由人工来决定,也可以由公式来决定,从而实现或有支付(contingent payment)或比较复杂的偿付结构(payoff structure)。智能合约的执行只有「成功」、「失败」两种情形,不存在中间情形。特别是,如果转让发起者不能确保 A 地址中的 Token 数量超过 X,智能合约的执行就会失败。

第三,经济社会层面的功能:

1. 投票,往某一地址转 Token 可以理解为投票;

2. 抵押,先将一定数量的 Token 转给某一智能合约,约定在未来时点并满足一定条件时,Token 可被返还;

3. 冻结和解冻,冻结是将一定数量的 Token 用时间锁(time lock)锁定,从而暂时放弃 Token 的流动性,到期才解冻。基于投票、抵押以及冻结和解冻等基础功能,智能合约可以支持比较复杂的治理功能(见第三部分第二和第三小节)。

然而,智能合约的功能短板不容忽视。

第一,在智能合约的触发条件取决于区块链外信息时,这些信息需先写入区块链内,但至今没有普遍适用的去中心化预言机方案。目前讨论得比较多的预言机有两类。一是依赖某一中心化信息源(比如彭博、路透),但这与区块链的去中心化宗旨背道而驰。二是将区块链外信息离散化后用经济激励和投票写入区块链。这类机制依靠群体智慧,根据投票结果对奖惩投票人,投票越接近全体投票的平均值、中位数或其他样本统计量的投票人越有可能得到奖励,反之就越有可能被惩罚,以此来激励投票人认真投票。隐含假设是,参与投票的群体在投票时不存在系统性偏差。但这一假设在现实中不一定成立,因此至今没有普遍适用的去中心化预言机方案。

第二,智能合约难以保证区块链内债务履约。考虑某一债务合约:某一时点从 A 地址往 B 地址转 X 数量的 Token,一段时间后从 B 地址往 A 地址转 Y 数量的 Token(一般 Y>X)。在后一时点,智能合约没法保障 B 地址的 Token 数量超过 Y,这样债务就无法履约。因此,只靠智能合约没法消除信用风险。这是根据智能合约构建区块链内贷款、债券和衍生品等面临的共同问题。一个解决方法是对还款地址设置超额抵押(over-collateralization),但超额抵押会造成 Token 资源的闲置和浪费。对衍生品,因为其风险敞口可能大幅变动,更难事先确定超额抵押的规模。

第三,智能合约难以处理不完全契约(incomplete contract)。人是有限理性的,不可能预见到未来所有可能的情况,即便预见到也没法写进契约里,因此契约注定是不完全的。这就是现实中法律合同存在例外情形,以及发生争端时需要司法仲裁的原因。智能合约作为计算机协议,很难处理不完全契约。

图 1 概括了以上对 Token 范式的讨论。其中,Token、智能合约和共识算法都处于共识边界内,Token 与智能合约之间有密不可分的联系,共识算法确保了共识边界内的去信任环境。区块链内与 Token 的状态或交易等无关的信息处于共识边界以外、区块链边界以内。

区块链内外存在两类交互:一是区块链外信息写入区块链内;二是 Token 与区块链外的资产或权利之间的相互交易(即市场共识,见第三部分第二小节对 Token 的价格特征的讨论)或相互对应(见第三部分第一小节对区块链第二类应用的讨论)。

三、区块链的经济功能

区块链应用一般按照应用场景所属行业进行分类,比如 Goldman Sachs(2016)。本文根据区块链应用对 Token 的使用情况提出一个新的分类方法,并讨论这些应用涉及的经济学问题。

(一)区块链的主要应用方向

       


表 1 将区块链应用分成了 4 类。

第一类应用不涉及 Token,主要将区块链作为分布式数据库或去中心化数据库来使用。区块链的公共共享账本功能有助于缓解经济活动参与者之间的信息不对称,提高他们分工协作的效率。

这类应用面临的主要问题是如何保证区块链外信息在源头和写入区块链环节的真实准确。相对公有链,联盟链更适合这类应用。联盟链仅对授权节点开放,由授权节点共同维护以实现组织间共识。而授权节点清楚彼此身份,作恶会对声誉产生影响,将虚假信息写入区块链的成本比较高。信息写入区块链的环节也可以引入第三方鉴定机构来验证信息的真实准确。但这些保障机制主要基于现实世界约束,而非区块链本身特性。第一类应用的代表性案例是中国人民银行数字货币研究所的湾区贸易金融区块链平台和基于区块链技术的资产证券化信息披露平台。

第二类应用以 Token 代表区块链外的资产或权利,以改进这些资产或权利的登记和交易流程。但 Token 是否对应着区块链外的资产或权利,以及 Token 的状态和交易是否对区块链外的现实世界有约束力或影响力,取决于区块链外的法律和制度是否赋予 Token 以超越区块链的内涵。

在这类应用中,区块链在供应链金融和数字票据等场景的应用值得关注。此时,Token 代表了某一核心机构的债权并在供应链中充当内部结算工具。Token 将供应链上下游企业之间的「三角债」轧差后替换成核心机构对这些企业的负债,能降低资金占用、提高资金周转效率。而核心机构发挥类似中央交易对手的功能,负责 Token 与法定货币之间的兑换。这些场景中的 Token 相当于王永利(2018)提出的网络社区代币或商圈币概念,Token 的应用价值则取决于场景的广度和深度。

第三类应用的代表案例是数字票据交易平台设计方案。该平台按是否引入数字货币在链上进行直接清算,设计了链外清算和链上直接清算两种方案(徐忠、姚前,2016)。其中,链上直接清算方案能实现基于区块链技术的数字票据全生命周期的登记流转交易和票款对付(DVP,Delivery Versus Payment)结算功能。第三类应用以 Token 作为计价单位或标的资产,但依托区块链外的法律框架和主流经济合同。但 Token 价格的高波动性限制了这类应用,一个重要方向是所谓的稳定加密货币(stable token 或 stable coin)。因此,这类应用的核心问题是如何理解 Token 类似货币的特征。

第四类应用试图用区块链构建分布式自治组织(distributed autonomous organization,简称是 DAO,见邹传伟(2018)),有从业者提出分布式自治组织能替代现实中公司的功能。这方面至今没有广受认可的成功案例,主要受制于以下障碍:

1. 公有链的物理性能不高,支撑不了大规模交易;

2. 智能合约的功能短板;

3.Token 价格的高波动性限制了 Token 作为支付工具和激励手段的有效性;