自 2016 年起,央行数字货币(Central Bank Digital Currency,CBDC)逐渐成为各国央行研发实验的重要课题。从应用场景上,通用 CBDC 面向零售、网购、个人支付等,基本对应现金场景,是目前的主要研究方向。另外,还有金融机构储备类的 CBDC 等。
美联储在数字货币探索上一直比较谨慎,曾打压了 Facebook 的 Libra 项目。但其自身一直在进行探索和研究,主要包括旗下的金融实验室和授权波士顿分行进行的“汉密尔顿(Hamilton)”项目。
注:项目名称是为了纪念两个人:亚历山大·汉密尔顿(Alexander Hamilton)是美国首任财政部长,金融体系创始人。玛格丽特·汉密尔顿(Margaret Hamilton),麻省理工学院仪表实验室软件工程部主任,曾参与阿波罗计划中的软件开发。
汉密尔顿项目“汉密尔顿”项目由美联储波士顿分行与麻省理工学院的货币研究中心合作,属于探索性的研究项目。
项目分为两个阶段:
第一阶段:解决高性能、可靠交易、可扩展、隐私保护等核心问题。目标 10 万 TPS,秒级确认,多区域容错。第二阶段:解决可审计、可编程合约、支持中介层、防攻击、离线交易等关键问题。经过数年的努力,第一阶段已经于今年 2 月份完成,源代码 OpenCBDC 以开源软件形式发布,主要通过 C++ 开发,遵循 MIT 开源许可协议,项目地址为 mit-dci/opencbdc-tx。
实验了两种引擎,单排序节点引擎 Atomizer(保序)能达到 17 万 TPS 峰值;并行执行引擎 2PC(不保序)能达到 170 万 TPS。
从架构上看与其它央行数字货币系统比较类似,借鉴了区块链和加密货币的技术特点。
采用了中心化交易结构,因为央行可以提供强信任前提;交易通过私钥签名来验证;用户通过钱包客户端来使用货币;参考了 UTXO 模型,花掉的货币会被销毁,然后创建新的货币;交易的验证与执行解耦,更方便扩展。项目现在还处于早期阶段,所考虑的场景十分有限。笔者认为离能落地使用还有较远的距离。
目前几个主要的开放问题:
身份校验如何实现?这个还是要依赖公私钥机制,可以通过特定硬件来加速。反洗钱如何监控?这个可能是采用扩展方式离线进行处理。身份和交易数据的审计粒度如何实现?主要是让不同角色看到不同的粒度,这个可以通过数据隔离,加上加密机制。货币如何发放?可以直接兑换给个人,也可以授权二级商业银行进行(数字人民币采用了后者)。如何与已有金融系统集成?可以通过交易网关,或者干脆先不打通,各走各的。 总结其实客观来说,在中心化架构前提下,采用现有软硬件体系,实现高吞吐的交易系统并不难。难的是要支持复杂金融业务,多交易关联,能扩展,还要兼顾合规、可审计、保护隐私等冲突需求。这些往往需要大量实践经验。
===== 关于 TechFirst 公众号 =====
专注金融科技、人工智能、数据科学、分布式系统相关领域的热门技术与前瞻方向。欢迎投稿!
如果你喜欢公众号内容,欢迎鼓励一杯 coffee~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)