一起来了解秉持开放、众智、敏捷的现代研发理念,采用包容的技术路线,探索创建高吞吐量、低延迟和富有弹性的CBDC交易处理系统。
近年来,全球主要经济体的货币当局不断加大对中央银行数字货币的研发力度并取得了诸多阶段性成果。“汉密尔顿计划”是美国波士顿联邦储备银行与麻省理工学院合作开展的CBDC创新研究项目。这项计划已持续开展数年,2022年2月3日,美国波士顿联邦储备银行发布题为“为央行数字货币设计的高性能支付处理系统”的技术报告,总结了汉密尔顿计划第一阶段进展。本文拟透过该报告的主要内容,对美联储央行数字货币原型系统进行简要分析。
汉密尔顿计划第一阶段的研究目标
汉密尔顿计划第一阶段的第一个目标是探讨CBDC系统的性能,即从技术上研发一种高吞吐量、低延迟和富有弹性的CBDC交易处理系统。具体性能目标包括两个方面:一是在5秒内完成99%交易,包括完成交易验证、交易执行以及向用户确认交易,处理速度与美国现有银行卡支付以及银行间即时支付系统的相应指标不相上下;二是根据美国目前现金和银行卡交易量以及预期增长率,该系统每秒至少处理10万笔交易,且能随着后期支付量的增长不断扩展。
第二个目标是探讨CBDC系统的韧性。为维持公众对CBDC的信任,CBDC系统必须确保服务连续性且资金可用。系统韧性的研究重点在于,当多个数据中心发生故障时,如何保证系统访问不中断,数据不丢失。
第三个目标是探讨CBDC的隐私保护。研发团队认为,最安全的隐私保护方法就是从交易伊始就减少数据收集,因此在CBDC交易系统中设计了一种尽量减少交易数据留存的方案。
姚前:对跨国平台企业征收数字税有助于维护来源地税收管辖权:中国证监会科技监管局局长姚前表示,2020年《OECD/G20关于实现包容性数字税框架的“双支柱”路径的声明》提出的“用户参与”方案认为,用户数据是社交媒体、搜索引擎以及电子商务等数字经济业态价值的创造基础,因此赋予了用户所在国向相关数字平台征税的权力,且无论数字平台是否在本国有实体存在。同时,对跨国平台企业征收数字税,亦有助于维护来源地税收管辖权。(贝壳财经)[2020/12/16 15:22:26]
美联储数字货币原型系统设计
币的形式:未花费的交易输出
汉密尔顿系统有三类参与者:交易处理器、发行方和用户。交易处理器记录CBDC,并根据指令验证和执行相关交易。同比特币一样,汉密尔顿计划采用UTXO的货币表达式。CBDC仅能通过发行方的行为而进出系统,发行方铸币增加交易处理器中的资金,赎回则减少交易处理器中的资金。用户执行资金转移操作,以原子方式变更资金所有权,但存储在交易处理器中的资金总额不变,变化的是资金的权属。用户使用其数字钱包的公钥/私钥来处理和签署交易。资金转移交易过程中,使用付款方的未花费资金就是交易输入,生成新的未花费资金就是交易输出——包括收款方和找零给付款方的未花费资金。一项有效交易必须保持平衡:交易输入值之和须与输出值之和相等。
未花费资金定义为三元组utxo:=。其中,v为金额,P为安全锁锁头,sn为序列号。发行方的铸币操作会创建新的未花费资金,并将UTXO添加到交易处理器存储的UTXO集合,而赎回操作则从UTXO集合中删除已有的未花费资金,使其不可重复使用。发行方必须为新铸UTXO选择唯一序列号。将其设置为均匀随机数或单调递增计数器值均可。
姚前:区块链可以让公之于众的数据更加可信:8月6日下午两点,蚂蚁链、罗汉堂、新浪财经共同策划的《寻找区块链力量》系列访谈第一集正式开播,中国证监会科技监管局局长姚前与蚂蚁集团董事长井贤栋共话区块链如何赋能信任。
姚前表示,进入数字时代,如何超越纸质载体,立“数字“为据,如何打上数字手印,盖上数字公章,以防止数字的易更改,就需要全新的技术来予以保障。而对数字货币或高价值的数字资产而言,还有“双花“问题需要解决:100元的数字货币,即便被扣上了数字公章,比如由中央银行签署了数字签名,也有被拷贝重复花费的可能。
区块链技术就是数字时代解决上述一系列问题的综合性数字技术的统称。比如用对端的公钥加密,用本端的私钥签名,可以解决数据的保密问题、按手印的问题、确定交易对手方的问题;用哈希算法辅之以时间戳生成的序列号可以解决数据的唯一性问题,防止“双花“;用共识算法可以解决在没有可信中间人的情况下,一人记录数据、多人监督复核、不能随意造假的问题。(新浪财经)[2020/8/6]
分离验证与UTXO压缩
在汉密尔顿系统中,交易处理器验证交易的正确性,并通过删除输入和创建输出来执行交易。验证分为交易局部验证和存在性验证。对于这种分离,汉密尔顿系统设计了专用组件——哨兵,专门用于接收用户交易并执行交易局部验证。局部验证内容包括:核实交易格式正确;确认每个输入都有适用于其花费输出的有效签名;确认交易保持平衡。如果交易符合标准,哨兵将向负责存在性验证的执行引擎转发交易,否则就仅向用户提示交易错误。
存在性验证主要核验未花费资金是否存在。为了实现隐私保护,汉密尔顿系统将资金作为不透明的32字节哈希值存储在未花费资金哈希集合,h:=H(v,P,sn),而不是存储完整的utxo:=(v,P,sn),其中H是一个哈希函数,汉密尔顿系统使用了SHA-256算法。用UHS集合替换UTXO集合,不仅有助于隐私保护,而且减少了存储要求并提高系统的性能。
声音 | 姚前:需加强链上和链下数据治理 建立区块链数字治理体系:今日,国务院参事室研究员、前中国人民银行数字货币研究所所长姚前发文《姚前:区块链高质量发展与数据治理 | 互联网金融》指出:怎么发展好区块链是当前亟须回答的关键命题。本文认为,先从数据存证、共享入手是务实策略,考虑到技术前沿在公有链,我们应支持公有链的研究,为了防范风险,须改造公有链。基于现实环境,联盟链或许是应用落地的较优选择。应加强国产密码算法应用和创新发展,以保障我国区块链安全可控。当前最重要的是,我们应提倡区块链的高质量发展,为此,需要加强链上和链下数据治理(Data Governance),建立有效的区块链数字治理体系。[2020/1/14]
为了进行存在性验证,系统需要预先将通过局部验证的交易转换为应用于UTXO哈希集合的交易,该过程被称为压缩。具体而言,由哨兵计算输入UTXO的哈希值,并将输入UTXO与输出安全锁和价值一起,导出输出UTXO的序列号,从而计算输出UTXO的哈希值,然后将这两个哈希列表发送给保存UHS的交易处理器,进行存在性检查和执行。
存在性验证与UHS互换
假定某交易已通过交易局部验证并进行了压缩转换,交易处理器将按如下方式更新UHS集合:检查UHS集合是否存在所有交易的输入UTXO,如果有输入UTXO缺失,那么中止进一步处理,否则,处理继续进行;交易处理器从UHS集合中删除该交易的输入UTXO对应的UHS,并将新创建的与输出UTXO对应的UHS添加到UHS集合中。上述一删一增的操作被称为互换。
高性能架构
声音 | 姚前:量子计算短期不会让区块链和数字货币失去发展意义:国务院参事室研究员、前中国人民银行数字货币研究所所长姚前发表《量子计算会让区块链和数字货币失去意义?会出现量子货币吗?》文章,姚前表示,由于密码学是区块链的关键要素,是实现数字货币安全可信的技术基础,因此人们不免担忧,量子计算的发展是否会对区块链和数字货币的安全带来威胁,甚者有人断言在量子计算机面前,区块链不值一提。但目前看,定论尚早。一是量子计算算法(如Grover算法和Shor算法)对非对称密码体系的威胁较大,但对对称密码、哈希算法的影响相对较小。二是目前没有证据证实或证伪量子计算机可以解决NP(Nondeterministic Polynomial,非确定性多项式)完全问题,也无法轻易地论断在量子计算环境下,依据计算复杂性的密码技术就没有前途了。三是密码学历来是在编码和破译、攻击和防守、矛和盾的对抗中发展起来,不能说有量子计算了,密码就不行了,量子计算也有其不擅长的地方,亦可构造抗量子密码体制,比如多变量公钥密码体制、基于Hash函数的数字签名方案、基于纠错码的密码体制和基于格的密码体制等。
因此,量子计算是否让区块链和数字货币失去了发展意义,短期内并不好说。但有一点是肯定的,那就是随着技术的发展,货币形态以及货币技术必然也会发生相应的改变。在量子时代,基于区块链技术的加密货币或许将继续存在,只不过它可能会采用更先进的抗量子密码技术。而另外一种可能是,它将被一种新型的基于量子技术的货币形态替代,也就是现在学术界有人在探索的量子货币。[2019/12/12]
为实现高吞吐量、低延迟以及高容错性的交易处理,汉密尔顿计划设计了两种架构。第一种是原子服务器架构,系统利用排序服务器为所有交易创建线性的历史记录。第二种是两阶段提交架构,系统并行执行数笔无冲突交易,而不创建统一排序的交易记录。
中国央行数字货币研究所所长姚前:现阶段的央行加密货币设计应注重补充和替代传统实物货币:中国央行数字货币研究所所长姚前署名文章称,现阶段中国研发央行加密货币的首要出发点是补充与替代传统实物货币,其界定属于现金(M0)范畴。在技术作为强劲驱动力的今天,央行加密货币必然要在吸收现金优势的基础上融入更多的新特性,如果只是亦步亦趋地模拟实物现金,能否达成此一目标令人怀疑,而且可能影响央行加密货币未来的竞争力。姚前指出,今年1月中国央行副行长范一飞署名文章充分论述了发行央行加密货币须选择对现有货币体系、业务架构及基础设施冲击最小的方式。文章提到,央行加密货币应基于账户松耦合形式,使交易环节对账户的依赖大降。这样既可和现金一样易于流通,又能实现可控匿名。姚前文章称,从最大限度保护商业银行现有的系统投资角度考虑,已经对加密货币与银行账户松耦合的具体设计进行初步研究,可考虑在商业银行传统账户体系上,引入加密货币钱包属性,实现一个账户下既可管理现有电子货币,也可管理加密货币。[2018/3/7]
在这两种架构中,UHS都可实现跨服务器分区,提高吞吐量并不断扩展。执行单笔交易通常涉及多个服务器,每种架构使用不同技术协调一笔交易在多个服务器中的一致应用。中心化的原子服务器架构使用Raft协议对所有来自于哨兵验证过的更新排序,然后将这些更新应用于全系统。2PC架构则利用分布式共识节点来执行原子交易和可串行化所需的锁定,使用不同资金的交易不会冲突,可以并行执行;一旦某有效交易的资金被确认为未花费,交易就能连续进行,可同时批量处理多笔交易。
汉密尔顿计划第一阶段的实验结果
汉密尔顿计划在第一阶段开发了两套完整的计算源代码或代码库。一个是中心化原子服务器架构的代码库,每秒能够处理大约17万笔交易,其中99%的交易尾部延迟不到2秒,50%的交易尾部延迟为0.7秒。由于原子服务器无法跨多个服务器进行分片,因此尽管可以将原子服务器状态机中的功能简化为只对一小部分交易进行输入排序和去重,但该架构的系统吞吐量仍有限。也就是说,对有效交易进行强排序的设计会限制吞吐量。另一个是2PC架构的代码库,每秒能够处理170万笔交易,其中99%的交易可在1秒之内完成,50%的交易尾部延迟不到0.5秒,远高于设定目标需要达到的每秒10万笔交易的基本要求。此外,2PC架构若添加更多共识节点,还可进一步提高吞吐量,且不会对延迟产生负面影响。
以上代码已经开源,汉密尔顿计划称之为“开源央行数字货币项目”,目的是促进CBDC研发合作。
比较分析
与电子现金的比较
1982年,美国计算机科学家和密码学家大卫·乔姆发表了一篇题为《用于不可追踪的支付系统的盲签名》的论文。论文中提出了一种基于RSA算法的新密码协议——盲签名(blindsignature)。利用盲签名构建一个具备匿名性、不可追踪性的电子现金系统,这是最早的数字货币理论,也是最早能够落地的试验系统,得到了学术界的高度认可。其中有两项关键技术:随机配序和盲化签名。随机配序产生的唯一序列号可以保证数字现金的唯一性;盲化签名能够确保银行对该匿名数字现金的信用背书。
汉密尔顿计划采用了与E-cash相似的思路:一方面,通过全局唯一且每次交易都需要系统验证的序列号,保证货币的唯一性;另一方面,采用中央处理模式,并利用加密算法实现系统的安全与抗攻击性。但汉密尔顿计划克服了E-cash的不足。在大卫·乔姆建立的E-Cash模型中,每个使用过的E-Cash序列号都会被存储在银行数据库中。随着交易量的上升,该数据库就会变得越来越庞大,验证过程也会越来越困难。而汉密尔顿计划通过分离验证和压缩处理,尽可能减少交易处理器的存储计算压力,并利用分片技术和高性能架构,从而大幅提升交易性能。
简言之,已花费的交易输出与未花费的交易输出,是两种相反相成的设计思路。后者优化了前者面临的数据无限膨胀的问题,这也是比特币超越E-Cash的精髓所在。
与比特币的比较
与比特币相似,汉密尔顿计划对币的设计也采用了UTXO模式。但二者的区别在于:比特币的区块链存储了所有UTXO信息;而汉密尔顿计划没有采用区块链模式,币不可简单追溯,且其交易处理器并未存储UTXO明细信息,仅存储UTXO的哈希值。尤其是,汉密尔顿计划的信任基础与比特币的分布式共识机制完全不同,其平台将由可信任的中心机构管理,共识算法仅用于协调系统中各分区服务器的一致性,更类似于第三方支付后台的分布式系统设计。
在防止双重花费、无重放攻击等威胁方面,比特币采用的是工作量证明机制,而汉密尔顿计划的设计则依靠哈希算法,且高度依赖发行方和交易系统的安全可信。具体来说,对于汉密尔顿交易处理器中的每次转移,其UTXO输出的序列号都是经过哈希算法处理后所确定,只要从原始铸币交易开始的序列号是全局唯一的,后续递推得到的每个UTXO序列号也将均具有全局唯一性,不会与过去或未来UTXO集合中的任何其他项重合。序列号的全局唯一性不仅是一个技术细节,而且可达到两个效果。一是无双重花费。互换操作会将UTXO永久标记为已花费。由于序列号是唯一的,因此任何UTXO只能被花费一次,且在花费后不能被重建。二是防止重放攻击。因为每笔交易都对应着具有全局唯一性的一个或多个UTXO输入,其签名将覆盖整个交易,包括相关的所有输入和输出。因此,一个交易的签名对除此交易外的其他任何UTXO都无效,而且,交易无法被复制,同一笔交易也不能被多次执行。汉密尔顿计划设计的风险点在于:中心机构是否一定可信?发行方铸币的序列号是否全局唯一?交易处理器是否足够安全从而可保证存储的UHS集合不被篡改?
简言之,虽然比特币和汉密尔顿计划都使用了UTXO的数据模型,但汉密尔顿计划维护的是一套中心化的哈希登记系统,而比特币维护的是一套分布式的区块链哈希登记系统。
其他比较
汉密尔顿计划的技术报告引用了笔者在2018年国际电信联盟(ITU)法定数字货币焦点组第二次会议上的工作论文。该论文主要是对数字人民币原型系统的综述,核心思想为“一币、两库、三中心”的技术架构,以及基于银行账户与数字货币钱包分层并用的双层业务架构。
汉密尔顿计划当前的整体架构可以表达为“一币,一钱包,一中心”。一币指的是数字美元,即中央银行签名发行的以UTXO数据结构表达的加密数字串;一钱包是指个人或单位用户使用的数字货币钱包,也是存储用户公私钥的载体;一中心是指交易登记中心,记录存储数字货币未花费交易资金的哈希值,完成数字货币产生、流通及消亡全过程的权属登记。
在数字货币设计方面,两个原型项目都强调加密数字串的货币属性和央行负债的属性。在流通环节,两个项目都以钱包为主要载体,强调用户对数字货币的拥有和操作权限。在交易确权登记方面,两个项目都设计了交易登记中心,也设计了“网上验钞机”。总体来说,两个原型项目在设计理念层面有相通之处,均采用了中心化加密货币思路,交易处理“一次一密”,充分考虑了数字货币的安全性。技术路线又不囿于区块链技术,既吸纳了其中的先进成分,又摈弃了可能的技术堵点。两个项目不同之处在于,汉密尔顿计划第一阶段没有探索中介的技术角色以及如何实现用户隐私与合规性的平衡;笔者提出的数字货币原型系统则考虑和设计了中介机构的角色,并提出认证中心和登记中心分离的设计思路,既可实现隐私保护又能满足监管合规要求。值得一提的是,汉密尔顿计划通过层层哈希计算,在登记服务器存储的是交易信息的哈希,而不是明文信息,降低了系统开销,在隐私保护的考虑上更为精细。
结语
总体而言,汉密尔顿计划第一阶段的原型设计并不是一个完整的系统,不具备一个有效CBDC所需的全部功能,尚不能达到实际应用标准。后续汉密尔顿计划将继续探索CBDC的实现路径,不断提高系统的安全性、可审计性、可编程性、合规性、互操作性,完善离线支付功能,明确中介机构的角色,增强抵御内部攻击、拒绝服务攻击、对抗量子攻击的能力。汉密尔顿计划给各国央行数字货币研发提供了两个重要的启示。
一是技术的包容性。汉密尔顿计划在设计CBDC过程中,并不囿于某一技术路线。它不仅充分吸收了E-cash、比特币等加密货币的优点并规避了可能的缺点,而且有效吸纳了分布式系统的高性能、高容错架构设计。由此表明,CBDC设计的选择不应画地为牢,无须将思路限定在某一技术框架或领域。
二是技术的开放性。目前各国CBDC的试验基本上是比较秘密的“曼哈顿工程”,而汉密尔顿计划则秉持开放、众智、敏捷的现代研发理念,主动将第一阶段代码进行了开源,创建了OpenCBDC项目并在github上公开。目前,汉密尔顿计划仍积极寻求外界对开源代码库的贡献以及吸纳新的工作组成员,旨在与各方一起共同推进CBDC研发。汉密尔顿计划这种开放式创新模式,无疑值得各国在CBDC研发实践中加以学习借鉴。
作者|姚前「中国证监会科技监管局局长」
NFT的热闹景象正不断刺激着越来越多玩家的神经,知名投资人朱啸虎、蔡文胜及体育品牌中国李宁和房地产商绿地等名人名企都相继加入这股潮流中.
1900/1/1 0:00:00前言在NFTs方面,以太坊是王者。许多人认为它是NFTs的一站式商店,在过去的一年里,它迅速成为最热门的话题,有时也是最热门的区块链。然而,众多其他区块链在NFT领域内已经变得越来越受欢迎.
1900/1/1 0:00:00元宇宙在近一年得到许多关注,包括企业、政府甚至是大众层面。例如韩国出台了政策希望打造元宇宙城市.
1900/1/1 0:00:00虚拟数字人是目前最火热的赛道之一。虚拟人又称数字人,指人们在计算机上模拟出一个类似真人的虚拟人形象.
1900/1/1 0:00:00今天聊一下稳定币。对很早就接触加密货币的小伙伴来说,已经不是新鲜词。但对于非加密领域、尤其是非金融领域的小伙伴,大概率知其然不知其所以然,甚至不知其然.
1900/1/1 0:00:00最近的加密货币市场十分惨淡,不过我正在玩的一款gamefi的token却表现不俗,过去一周内涨幅10%,跑赢USDT,实在是太不容易了.
1900/1/1 0:00:00