手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > 概念普及 > 文章 当前位置: 概念普及 > 文章

央行万字工作论文:区块链能做什么、不能做什么?

时间:2019-10-29 18:26:38    点击: 次    来源:网络    作者:易明 - 小 + 大


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

(一)区块链的Token 范式

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

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

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

结算风险5。

第二,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 的价格特征的讨论)或相互对应(见第三部分第一小节对区块链第二类应用的讨论)。

三、区块链的经济功能


上一篇:最近频频被点名的“区块链”到底是个啥?媒体解读

下一篇:区块链到底是个什么链?五分钟彻底读懂

备案ICP编号  |   QQ:3569552836  |  地址:宁波市镇海九弟新媒体设计有限公司  |  电话:131 574 12315  |  
Copyright © 2024 天人文章管理系统 版权所有,授权lian.ooo使用 OK文库 Powered by 55TR.COM