主页 > imtoken钱包下载安卓最新版本 > 姚谦:美联储数字货币原型系统浅析

姚谦:美联储数字货币原型系统浅析

近年来,世界主要经济体货币当局不断加大对央行数字货币(CBDC)的研发力度,取得了多个阶段性成果。“汉密尔顿计划”是由美国波士顿联邦储备银行和麻省理工学院共同开展的CBDC创新研究项目(Digital Currency Initiative,DCI)。这个计划已经进行了好几年。2022 年 2 月 3 日,波士顿联邦储备银行发布了题为“专为央行数字货币设计的高性能支付处理系统”的标题。),一份总结汉密尔顿计划第一阶段进展的技术报告。本文拟简要分析美联储的原型系统'

汉密尔顿计划第一阶段的研究目标

汉密尔顿计划第一阶段的第一个目标是探索 CBDC 系统的性能,即在技术上开发一个高吞吐量、低延迟和弹性的 CBDC 交易处理系统。具体性能目标包括两个方面:一是在 5 秒内完成 99% 的交易,包括完成交易验证、交易执行和向用户确认交易、处理速度以及现有美国银行卡支付和交互的相应指标。 -银行即时支付系统 二是基于当前美国现金和银行卡交易量和预期增长率,该系统每秒至少处理10万笔交易,并且可以随着后支付量的增长而继续扩展。

第二个目标是探索 CBDC 系统的弹性。为了保持公众对 CBDC 的信任,CBDC 系统必须确保服务的连续性和资金的可用性。系统弹性研究的重点是如何保证多个数据中心发生故障时系统访问不中断、数据不丢失。

第三个目标是探索CBDC的隐私保护。研发团队认为数字货币哈希值是哪里,最安全的隐私保护方法是从交易一开始就减少数据收集,因此在CBDC交易系统中设计了一个尽量减少交易数据保留的方案。

美联储数字货币原型系统设计

数字货币哈希值是哪里

硬币形式:未使用的交易输出(UTXO)

汉密尔顿系统中存在三种类型的参与者:交易处理者、发行者和用户。交易处理器记录CBDC并根据指令验证和执行相关交易。与比特币一样,Hamilton 计划采用 UTXO 的货币表达方式。CBDC只能通过发行者的行为进出系统,发行者造币厂增加交易处理器中的资金,赎回(redeem)减少交易处理器中的资金。用户执行转账操作会原子地改变资金的所有权,但交易处理器中存储的资金总量不会改变,改变的是资金的所有权。用户使用其数字钱包的公钥/私钥来处理和签署交易。在一次资金划转交易中,付款人未使用资金的使用是交易输入(input),新的未使用资金的产生是交易输出(output)——包括收款人以及未使用资金对付款人的零钱。一个有效的交易必须是平衡的:交易的输入值之和必须等于输出值之和。

未使用的资金被定义为三重 utxo:= (v, P, sn)。其中,v是金额,P是产权负担谓词(可以理解为持有人的公钥),sn是序号。发行人的铸币操作会创建新的未使用资金并将 UTXO 添加到交易处理器存储的 UTXO 集合中,而赎回操作会从 UTXO 集合中移除现有的未使用资金,使其不可重复使用。发行人必须为新铸造的 UTXO 选择一个唯一的序列号。它可以设置为一个统一的随机数或一个单调递增的计数器值(当发行者铸造第 i 个 UTXO 时,它会将其序列号设置为 i)。

拆分身份验证和 UTXO 压缩

在哈密顿系统中,交易处理器验证交易的正确性并通过删除输入和创建输出来执行交易。验证分为事务本地验证(transaction-local validation,不需要访问共享状态)和存在验证(存在验证,需要访问共享状态)。为了这种分离,Hamilton 系统设计了一个专门的组件,sentinel,专门用于接收用户交易并执行交易的部分验证。部分验证包括:验证交易格式是否正确;验证每个输入是否具有其花费输出的有效签名;验证交易是否平衡(即输出的总和等于输入的总和)。

存在验证主要验证未使用资金的存在。为了隐私保护,Hamilton 系统将资金作为不透明的 32 字节哈希存储在未使用资金哈希集 (UHS) 中,h := H(v, P, sn),而不是存储完整的 utxo:= (v, P, sn),其中 H 是哈希函数,哈密顿系统使用 SHA-256 算法。将 UTXO 集合替换为 UHS 集合不仅有助于隐私保护,还可以降低存储需求并提高系统性能。

数字货币哈希值是哪里

对于存在验证,系统需要将本地验证的交易预先转换为应用于 UTXO 哈希集的交易,这个过程称为压缩。具体来说,哨兵计算输入UTXO的哈希值,将输入UTXO与输出安全锁和值结合推导出输出UTXO的序号,从而计算输出UTXO的哈希值,然后列出这两个hashes 发送到持有 UHS 的事务处理器进行存在性检查和执行。

