中央银行加密货币——RSCoin系统之分析

姚前/文 王东/编辑  

2017年06月09日 14:35  

本文4721字,约7分钟

RSCoin作为一个学术研究模型具有较好的借鉴价值,但作为法定数字货币的生产系统还有很多细节需要进一步完善

 

在英格兰银行的建议下,英国伦敦大学学院的研究人员提出并开发了一个法定数字货币原型系统,即中央银行加密货币(Centrally Banked Cryptocurrencies)——RSCoin系统。

对于这一有一定典范性的中央银行数字货币原型构想,实有研究的必要。本文详细分析了RSCoin系统的核心功能、体系架构、关键实现技术和交易模型,对其功能扩展进行了展望,并且在此基础上对RSCoin的优缺点进行了剖析。

RSCoin作为一个学术研究模型具有较好的借鉴价值,但作为法定数字货币的生产系统还有很多细节需要进一步完善。

RSCoin系统概述

RSCoin项目的研发者认为,比特币不适用于中央银行发行数字货币的应用场景,这源于比特币内在机制存在的一些问题,主要包括如下方面:一是比特币网络的可扩展性差,无法承载大容量、高速率的货币交易,目前比特币网络中每秒最多进行7笔交易;二是去中心化的货币发行体系,导致中央银行无法对货币供应进行宏观调控,比特币本身的价格极度不稳定,不利于在更大范围、更大规模上的应用,尤其是不利于在主权货币上使用。

针对以上问题,RSCoin的设计目标是站在中央银行的视角,实现一种受中央银行控制的、可扩展的数字货币,为中央银行发行数字货币提供一套发行流通的参考框架和系列准则。

RSCoin解决方案的核心内容主要有:

一是将货币的发行和交易总账的维护分开,采用中心化的货币政策,货币由中央银行统一发行,而交易账本分布式存储,由多个可信的mintettes(可理解为商业银行)来记录维护,最后由中央银行进行统一对账和管理。简言之,系统总体设计采用了中央银行—商业银行的二元分层体系结构,基于区块链技术实现了分层管理的分布式账本;

二是mintettes由中央银行授权接入系统,中央银行对mintettes的行为进行审查,故不需要采用比特币的工作量证明来达成共识;

三是RSCoin采用了一种称为两阶段提交(Two-Phase Commit:2PC)的共识机制来进行分布式记账,使得每秒可处理的交易能达到2000笔,通过提高mintettes的数量,每秒可处理的交易上限还能不断提高,从而实现了系统的可扩展性。

RSCoin系统实现技术

RSCoin系统中包含中央银行、mintettes和最终用户三类角色,其总体结构如图1所示。中央银行完全控制货币的产生,并通过生成全局账本(higher-level block)向整个系统发布最终交易数据,全局账本是最终交易账本。中央银行对mintettes进行授权认证,并定期向整个系统发布授权的mintettes列表。

mintettes得到授权后,在某个时间周期内负责维护交易账本。mintettes收集、校验用户提交的交易信息,经验证的交易由mintettes打包生成低层账本(lower-level block)。mintettes定期将低层账本交易数据提交到中央银行,由中央银行汇总生成全局账本,并对外发布确认的交易数据。

最终用户和央行之间不直接发生信息交互,而是通过mintettes这一中间层代为传递,汇总交易记录;央行更多是冲突调解者、最后确认人,以及全局账本这样一个角色。

RSCoin和比特币类似,采用的不是基于用户账号余额这样的系统设计,而是基于交易流水(UTXO),即系统只记录有效的转账凭证(可以拿支票做类比),只要用户能够证明其合法持有该转账凭证,就可以把该凭证转让给其他人。

RSCoin采用了分片的设计思想来提高系统的处理能力,具体做法是把mintettes分为若干小组,每组mintettes只维护系统全局账本中的部分;然后把需要处理的交易按照一定的规则分发给不同的mintettes小组进行处理,从而提高整个系统的处理能力。这也是淘宝、微信这类高负载、海量数据的系统通常所使用的方法,而这类系统的难点是要解决数据一致性的问题,在RSCoin中,就是要解决“双花”的问题。

RSCoin系统的另一部分扩展性来源于,系统让最终用户承担了较多的任务,很多的信息同步和协调工作是由用户来完成。举个例子,可以通过让用户自行办理的办法实现跨行转账系统:银行之间不直接传递交易信息,而是由转出行给用户出具证明(由加密算法保证其不可纂改),用户再跑去转入行执行存款,最终实现跨行转账,减轻银行跨行信息系统的压力。

下面以用户发起一笔转账请求为例,描述RSCoin系统的交易模型(见图2):

(一)用户首先找到自己的转账凭证,然后根据该转账凭证上的编号,根据一个确定性的规则得到该转账凭证的所属mintettes组,类似于根据身份证号我们能推算出出生地。因为一个mintettes组只持有部分账本数据,所以正确找到保存该转账凭证的mintettes组是必须的。

(二)然后用户发送自己合法持有该凭证的证明(即用户签名)给一个mintettes组中的所有成员,该组成员各自核准并给用户出具证明(mintettes的签名)。

(三)用户收集到足够多的mintettes签名后,就可以把所有mintettes签名连同凭证和自己的签名一起发送给本次交易接受方的mintettes组中的一个,获得一个确认签名。

(四)对于用户而言,转账过程到此就完成了,最后得到的这个签名可以作为转账完成的证据。

对于接受交易的mintettes而言,还要负责把该笔交易数据写入到其所在mintettes组的低层账本中去,最后再统一汇总到央行的全局账本中。

RSCoin的论文中没有涉及在一个mintettes组中,各个mintettes如何互相同步保证数据一致性,也没有谈及mintettes的账本如何汇总到央行的账本,二者恰恰是最需要关注的部分。

