区块链在金融领域应用的可行性
http://www.qukuainews.cn//13717181.s21i.faiusr.com/4/ABUIABAEGAAg5aLK1wUo4NrN3gcwwgM4igI.png 区块链在金融领域的应用一直都是近几年的热门话题,特别是在央行层面能否应用区块链技术一直是各国央行关注的焦点,如中国、欧洲、日本、美国、新加坡等国的央行。虽然英国央行是西方第一个表示要开发数字法币的央行,但它也是第一个宣布放弃数字法币的国家。从现有的区块链技术成熟度来看,区块链在金融领域的应用还存在很多问题,离实际使用还有差距。一种观点是“区块链无用论”。持这种观点的人认为区块链或DLT(Distributed Ledger Technology,分布式账本)不能应用于金融领域。经常被提及的原因是区块链的速度限制。大部分公有链每秒处理交易数小于20(tps或是每秒交易数字),而现代金融系统每秒处理的交易量非常大,例如2017年支付宝高峰每秒要处理25.6万笔交易,因此区块链或DLT不能在金融行业使用,因为技术差距太大。
另一种观点是“区块链万能论”。这些人认为现有的公有链例如比特币或以太坊会在5年之内完全取代银行,金融系统会发生大颠覆。他们认为即使目前的公有链系统非常慢,满足不了现在银行需求,但那又如何?比特币或以太坊的市值让人震惊(超过现在一些银行的市价),现在这些代币又成为资本,可以用来收购金融机构,而且技术还可以再进步,所以它们无论如何都会取代现在的银行系统。
这两种观点都有失偏颇。但是区块链技术离实际应用到底还有多远?现在问题出在哪里?这是银行家和科学家关心的问题。笔者根据3家央行所做的实验来试图回答这些问题。主要包括欧洲央行和日本央行的合作项目Stella,以及加拿大央行的Jasper项目。附录有这两项项目的简介。此外,2017年,加拿大央行根据Jasper项目的结果出了一个报告。里面提到区块链技术不但没有达到银行系统性能需求,而且如果使用区块链技术还会增加银行的风险。该报告明确指出使用DLT的操作风险,包括(i)容错性差导致系统可能出错;(ii)与现有的集中批处理支付系统相比,基于区块链的支付系统在确保系统可恢复性上所需成本更大;(iii)交易隐私性差。但加拿大央行并未放弃区块链,2017年10月又宣布使用区块链做股票交易的清结算的实验。
1、金融系统以及区块链交易速度
许多人认为现代金融系统每秒需要处理大量交易,数字代币系统难以满足需求。例如2017年支付峰值达到25.6万笔/秒,2016年峰值为17.5万/秒,增长超过1.1倍。而2009年这一数据仅为400笔/秒。国外的eBay和PayPal一般设定的是每秒600~1000笔交易。
但事实上,不是金融机构每种业务都需要处理大笔交易。例如,加拿大央行的实验,使用加拿大银行和银行之间(interbank)的交易系统,平均一天才处理32,000笔交易,以交易时间8 小时算,平均每秒才1.11笔交易。欧洲央行和日本央行的实验使用各自现有的系统,欧洲央行系统平均每秒处理13笔交易,日本央行平均每秒处理3.26笔交易。这和每秒20万笔的交易量都相差很远。
虽然这些数值都是平均数,最高速度需求会比这些平均数高很多,但即使说一个系统要提供100倍的平均能力才足够满足市场需求,欧洲央行系统每秒也只要处理1300笔交易,日本央行系统每秒处理326笔交易,这些和每秒20万笔交易速度的需求还是差了很远(153倍,20万/1300)!
显而易见,世界3个重要央行在其各自特定交易系统的交易数量都不高。这代表区块链有可能可以满足现在金融机构的速度需求。
表1列出了世界重要金融机构每秒平均交易数据。这包括美国纽约股票交易所、NASDAQ股票交易所、伦敦股票交易所,上海股票交易所,深圳股票交易所,欧洲央行、日本央行、加拿大央行的各自交易系统。可以清楚看出大部分金融机构每秒平均交易量不超过600笔。
从这些数据可以得知“区块链无用论”的观点是不准确的。世界上大部分金融系统不需要每秒处理20万笔交易,而且大部分每秒只需要处理不到600笔交易,差距是333倍(20万/600)。由此可知,以每秒20万笔交易来衡量区块链系统是否可以用在金融市场上,门槛过高。
表1 各交易所和银行交易现状
而目前各区块链的测试处理速度好像已经满足甚至远远超过大部分金融机构的实际需求。其中,虽然以太坊每秒可处理交易量小于20笔。但其他已有区块链速度已经很快,例如Zilliqa随着节点数以及分片数的增加,可以从每秒处理1218笔交易增加到2488笔交易;NEC可以在参与交易的节点数达到200个左右的大规模连接环境下,达到每秒处理10万笔以上交易的超高性能;红腹蛇链(Red Belly Blockchain)可以在单个数据中心的300台机器上每秒处理超过660,000次交易。
2、区块链实际应用障碍
但为什么加拿大央行用以太坊来做银行之间的交易,证实以太坊系统不能承受这种“压力测试”?以太坊每秒可以处理20笔交易,加拿大央行只要每秒1.11笔交易就可以,为什么以太坊没通过?因为央行的交易和区块链交易的定义不一样。
数字代币的交易是指代币在网络上的交易,只涉及一种货物(就是代币)、一个系统、一个网络和一种交易;央行的交易涉及到多种金融商品(货物)、多个银行系统、多种交易类型、多个账号等。金融交易要经过多个验证才能通过,数字代币只要通过公私钥验证,因此银行交易复杂的多。因此,加拿大央行发现以太坊无法处理银行交易,连一秒1.11笔交易都无法完成。两个都是“交易”,但数字代币和金融机构交易定义不一样。数字代币交易仅仅利用DLT、共识机制和钱包等技术来处理交易,而金融(或商业)交易还需考虑安全、监管等问题。
为了使银行交易的概念更易理解,欧洲央行和日本央行甚至使用rps(requests per second)来衡量区块链系统的性能,而不用tps,其中每一个request代表一笔商业交易。因此rps代表银行系统的真实指标,表1上面都是rps需求,而本文统计的数字代币或是区块链交易的性能指标是tps。这rps也是笔者从2017年以来一直重视的指标。
如果用rps当作性能指标,“区块链万能论”也就不成立。一个每秒能跑20笔交易的区块链系统,在金融系统里可能跑不到2笔交易,有10 :1的性能折损(在不同环境下有不同折损,我们通常用5 ~6 :1的性能折损)。如果一个区块链系统每秒跑1万笔交易(tps),在金融系统可能每秒只跑一千笔商业交易(rps),在一些场景下可能更少。
3、讨论
欧洲央行、日本央行和加拿大央行的实验提供给我们许多新思想。
1)DLT最大的问题是合规性和可靠性,不是性能。
在加拿大央行报告的第8页,多次指出Corda系统不符合央行系统架构的需求:
一是公私钥和身份证保管中心化,可能在运行中出错;
二是验证节点只维护交易数据子集,这是因为Corda系统对数据进行分区。这虽然解决部分数据隐私问题,但却带来数据复制问题。每个节点都需要数据复制和存档,以确保业务连续性;
三是验证节点容错机制不够,加拿大央行在这系统里面会是一个验证节点,但是央行需要有完整的信息,这就需要进行备份。央行节点的停滞也会影响全国支付系统,造成经济损失。
虽然Corda是DLT系统,专门为银行所设计,和多家银行都有合作,但加拿大央行还是发现Corda存在很多问题。加拿大央行屡次提到用金融市场基础设施原则(Principles of Financial Market Infrastructures,PFMI)来分析Corda在央行里面的应用,PFMI是国际银行所公认的银行系统需求标准。以PFMI来衡量,Corda还不符合央行的需求。
因此对“区块链无用论”最大的支持不是速度,而是PFMI。从欧洲银行、日本央行、加拿大央行的报告中,一些央行的业务速度需求不是很大,一秒二十到几百笔交易,是今天区块链技术可以达到的。今天“区块链无用论”的最大依据实际上是区块链还没有考虑到PFMI的需求:央行要有信息备份、完善的容错机制和完整的信息,允许商业银行和金融机构参与,以及满足政府法规。
“区块链万能论”最大的弱点也是PFMI,因为这些数字代币没有考虑PFMI。没有考虑PFMI,数字代币系统就不可能被银行接受。
2)区块链需要不忘初心——维持信任机制
为了满足PFMI需求,加拿大央行在Corda系统上做了更改,但这却让系统可靠性受到影响。区块链技术今天被重视,最主要是因为其信任机制,在经济人杂志,区块链被称为“信任机器”,但在央行系统里面直接使用Corda或是其他自称是区块链的系统,却可能成为“不信任机器”,加拿大央行更改Corda的案例就证明了该观点。
自称是区块链的系统,不一定就是区块链系统。例如有些链只能在“信任”(不会有人故意攻击)的环境中运行,Hyperledger就是一个例子, 所以不能用在有监管需求的环境中,如果将该链应用在金融机构和公检法系统上,需要“强”监管和信任机制。
如果在公检法系统上使用这些区块链,会出现下列场景:在法庭上,律师可以询问这种区块链上的数据可不可能被篡改?回答是可能的。这代表犯罪数据存在这种链上不能作为合法的证据。如果不能成为合法的证据,为什么用这样的链来存证据?用传统数据库就可以。我们使用区块链就是因为其数据不能被篡改的特性。
因为管理人只要控制Hyperledger里面的原子广播(atomic broadcast)机制,就可以控制该区块链的数据来源实现篡改数据。这就是为什么这种区块链只能运行在“信任”的环境中,因为管理人可以控制原子广播机制。该机制也是中心化的架构,可以从外面攻破,一旦这中心被攻破,整条链就被攻破了。由于这些链不能维持区块链基本特性即“数据无法篡改”,所以有人称这种区块链为“伪区块链”。
3)不同应用需要不同区块链设计架
欧洲央行和日本央行做了支付和股票交易清结算,加拿大央行一开始只做支付实验,但2017年10月加拿大央行也开始做股票交易清结算。欧洲央行和日本央行的两个实验设计也有很大不同,其在不同的场景下,设计差异非常大。在股票交易清结算上,欧洲央行和日本央行就有3个不同的设计。针对支付系统,欧洲央行、日本央行、加拿大央行的设计都是不同的,虽然都使用LSM (liquidity-saving mechanisms)机制以及考虑容错机制和性能等问题,但出现3个不同版本。
如同一件衣服不可能适合所有人穿,同样一个区块链设计也不能满足所有应用的需求。现在许多应用都用一种链设计来实现,这是不明智的。在2016年,英国首席科学家在伦敦对笔者带领的团队说,每个领域应该有自己的区块链设计架构,即使在一个领域,不同应用也需要不同区块链设计!
例如支付和清算,同样都是金融应用,但是支付是实时应用(real-time applications),重视低延迟(所以支付链以低延迟为首要目标),清算是交易后应用,重视高吞吐量(所以清算链以高吞吐为首要目标)。所以支付链和清算链设计应该大不相同。
根据排队论(queuing theory),在一个系统里面,低延迟和高吞吐量不能兼得,所以用高性能的支付链来做清算,吞吐量必定低;用高性能的清算链来做支付,延迟必定高。
在传统金融系统中,每一笔交易都单独处理;但在区块链系统中,许多交易被放在一个块中同时进行处理,如果两笔交易都涉及到同一账户,为了解决双花问题,该块在验证的时候就有可能被拒。如果被拒,在块中所有交易都要重新处理(“池鱼之灾”)。但如果先进行余额计算,如果没有通过,把余额不够的交易从块中拿出或者留在块中但做标记后再进行共识。
欧洲央行和日本央行没有遇到这一问题,因为他们系统第一个设计只需要支持每秒平均20笔交易。在20笔交易中,交易有冲突的可能性非常小,但一个块中交易量上千的时候,其中2个交易产生冲突的可能性就会急速增加。所以当交易数倍增的时候,该问题就可能会出现。他们第2个设计是在区块链外面做中心化的LSM机制(所以这些系统还是半中心化的系统),所以该问题在区块链外面解决。
如果缺乏一些创新,区块链很难进行大规模清算作业,因为清算交易数量非常大,比股票交易数量大得多。
4)沙盒实验的重要性——需要五方合作
欧洲央行,日本央行和加拿大央行做了非常好的探索,他们在实际场景下做实验,用真实的原则PFMI和数据,真刀实枪做研究。而且,如果系统不符合原则,他们改系统,而不是改原则。今天涌现了众多区块链系统,但它们是真实的区块链系统吗?实验是在真实场景下进行的吗?有考虑满足PFMI原则吗?
在青岛崂山,我们提供了泰山沙盒,可以在仿真环境下实验,对区块链系统进行测试,也提供测试案例。泰山沙盒由崂山政府赞助支持,现在已经有几十家单位上线,包括大学、金融机构、上市公司、初创公司、研究院、政府单位,还有美国加州的大学。通过泰山沙盒,研究人员、工程师,科技公司可以来做实验,公司、金融机构、银行和政府单位也能提供实际场景和监管需求,方便技术提供方发展新技术。
这就是英国提出沙盒的原意,沙盒是一个环境,让科技提供方和科技客户方能够在政府支持下在一个仿真环境上做实验,推进金融科技。这是五方(产、学、研、政、资合作,包括科技提供方、科技客户方、政府、基金、学校、研究机构)共赢的。如美国波士顿的金融科技沙盒非盈利公司(FinTech Sandbox公司)由银行、科技公司、数据公司和基础设施公司共同参与,一起开发新金融科技,就是很好的案例。
4、结论
区块链系统将来可以服务于金融应用,这是欧洲央行和日本央行联合报告所传达的信息。尽管欧洲央行、日本央行和加拿大央行所用的实验系统规模并不大,但都是目前在这些央行中实际使用的系统。在这些系统中,欧洲央行和日本央行已经成功证明了区块链可以满足实际工作需求。因此“区块链无用论”是不准确的。
但是“区块链万能论”也是不准确的,因为目前区块链技术尚未成熟,还存在很多问题,针对实际银行应用仍有一定的障碍,但可预见的是将来这些问题是可以解决的。
是否满足PFMI的需求是决定区块链是否有用的重要因素。
一种链也不可能被所有商业应用使用,一个应用可能就需要一个新设计。
在区块链技术不断涌现的现状下,沙盒是一个重要的工具来对进行测试,需要产、学、研、政、资等多方支持。
页:
[1]