新加坡 PBM 是可编程数字货币的重要创新

524f7c9fe0acb6c55d42d097a39e4b82.png

一周以前我们在卢旺达开会的时候,新加坡 MAS 在现场发布了 Purpose Bound Money (PBM) 的技术白皮书。行业媒体发了几条新闻,然后就放过去了。实际上 PBM 代表着货币当局对于数字货币编程问题迄今为止最深度的思考,其白皮书所反映思考深度和技术规范的详细与成熟度,简直不像是出自政府机构,而像是出自专业的数字货币和区块链学术机构。由于 PBM 似乎尚未引起圈内的高度关注,因此我觉得有必要简单介绍一下其基本要点。PBM 要解决的问题是对货币进行编程。在现实世界支付中,设定各种支付条件和逻辑,比如什么时候可以支付、什么时候不能支付、可以支付给谁、什么时候支付、一次能支付多少等等,是非常普遍的需求。数字货币的一大卖点就是 programmable money,照理说这个应用应该很快推广开。但是具体实施的时候,对货币编程并不简单。在 PBM 之前,有两个对货币编程的主要模式:一是可编程支付(programmable payment),相当于是在支付函数上附加编程逻辑,比如运用数据库触发器和存储过程,或者区块链智能合约来对支付过程加以约束和引导。二是可编程货币(programmable money),直接把支付条件和逻辑内置到数字货币里面了。举例子比较容易说明。在 Web3 里,大多数面向 ERC-20 的支付、结算、交易智能合约都是属于可编程支付,它们处理的 ERC-20 token 本身都是中立、自由、无逻辑的,支付逻辑都写在智能合约里。而专门为表达 Security Token 所创建的 ERC-1400/1404 是典型的可编程货币,把限制白名单支付的逻辑直接内置在 token 合约内部了。可编程支付的优点是适应能力强,可以处理多种资产,缺点是难以在灵活性、安全性与简单性之间达成平衡。要灵活,合约就得写得特别复杂,复杂以后必然带来安全隐患。而要简单,就可能应对不了未来的新变化。我们在 Web3 之所以要花大钱去请人审计智能合约,就是因为功能稍微强大一点,智能合约就会变得非常复杂,安全性隐患就会非常突出。可编程货币的缺点则是流动性的碎片化。一种货币天生只能在某一个范围和条件内流转,几百几千种这样的“局部货币”就破坏了货币的同质化(fungibility),在市场上就会带来严重的流动性摩擦和估值困难,破坏货币作为价值媒介的功能。

PBM 就是为了解决以上问题而寻找的第三条路线。其核心要点是用一个“包装合约”来包裹和管理通用的数字货币,把支付逻辑放在这个“包装合约”里,去管理其中的数字货币。对应不同的应用场景,我们可以选择不同的“包装合约”来约束和管理被包装的数字货币,从而起到对支付过程和条件进行编程的效果。但这些被包装的数字货币本身都是统一的、中立的、自由的、同质化的,一旦条件满足,收款人可以从包装中提出数字货币,恢复数字货币自身的“无条件”天性。

13278ba3992ba39f6b8d207cfe86778f.png

我在这里的介绍十分简略而不全面,只是择要而论。MAS 的论文中详细讨论了三种模式的优缺点,而且详细定义了 PBM 应该具有的接口和特征,有兴趣的读者绝对应该仔细阅读一遍。

b0504766809469573ccaf53978c6df54.png

熟悉 ERC-3525 的读者看到这里,应该恍然大悟了,我对于 PBM 的关注不仅是作为区块链创业者的一般性的兴趣,而是“暗藏私货”,是出于 PBM 与 ERC-3525 的神契合。ERC-3525 就是作为这样的对数字资产进行编程管理的包装性技术提出的。我们所谓的“数字票据”,不就是对数字货币(也包括未来的数字货币现金流)进行包装、管理、约束和编程的工具吗?因此我可以毫不谦虚地说,ERC-3525 是目前实现 PBM 最好的协议,应该没有之一。读完白皮书,我觉得 ERC-3525 简直是为实现 PBM 量身定做的协议,然而事实上却是 ERC-3525 设计发布在前,而 PBM 发表在后。提前预判了重大的创新方向,对于做技术创新的团队来说,这毫无疑问也是人生一大快事。