如果忽略上述两个未被描述的细节,RSCoin还是能实现如下的安全标准:一是没有发生货币“双花”;二是不可否认记账:用户收到的来自交易输出所有者mintettes发送的确认信息后,交易一定会被加入到账本。若交易未加入到账本,该确认信息可用于投诉mintettes;三是定时的个人审计:用户有查看mintettes的低层账本的权利,以确保mintettes没有做出违法操作;四是普遍的审计:任何有查看权利的用户都能查看mintettes的低层账本,而mintettes不能进行篡改、遗漏、添加交易等行为;五是任何有查看权利的用户可以监察mintettes是否正确遵循协议,而这可以作为mintettes获得交易费多少的证明。

RSCoin系统功能扩展

根据中央银行需要,通过在基本RSCoin系统基础上设计运行机制、修改系统运行参数,可以实现一些扩展功能。

(一)激励机制。通过设计适当的激励机制,mintettes会完成更多的工作,例如生成更多的低层账本,减轻中央银行的负担;可以要求mintettes在中央银行缴存交易准备金,并规定mintettes只能校验小于准备金大小的交易金额,mintettes如果有不诚实的行为就会受到惩罚等。

(二)快速交易确认。中央银行定期发布包含该周期内所有交易的全局账本,在这个时间点交易会被正式记录到账本中。但mintettes可以在更短的时间周期内就提供证明,证明用户的交易是有效的,并且对用户承诺交易会被记录到中央银行的账本中,用户可以在一个记账周期内进行多笔交易,而不像其他加密数字货币需要等待区块链生成几个数据块后才能确认交易,这样处理使得用户体验更好。

(三)多重银行与外汇。如果多个中央银行采用此框架部署自身的数字货币系统,全球用户就可以使用不同的数字货币进行交易。这些货币之间保持独立性,中央银行不能跟踪其他中央银行范围内的交易。在第三方机构介入的情况下,可以进行外汇兑换交易。

RSCoin系统优缺点分析

RSCoin采用多项独特设计以区别于以往的加密数字货币:

(一)中心化货币发行。RSCoin模型框架与以比特币为代表的加密数字货币最重要的区别就是货币可控发行。在RSCoin模型设计中,中央银行使用密码技术控制数字货币的生成,货币生成后存放在中央银行,由中央银行实施集中管控,并根据策略向mintettes或最终用户投放。这种可控发行机制的设计能满足中央银行货币政策调控的需要。

(二)分布式账本维护。RSCoin模型框架采用货币发行控制与账本维护相分离的设计,mintettes由中央银行授权进行交易账本的维护,采用分片策略为每个授权机构分配用户,以增加可靠性和安全性。

(三)交易容量可扩展。通过分析消息交互情况,在理论上可以得出交易处理容量会随着mintettes数量的增加而线性增长的结论。这意味着mintettes数量越多,系统交易容量就会越大。其原型系统在亚马逊云上的测试结果表明,在3个mintettes的情况下,系统交易的容量为每秒400笔左右。每增加一个mintettes,交易容量每秒增加66笔左右,部署30个mintettes,可提供2000笔/秒的交易容量及少于1秒的交易速度。

(四)交易账本可审计。RSCoin使用交叉日志机制保证账本具有较高的透明度和可审计性。日志内容包括授权机构与用户交互、用户提交交易凭证等关键行为的签名记录,任何试图修改交易记录或攻击行为都会造成日志信息不一致,中央银行或审计机构就能及时发现问题。

但RSCoin也存在如下一些不足:

(一)RSCoin使用二层分布式账本,通过增加mintettes数量提高系统的处理能力,但并没有减少总账本的数据量。而对于更为庞大和复杂的系统,总账本的数据量和系统的可靠性及效率之间需要找到一个平衡点,RSCoin对此仅做了简单的处理,并未深入探究;

(二)在二层分布式记账方法中,RSCoin将大量的对账工作交由中央银行来处理,中央银行可能成为系统的瓶颈,因此这一方案是否最优也有待商榷;

(三)RSCoin没有进一步对中央银行应该如何对账、中央银行对账结果如何反馈给底层mintettes进行描述,从协议角度看是不完备的;

(四)RSCoin照搬了比特币记录交易流水的记账模式,没有使用银行业应用的复式记账法,因此有观点认为银行业务人员是否习惯这种体系,有待观察;

(五)RSCoin只是一个概念原型系统,并未能实现现实世界中的众多支付、交易功能。

从业务角度出发,RScoin隐含了一个全局账本,即央行负责每笔交易最终的确认,这就存在着全社会统一账户体系的概念,对于中央银行—商业银行的二元体系有可能构成冲击。

另外由于采用的是DLT技术,而且是记录交易的UTXO方式,所以身份认证是系统不可分割的一部分,这也会带来狭义银行的风险及另起炉灶的质疑。为解决这些潜在的问题,笔者给出了数字货币钱包基于银行账户分层并用的思路,希望借此可将数字货币这一业界宠儿有机融入现存体系。

法定数字货币当然不会依赖于某一特定技术,包括区块链。但不管怎么说,RSCoin作为一个学术研究模型具有较好的借鉴价值,比如金融区块链联盟R3提出的Corda模型在架构上隐含了对其思想的参考。

RSCoin模型还有很多细节需要进一步推敲和完善,最近国际上央行对于法定数字货币模型的测试工程(如加拿大银行的Jasper)也有在不同架构和应用场景上的探索,法定数字货币发行及流通体系的研究大幕已徐徐拉开。

(姚前,工学博士、教授级高工,现任职于中国人民银行。本文为作者学术观点,与所在单位无关。)

(姚前/文 王东/编辑)