存在验证和 UHS 交换

假设一笔交易通过了交易部分验证和压缩转换,交易处理器将更新UHS集合如下:检查UHS集合是否有所有交易的输入UTXO,如果缺少任何输入UTXO,则中止进一步处理,否则, 处理继续;交易处理器从UHS集合中删除本次交易的输入UTXO对应的UHS,并将新创建的输出UTXO对应的UHS添加到UHS集合中。上述一删一加的操作称为swap。

高性能架构

为了实现高吞吐量、低延迟和高容错的事务处理,Hamilton 计划设计两种架构。第一个是雾化器架构,系统利用排序服务器创建所有交易的线性历史。第二种是两阶段提交 (2PC) 架构,其中系统并行执行多个无冲突事务(即不支付或接收相同资金的事务),而不创建统一排序的事务记录。

在这两种架构中,UHS 都支持跨服务器分区,从而提高吞吐量和扩展性。执行单个事务通常涉及多个服务器,并且每种架构使用不同的技术来协调跨多个服务器的事务的一致应用。集中式原子服务器架构使用 Raft 协议对来自哨兵验证更新的所有更新进行排序,然后将这些更新应用于系统。2PC 架构使用分布式共识节点来执行序列化所需的原子事务和锁。不同资金的交易不会发生冲突,可以并行执行;一旦有效交易的资金被确认为未使用,交易就可以执行。连续地,可以同时批量处理多个事务。

数字货币哈希值是哪里

汉密尔顿项目第一阶段的实验结果

汉密尔顿项目在第一阶段开发了两套完​​整的计算源代码或代码库。一种是具有中心化原子服务器架构的代码库,每秒可处理约 170,000 个事务,其中 99% 的尾部延迟小于 2 秒,50% 的尾部延迟为 0.7 秒。由于原子服务器不能跨多个服务器分片,因此该架构的系统吞吐量是有限的,尽管原子服务器状态机中的功能可以简化为仅对一小部分事务进行输入排序和重复数据删除。也就是说,强烈订购有效交易的设计会限制吞吐量。另一个是2PC架构的代码库,每秒可以处理170万笔交易,其中99%的交易可以在1秒内完成,50%的交易尾延迟小于0.5秒,远高于每秒10万笔交易设定目标的基本要求取得成就。此外,在 2PC 架构中添加更多共识节点可以进一步提高吞吐量,而不会对延迟产生负面影响。

上述代码已开源,Hamilton 计划将其命名为“开源央行数字货币项目(OpenCBDC)”,旨在推动CBDC研发合作。

对比分析

与电子现金(E-cash)的比较

1982 年,美国计算机科学家和密码学家 David Chaum 发表了一篇题为“Blind Signatures for Untraceable Payment Systems”的论文。本文提出了一种新的基于RSA算法的密码协议——盲签名。利用盲签名构建匿名、不可追溯的电子现金系统,是最早的数字货币理论和最早可以实现的实验体系,得到了学术界的高度认可。有两个关键技术:随机排序和盲签名。随机排序产生的唯一序列号,可以保证数字现金的唯一性;盲签名可以保证银行对匿名数字现金的信用背书。

数字货币哈希值是哪里

汉密尔顿计划采用了与 E-cash 类似的思路:一方面,通过全球唯一的序列号保证货币(UTXO)的唯一性,每笔交易都需要系统验证;另一方面,它采用中央处理方式,利用加密算法实现系统的安全性和抗攻击性。但汉密尔顿计划克服了电子现金的缺点。在 David Chaum 建立的 E-Cash 模型中,每个使用过的 E-Cash 序列号都存储在银行的数据库中。随着交易量的增加,数据库变得越来越大,验证过程变得更加困难。汉密尔顿计划通过分离验证和压缩处理,尽可能降低交易处理器的存储和计算压力,

简而言之,已用交易输出和未用交易输出是两个相反的设计思路。后者优化了前者面临的无限数据扩展问题,这也是比特币超越E-Cash的本质。

与比特币的比较

与比特币类似,汉密尔顿计划也采用 UTXO 模型进行硬币设计。但两者的区别在于:比特币的区块链存储了所有的UTXO信息;而汉密尔顿计划没有使用区块链模型,无法轻易追踪到币,其交易处理器不存储 UTXO 细节,只存储 UTXO 的哈希值。特别是汉密尔顿计划的信任基础与比特币的分布式共识机制完全不同。其平台将由受信任的中央机构管理,共识算法仅用于协调系统内各分区服务器的一致性,更类似于第三方支付。后端分布式系统设计。

