您访问的页面找不回来了!
返回首页- 您感兴趣的信息加载中...
一、引言
区块链最早作为比特币的底层技术由中本聪(Nakamoto)2008年提出。但比特币的脚本语言缺乏图灵完备性(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)是“挖矿”问题的解[5],以及区块中的交易在数据结构、语法规范性、输入输出和数字签名等方面符合预先定义的标准。但对比特币创世区块中的“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的价格特征的讨论)或相互对应(见第三部分第一小节对区块链第二类应用的讨论)。
三、区块链的经济功能
区块链应用一般按照应用场景所属行业进行分类,比如高盛(2016)。本文根据区块链应用对Token的使用情况提出一个新的分类方法,并讨论这些应用涉及的经济学问题。
(一)区块链的主要应用方向
表1将区块链应用分成了4类。第一类应用不涉及Token,主要将区块链作为分布式数据库或去中心化数据库来使用。区块链的公共共享账本功能有助于缓解经济活动参与者之间的信息不对称,提高他们分工协作的效率。这类应用面临的主要问题是如何保证区块链外信息在源头和写入区块链环节的真实准确。相对公有链,联盟链更适合这类应用。联盟链仅对授权节点开放,由授权节点共同维护以实现组织间共识。而授权节点清楚彼此身份,作恶会对声誉产生影响,将虚假信息写入区块链的成本比较高。信息写入区块链的环节也可以引入第三方鉴定机构来验证信息的真实准确。但这些保障机制主要基于现实世界约束,而非区块链本身特性。第一类应用的代表性案例是中国人民银行数字货币研究所的湾区贸易金融区块链平台和基于区块链技术的资产证券化信息披露平台。
第二类应用以Token代表区块链外的资产或权利,以改进这些资产或权利的登记和交易流程。但Token是否对应着区块链外的资产或权利,以及Token的状态和交易是否对区块链外的现实世界有约束力或影响力,取决于区块链外的法律和制度是否赋予Token以超越区块链的内涵。在这类应用中,区块链在供应链金融和数字票据等场景的应用值得关注。此时,Token代表了某一核心机构的债权并在供应链中充当内部结算工具。Token将供应链上下游企业之间的“三角债”轧差后替换成核心机构对这些企业的负债,能降低资金占用、提高资金周转效率。而核心机构发挥类似中央交易对手的功能,负责Token与法定货币之间的兑换。这些场景中的Token相当于王永利(2018)提出的网络社区代币或商圈币概念,Token的应用价值则取决于场景的广度和深度。
第二类应用的代表案例是数字票据交易平台设计方案。该平台按是否引入数字货币在链上进行直接清算,设计了链外清算和链上直接清算两种方案(徐忠、姚前,2016)。其中,链上直接清算方案能实现基于区块链技术的数字票据全生命周期的登记流转交易和票款对付(DVP,Delivery Versus Payment)结算功能。
论文中表示,对待区块链技术不能夸大或迷信,要立足于实际情况。 11月6日,央行官网发布《区块链能做什么、不能做什么?》工作论文。 文中既指出了区块链技术的特点、分类和应用场景,也指出了区块链技术的不足
资本疯狂追捧的虚拟货币一夕之间入了冷宫,但区块链技术的地位反倒愈加巩固。 以虚拟币交易所业务扬名的火币,上月底成立了火币中国。火币中国业务繁多,包含人才服务、法律咨询等,其中最引人注目的是火币公链