当然,MAS 自己的 PBM 实现应该不是使用 ERC-3525,但我还是很高兴 MAS 从另一个完全不同的角度为 ERC-3525 确立了一个主要的应用场景和发展方向。我们将会积极支持 PBM。不久之后大家将会看到我们推出完全支持白皮书规定的所有接口的 ERC-3525 PBM。

附:PBM 白皮书可从以下页面下载:

https://www.mas.gov.sg/publications/monographs-or-information-paper/2023/purpose-bound-money-whitepaper

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/5295.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式软件架构——客户端缓存

浏览器的客户端缓存 当万维网刚刚出现的时候,浏览器的缓存机制差不多就已经存在了。在 HTTP 协议设计之初,人们便确定了服务端与客户端之间“无状态”(Stateless)的交互原则,即要求客户端的每次请求是独立的&#xff…

LeetCode 打卡day48--打家劫舍I, II, III

一个人的朝圣 — LeetCode打卡第48天 知识总结 Leetcode 198. 打家劫舍题目说明代码说明 Leetcode 213. 打家劫舍 II题目说明代码说明 Leetcode 337. 打家劫舍 III题目说明代码说明 知识总结 今天全是打家劫舍系列的题目, 还挺有意思的 Leetcode 198. 打家劫舍 题目链接 题目…

【C++初阶(二)】缺省参数以及函数重载

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C初阶之路⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习排序知识   🔝🔝 缺省参数&函数重载 1. 前言2. 缺…

python学习——函数

一、函数的定义 函数就是执行特定任务和完成特定功能的一段代码。使用函数可以对代码进行复用,提高代码的可维护性和可读性,使得程序便于调试。 二、函数的创建 创建格式 #创建和格式 def 函数名([参数]):函数体[return xxx]举例…

MySQL:库的操作和表的操作(内含MySQL数据类型讲解)

进入数据库的数据目录 cd var/lib/mysql 库的操作 创建数据库 创建数据库的本质是创建目录。 创建数据库时有两个编码集:1.数据库编码集(存储时使用)2.进行字段比对读取时使用的编码方式) 语法: CREATE DATABASE …

7、Redis复制(replica)

Redis复制(replica) 是什么? 就是主从复制,master以写为主,Slave以读为主。当master数据变化的时候,自动将新的数据异步同步到其它slave数据库 读写分离 容灾恢复 数据备份 水平扩容支撑高并发 案例演示 架构说明 一个Master两个…

微服务系列文章之 seata 事务模式

XA模式 XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准。 XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。 两阶段提交 XA是规范&…

深度学习优化算法

梯度下降算法 随机梯度下降。随机梯度下降是指每次迭代在训练数据中随机抽取一个数据计算梯度来更新模型得参数。随机梯度下降容易受到噪声干扰,训练时间长,代价函数最终会围绕全局最小值或者局部极小值震荡。批量梯度下降。每次迭代时使用所有的训练数据来计算梯度更新模型的…

UE5 录制透明png序列帧

以下是在 Unreal Engine 5 中录制透明 PNG 序列帧的详细步骤: 步骤1:创建一个场景 步骤2:打开序列录制器 在 Unreal Engine 5 中,首先需要打开序列录制器。你可以通过点击顶部菜单栏的 窗口 > 开发人员工具 > 序列录制器 …

WEB漏洞-XXEXML之利用检测绕过全解(39)

#概念 xml:xml被设计成传输和储存数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容。就类似于一种数据的格式,代码类的一些东西; xxe:是xml上面的一个漏洞,…

mesh网格数据解析及cesium绘制格网三角网可视化实现

代码实现运行效果 技术术语 Mesh通常指网络拓扑中的网状结构。在计算机网络中,Mesh是指每个节点都与其他节点相连,形成一个无中心的网状结构。Mesh网络常见于分布式计算、传感器网络、互联网等场景中。另外,在3D计算机图形学中,M…

MATLAB 之 Simulink 系统仿真实例和 S 函数的设计与应用

这里写目录标题 一、Simulink 系统仿真实例1. 方法一2. 方法二3. 方法三 二、S 函数的设计与应用1. 用 MATLAB 语言编写 S 函数1.1 主程序1.2 子程序 2. S 函数的应用 一、Simulink 系统仿真实例 下面的应用实例我们将分别采用不同建模方法为系统建模并仿真。例如,…