DCI是位于麻省理工学院(MIT)媒体实验室的一个研究小组。DCI聘请了来自不同背景的研究人员,包括技术和公共政策专家。
本文是DCI对英国中央银行(Bank of England)于2020年3月12日发表的讨论文件的回应。回应旨在解决CBDC支持该讨论文件第二章所述银行目标的七种方式。
1.支持弹性的支付环境。
2.避免新形式的私人货币创造的风险。
3.支持支付方面的竞争、效率和创新。
4.满足数字经济未来的支付需求。
5.提高中央银行资金的可获得性和可用性。
6.解决现金减少的后果。
7.作为实现更好的跨境支付的推动力。
1. 支持有弹性的支付格局
将CBDC添加到现有支付格局中可以从两个方法提高支付弹性。第一个方法是在零售支付领域制造冗余。目前,零售支付高度集中使得一个经济体中的大量零售支付依赖于一两个主要的银行卡网络。如果其中一个系统出现故障,CBDC将提供另一种将资金从家庭转移到企业(论文中设想的CBDC模型是零售系统)的方法,尤其是在现金减少的情况下。第二种方法是通过架构。要使这成为积极的因素,CBDC系统的架构必须与现有的支付系统有充分的不同,这样它就不会遭受类似的故障。此外,CBDC的创建提供了使用比以前更具弹性的体系结构的机会。
弹性的概念也有不同的方面,它包括对失败(无意)的弹性和对攻击(有意)的弹性。增加系统弹性意味着除了减轻其影响之外,还意味着会减少故障概率和对攻击的敏感性。CBDC的设计会影响所有这些问题。
访问
现有的支付系统——零售和批发——通过限制访问,使得系统很难受到攻击。不同类型的访问系统,例如零售支付系统有参与者、商户和终端用户,所有这些类型的访问都受到不同方式的限制。成为支付系统的成员是一个艰苦过程,反过来这些成员限制了他们允许谁使用该系统。一旦被接纳,就会有适当的规则来确保对成员和用户的攻击产生负面影响,如果他们试图这样做的话,会有相应的机制将其驱逐出去。这并不能阻止对支付系统的攻击,但能通过限制访问实现了弹性——本质上,任何要访问该系统的人都会遇到各种各样的障碍,这将阻止攻击者。
加密货币以不同的方式实现弹性。例如,对比特币系统的访问完全不受限制。任何人都可以维护账本的副本,提交交易,创建交易和帐户,以及验证交易。访问没有障碍,而是依靠激励机制和技术措施来阻止攻击。
例如,比特币使用数字签名来验证交易。签名是使用公钥加密来保护的,这意味着如果用户可以保证其的密钥安全性,那么伪造他们的签名在计算上是不可行的。攻击者有可能提交一个带有虚假签名的交易,但这种交易将被比特币网络中的节点拒绝,并可能永远无法加入区块。这样做的原因是,任何包含无效交易的块一旦被开采,最终都会被网络拒绝,因此有矿工有强烈的动机不包括无效交易。
增加系统弹性的另一种方法是对系统进行重组,以消除支付所需的信息共享(例如信用卡详细信息)。使用公钥加密就是这种方法的一个例子。比特币不需要与支付的接受者共享支付所需的信息(密钥)。这消除了发送和存储支付信息的需要,从而提高了系统的弹性。这是对现有支付模式(如信用卡)的结构性改进,信用卡支付模式要求支付所需的信息(信用卡详细信息)安全传输给买方,在某些情况下,还需要存储以备将来购买。信用卡系统的结构性缺陷是,当使用其他技术可以简单地消除此信息时,就必须传输,存储和管理此信息。
这并不是说CBDC可以大规模采用加密货币的技术来拥有一个完全开放的系统。然而,中央银行可以从加密货币(如比特币)中学习CBDC设计方面的有用经验,比特币已经在一个敌对的环境中成功运行了十多年。这种弹性是一个令人印象深刻的壮举,应仔细研究以获取可用于CBDC的经验。
简易性
目前有两代加密货币系统。第一代开始于比特币及其复制品。第一代加密货币使用比特币脚本来增加系统的可编程性。比特币脚本是一种相对简单的语言,它不是图灵完备的,仅使用解释器运行脚本。这使得比特币在其可编程性方面受到限制,但这是减少攻击面的明智选择。
第二代加密货币,最著名的是2015年推出的以太坊,与比特币不同的是,它在脚本语言中添加了额外的功能。以太坊虚拟机(EVM)代码是图灵完备的,大多数开发人员在解释器之上使用编译器。这使得Solidity语言比比特币脚本更具有表现力,也更加复杂。
与大多数技术设计决策一样,这个选择代表了一种权衡。比特币选择了一种更简单的系统,出错率更低,攻击面更小。这意味着比特币用户不能对他们的脚本做更多的事情,但他们可以得到一个更简单、更安全的系统——因为它可以做的更少,出错的也更少。
以太坊可以做更多的事情,但增加的功能是以更大的失败风险和更多的攻击面为代价的。编程的易用性是另一个因素,难以编写阻止复杂性的比特币脚本。Solidity语言是以太坊中创建智能合约的最流行的语言,它更容易使用,这意味着更容易为人们创建的合约增加复杂性。
CBDC体系结构的问题是它应该位于这个范围内的什么位置——从不可编程到像以太坊的系统。为了实现英国中央银行讨论文件中列出的CBDC的其他目标,如提高中央银行货币的可用性、支持创新和与其他系统的互操作,需要有一定程度的可编程性。因此,CBDC应该具有足够的功能来支持这些功能。十多年的比特币脚本经验表明,需要相对有限的功能集(比比特币要小的功能集)来实现layer2网络或跨链交换。
因此,作为起点,CBDC实验应该从实现所需特性需要的最小可编程性开始。CBDC的架构允许随着时间的推移而升级,这样在开始时做出的设计决策就不会永久地限制系统的可能性。
冗余
由于各种各样的原因,硬件总是会出现故障,所以任何系统都必须设计成能够承受部分系统的故障。比特币通过拥有维护和更新账本的节点和矿工网络来实现这一点,从而在系统中产生冗余。任何一个矿工或节点都可能出现故障,网络可以继续工作。
反复出现的一个问题是,CBDC是否应该使用分布式账本。在实践中,正如讨论文件在第6.3节中承认的那样,任何CBDC系统都可能在某种程度上进行分散,因为需要同步账本的多个副本。问题是账本会有多少份,由谁来操作。
一种选择是由中央银行自己维护CBDC账本的所有副本。从机构的角度来看,这个解决方案是完全集中的,但从架构的角度来看是分散的。本文考虑的替代方案包括系统的私人参与者和维护帐本副本的其他中央银行。
讨论文件指出了冗余和性能之间的权衡。系统中账本副本越多,同步所有账本数据所需的时间就越长。一种方法是优化数据库的性能,并将账本的总数保持在最小。这种方式可以在一定程度上发挥作用——现有的零售支付系统的最大吞吐量是非常重要的,例如2017年Visa网络声称其最大处理能力为每秒6.5万笔交易。
任何具有明显分散架构的系统都可能无法在核心账本上达到这样的性能。相比之下,比特币在核心账本上每秒可以处理大约7笔交易。尽管可能存在某些优化措施可能会增加这个数字,但像比特币这样的去中心化系统将永远无法达到更加集中化的系统的核心账本性能。
增加核心账本吞吐量的另一个选择是调查系统中的所有交易是否需要通过它进行。比特币中出现了layer2解决方案,闪电网络,它允许用户通过几笔交易将其锚定到核心账本中,从而更快地进行更多付款。layer2解决方案,比如比特币中的闪电网络,是解决规模和分散问题的理想解决方案,任何CBDC项目都应该探索如何将这些创新应用到CBDC用例中。这是CBDC架构如何从首次在加密货币中尝试的实验中学习的另一个例子。
2. 避免创造新货币的风险
稳定币给货币和金融稳定以及民主问责制带来了风险。
稳定币是一种国家货币单位的表示,它有某种资产作为支撑,使币具有价值。无论支撑资产是什么,管理其信贷和市场风险都存在明显的金融稳定风险。解决支撑资产风险问题的唯一方法是,中央银行要求稳定币发行方以1:1准备金形式支撑其货币。这种系统将类似于英国中央银行对苏格兰和北爱尔兰纸币的要求。在中央银行决定向公众提供CBDC的情况下,让钱包供应商加入CBDC系统比创建一个平行的复杂稳定币系统要简单,否则将需要一个单独的监管架构来管理他们构成的独特风险。
从货币政策的角度来看,像Libra这样的多货币稳定机制存在着隐形替代的风险。支撑资产的构成由一个私营实体决定,没有参考中央银行赖以运行的民主问责机制。一开始,该货币可能主要由当地货币支撑,但为了应对冲击或其他金融危机,这种情况可能会迅速改变,使当地居民拥有外币,并严重削弱中央银行影响经济的能力。
以Libra为例,其管理的Libra协会认识到了这一问题,并更新其建议如下:
“为了限制对协会单方面更新≋LBR权重的担忧,协会欢迎监管机构(例如, IMF)和中央银行或国际组织在该协会主要监管机构瑞士金融市场监管机构(FINMA)的指导下对一篮子货币的构成(包括货币及其各自的权重)进行监督和控制。”。
这一声明强调却没有减轻问题。首先,值得质疑的是,是否有任何中央银行会在“国际货币基金组织或瑞士当局的指导下”将其成员的控制权视为令人满意的。相对于它们的同行组织,不确定国际货币基金组织或金融市场管理局(FINMA)是否乐于接受自己处于这种地位。其次,Libra协会认为自己有权将主权政府置于私人实体的请愿者的位置上,这表明这种设置是不可取的。最终,中央银行对民主负责,而稳定币提供商则不这样做,任何削弱这种联系的行为都应避免。
3. 支持支付领域的竞争、效率和创新
CBDC的一个潜在好处是更具竞争力的支付中介服务的预期,而CBDC的架构将有助于实现这一点。
在现有的基于卡片的零售系统中,用户要向商家付款,两者必须是同一网络的成员。所有的支付都通过这个网络进行,以换取向商家收取的费用。最终,这些成本会以更高的价格转嫁到用户身上,但这些费用在很大程度上是客户看不见的。用户和商家的交换成本都很高,所以一旦建立了网络,竞争就相对较少。多年来,这些问题已得到美国和欧盟反垄断和竞争当局的承认。
CBDC可以以各种不同的方式进行架构设计,其中一些可以缓解这一问题并提供更大的竞争。上文提到的在扩展范围内的比特币闪电网络(LN)也可能具有竞争优势。LN中的节点能够收取路由付款的费用。现有卡系统和LN费用的关键区别在于,支付不必使用任何特定的节点,因此如果某个节点开始对路由支付收取过高费用,它可以很容易地重新选择。这种系统结构使得转换成本极低,因此增加了竞争。
在CBDC中建立像LN这样的layer 2网络需要在核心账本中有一定的可编程性。研究解锁CBDC layer2竞争和扩展优势所需的最小功能是一项潜在的理想功能,但这是一个值得测试的权衡方案,因为在这种情况下,如果可以为CBDC建立一个活动的layer2网络,那么额外的功能会增加潜在的扩展和竞争优势。
4. 满足数字经济中未来的支付需求
有两种方法可以设计一个CBDC,使其经得起未来考验。一种方法是向核心CBDC系统添加高度可编程性。这种方法的好处是,它允许开发人员创建范围更广的CBDC应用程序。这种方法的风险在于,在基本CBDC层中内置的高度表达性语言意味着更多的语言可能会意外出错,并且会有更大的攻击面。这说明了在设计CBDC系统时的一个权衡,增加功能是以牺牲安全性和弹性为代价的。
另一种方法是从具有有限可编程性的简单CBDC设计开始。即使采用这种方法,也会在功能性和安全性之间也会出现同样的权衡。如果我们接受某种程度的可编程性是可取的,以允许CBDC与金融系统的其他部分交互,并在其他地方实现创新,那么问题是实现这一目标所需的最小可编程性是什么。
在本文的前面,我们讨论了layer2系统在可伸缩性方面的潜在好处。在核心CBDC系统中构建足够的可编程性,使layer2能够再上面构建,将打开这些好处以及与隐私有关的其他好处,如下所述。我们从比特币中了解到,比特币最初的可编程性很少被日常使用,甚至大幅减少的指令集也为构建在CBDC之上的层中的应用打开了相当大的潜力。
另一个要考虑的问题是使CBDC可扩展性。加密货币有一个过程,通过这个过程,用户可以提出修改建议,然后考虑、放弃和实现这些修改。这使它们随着时间的推移而发展。中央银行可以从这个过程中学习,并为CBDC用户创建向系统提交所需更改创造途径。在CBDC系统中使用开源软件也将有利于这种方法,因为它将允许中央银行以外的第三方安全地试验核心软件并提出改进。这样,中央银行就可以从范围更广的软件开发人员投入中获益,而不是直接参与的软件开发人员。
5. 提高中央银行货币的可获得性和可用性
CBDC需要实现四种基本功能:支付、layer2/支付渠道、PvP以及DvP。
英国中央银行的讨论文件描述了零售CBDC,它可以将DvP的需求作为一个用例。DvP作为一个用例值得保留,因为零售投资者确实会购买股票和债券,而实现它所需的功能与PvP基本相同。
其他用例相对简单,支付是核心功能,layer2/支付通道帮助实现可扩展性和隐私性,而PvP是实现跨境支付功能的必要条件。这种相对有限的用途适合于讨论文件第4章中列出的平台模型。总的来说,它符合CBDC的理念,即安全而有弹性的核心,具有足够的功能来支持系统中其他级别的创新。
第5.4节讨论了CBDC的经济设计,特别是CBDC是否应该得到报酬。从设计的角度来看,最简单的选择是让CBDC无报酬。论文中描述的关于薪酬结构和分层的所有元素都可以在CBDC中实现,但这样做会增加系统的复杂性,并在性能和安全性方面进行权衡。实施限制也是如此。在中央银行开发CBDC时,可以实施和测试不同的选择,同时认识到使CBDC系统简单而健壮的总体好处。
6. 应对现金减少的后果
除了广泛的可获得性外,现金的一个主要好处是它为用户提供了隐私。它的存在也证明了由中央银行发行的私人支付机制可以与AML和KYC共存。
关于CBDC,有不同的公共政策考虑需要协调。CBDC用户有隐私权,并需要一个系统保护他们不受国家和企业的监视。人们的焦点往往是前者,但现在许多隐私侵犯行为来自企业,而不是政府。
从中央银行的角度来看,它的角色是运营核心基础设施,讨论文件提出了一种结构,在这个结构中,所有与终端用户的互动都由私营部门处理。这种设置表明,核心账本应该完全是私有的,这样中央银行就无法通过操作核心账本来推断用户是谁或他们在做什么。通过这种方式建立CBDC可以保护用户免受国家监视,也可以保护中央银行免受监视公民的指控。
实现屏蔽交易有性能权衡,中央银行必须决定如何在其系统中实施这些交易。例如,用户将其交易与中央银行隔离是可选的,还是所有交易都需要?性能影响还会影响系统其余部分的设计。如果屏蔽交易减少了主账本上的吞吐量,那么layer2可能会在系统中占用更多的流量,以达到零售系统所需的性能。
渠道本身也提供了潜在的隐私好处。随着交易从主账本中剥离,只有与付款有关的当事人才能知道自己向谁付款以及要做什么。值得注意的是,最近古关于支付渠道隐私的研究使人们对支付渠道隐私的可靠性提出了质疑。
这种设置需要额外考虑钱包和支付渠道的功能,以确保用户登录系统后,能够应用必要的KYC和AML法规。这一要求还应附带保障措施,以确保支付接口提供商本身不会使用这些功能来侵蚀用户隐私。这表明,一个强大的隐私监管机构都应该扮演代表CBDC用户隐私权的角色。
讨论文件第4.7节提到:
“在大多数情况下,付款人应能在不向收款人透露身份的情况下付款。”从这个意义上说,他们可以匿名对待其他用户,而不需要匿名对待执法部门。”
CBDC系统设置应确保用户在默认情况下对系统中的所有其他参与者(包括执法部门)都有隐私权。执法部门本身受法律约束,不应享有全面监视CBDC用户的权利。执法部门对私人数据的任何要求都应经过适当的法律程序,私人数据只应在这些有限的情况下披露。CBDC系统的架构可能支持系统中的权衡,这是设计CBDC时最重要的问题。
7. 更好的跨境支付基石
世界上有几家中央银行正在研究CBDC。随着这些项目的进展,为了制定不同系统之间如何交互的通用标准,他们彼此之间共享关于他们打算如何处理对等支付的信息是很有用的。
这并不意味着每个中央银行都必须以完全相同的方式构建CBDC系统。有益的方法是让不同的中央银行贡献开源的CBDC代码库,然后每个代码库都可以根据自己的具体情况进行调整。这将使所有中央银行都能受益于其他中央银行的研究,同时保留对其具体如何实施该软件的控制。
总体目标应该是创建一个开源的、通用的核心CBDC平台,可以适应特定国家的具体需求。许多政府在关键任务基础设施中使用开源软件,而在CBDC中采用这种方法有可能带来可观的好处。使用开源软件意味着中央银行将能够利用范围更广的软件开发人员的专业知识,并避免被局限于供应商。