在防止双花、非重放攻击等威胁方面,比特币采用工作量证明(PoW)机制,而汉密尔顿计划的设计依赖于哈希算法,高度依赖发行者和交易系统。安全可靠。具体来说,对于Hamilton交易处理器中的每一笔转账,其UTXO输出的序列号都是经过哈希算法处理后确定的。只要从原始铸币交易开始的序列号是全局唯一的,就可以得到后续的递归。每个 UTXO 序列号也将是全球唯一的,并且不会与过去或未来 UTXO 集中的任何其他项目重合。序列号的全球唯一性不仅仅是一个技术细节,而是可以达到两个效果。一是没有双重支出。交换操作会将 UTXO 永久标记为已用。由于序列号是唯一的,因此任何 UTXO 只能使用一次,并且无法在使用后重建。二是防止重放攻击。因为每笔交易对应一个或多个具有全局唯一性的 UTXO 输入,其签名将覆盖整个交易,包括所有相关的输入和输出。因此数字货币哈希值是哪里,一笔交易的签名对该交易以外的任何UTXO(包括未来创建的UTXO)均无效,该交易不能被复制,同一笔交易不能被多次执行。汉密尔顿计划设计的风险点是:中央机构一定是可信的吗?是发行人的序列号' s mint 全球独一无二?交易处理器是否足够安全以保证存储的 UHS 集合不会被篡改?

简而言之,虽然比特币和汉密尔顿项目都使用 UTXO 数据模型,但汉密尔顿项目维护了一个中心化的哈希注册表,而比特币维护了一组分布式的区块链哈希。注册系统。

数字货币哈希值是哪里

其他比较

Project Hamilton 的技术报告引用了作者在 2018 年国际电信联盟(ITU)法币数字货币焦点组第 2 次会议上的工作论文。本文主要是对数字人民币原型系统的回顾,核心思想是“一币两行三中心”的技术架构(《中国法定数字货币原型构想》,见《中国金融》) 2016年第17期),以及基于银行账户和数字货币钱包的分层组合使用的两层业务结构(“数字货币和银行账户”,参见“清华金融评论”,2017年第7期)。

汉密尔顿项目目前的整体架构可以表述为“一币一钱包一中心”。一币指数字美元,即以央行签署发行的UTXO数据结构表示的加密数字串;一钱包是指个人或单位用户使用的数字货币钱包,也是存储用户公私钥的载体;一中心是指交易登记中心,记录并存储数字货币未使用的交易资金的哈希值,完成数字货币产生、流通、消亡全过程的所有权登记。

在数字货币设计方面,两个原型项目都强调加密数字字符串的货币属性和央行负债的属性。在流通环节,两个项目都以钱包为主要载体,强调用户对数字货币的所有权和运营权。在交易确认和登记方面,两个项目都设计了交易登记中心和“在线验钞机”。总的来说,这两个原型项目在设计理念方面有相似之处。两者均采用中心化加密的思想,交易处理为“一次一密码”,充分考虑了数字货币的安全性。技术路线不局限于区块链技术,不仅吸收了先进的元器件,但也放弃了可能的技术阻塞点。两个项目的不同之处在于,汉密尔顿计划的第一阶段没有探索中介机构的技术作用以及如何在用户隐私和合规性之间取得平衡;笔者提出的数字货币原型系统考虑并设计了中介的角色,提出了认证中心和注册中心分离的设计思路,既可以实现隐私保护,又可以满足监管合规要求。值得一提的是,Hamilton 计划在注册服务器中逐层计算交易信息的哈希值,而不是明文信息,减少了系统开销,在隐私保护方面更加精细。

结语

总体而言,汉密尔顿计划第一阶段的原型设计不是一个完整的系统,不具备有效的 CBDC 所需的所有功能,还不符合实际应用标准。后续的汉密尔顿计划将继续探索CBDC的实施路径,不断提升系统的安全性、可审计性、可编程性、合规性和互操作性,完善线下支付功能,明确中介机构的作用,加强防范内部攻击,拒绝服务攻击,抵抗量子攻击的能力。汉密尔顿计划为各国央行发展数字货币提供了两个重要的经验教训。

一是技术的包容性。在设计 CBDC 的过程中,Hamilton 计划不局限于某条技术路线。它不仅充分吸收了E-cash、比特币等加密货币的优点并避免了可能存在的缺点,而且有效吸收了分布式系统的高性能和容错架构设计。这说明CBDC设计的选择不应该落地生根,没有必要将想法局限在某个技术框架或领域。

二是技术的开放性。目前各国CBDC的实验基本上都是比较隐秘的“曼哈顿计划”,而汉密尔顿计划则秉承开放、智能、敏捷的现代研发理念,积极开源第一阶段代码,创建 OpenCBDC 项目并将其发布在 github 上。上市。目前,汉密尔顿计划仍在积极寻求外部对开源代码库的贡献和招募新的工作组成员,旨在与各方共同推动CBDC的研发。汉密尔顿计划的开放式创新模式无疑值得各国在CBDC研发实践中借鉴。返回搜狐,查看更多