撰文:郝凯,就职于 HashKey Capital Research
审核:邹传伟,万向区块链与 PlatON 首席经济学家
来源:链闻
编者注:原标题为《HashKey:深入分析新加坡金管局区块链计划 Ubin 四阶段研究成果》
新加坡金管局的 Ubin 项目已经进行了五个阶段的研究工作,研究领域包括新加坡元的 Token 化、支付系统、券款对付、同步跨境转账。本文对 Ubin 项目的研究工作进行分析和总结,从中可以看出新加坡金管局对 DLT 的重点应用方向。在 DLT 的研究中,各国央行都非常重视对 HTLC 的应用。
Ubin 是新加坡金管局(MAS)开展的研究项目,其研究目标是探索区块链和分布式账本技术(DLT)在货币 Token 化、支付系统、券款对付、同步跨境转账等领域中的应用,旨在解决金融业和区块链生态系统所面临的实际问题。目前,Ubin 项目进行了五个阶段的研究工作,并公开发布了前四阶段的研究报告。
Ubin 项目第一阶段的主要研究工作包括将新加坡元(SGD)进行 Token 化,并使用 DLT 完成跨行转账,同时评估 DLT 对新加坡金融生态的潜在影响。参与 Ubin 项目第一阶段的成员有 MAS、美林银行、星展银行、汇丰银行和摩根大通等。
一是基于分布式账本为境内银行之间的转账系统建立一个概念设计原型,这个分布式账本上记录的每个银行的余额是由其在央行的存款准备金支撑的。概念设计原型中应该包括以下几点:记录所有参与者余额的分布式账本,在分布式账本上参与者可以实时开户、转账和销户,在分布式账本上参与者可以实时、全天候完成转账,将分布式账本与现有的央行结算基础设施整合。
二是研究 DLT 在实际应用中的非技术影响。例如,货币 Token 化对货币政策、市场规则、货币供应、金融市场基础设施的原则或系统性风险、监管政策等方面的影响。
技术工作
Ubin 项目第一阶段的概念设计原型中使用了现有 Jasper 项目和 BCS 信息系统(BCSIS 区块链)的部分设计组件。在原型设计中,Ubin 项目在分布式账本上为 Token 化的存托凭证(Depository Receipts,DR)创建了存托凭证资金托管账户。
Ubin 项目第一阶段的分布式账本是基于以太坊的私有链。下图是 Ubin 项目的结构示意图,展示参与者(包括银行和用户)通过分布式账本进行转账,以及存托凭证的抵押和赎回。
图 1:Ubin 项目的结构示意图
Ubin 项目第一阶段的结构示意图中包含两个单独的系统,这两个系统可以综合使用以提高不同账户之间的转账效率。MEPS+(即 MAS Electronic Payment System,是 SGD 的全额实时结算系统)用来处理银行间的 SGD 转账,区块链系统用来处理参与者钱包之间的转账。通过将转账资金合并到存托凭证,MEPS+和区块链这两个系统可以有机结合起来,银行间的 SGD 转账转化成参与者钱包之间的转账。整个转账流程的步骤如下。
第一,资金划转和抵押。参与者 A 在当前账户(即下图中 CA 账户)中的资金会划转到全额实时结算(RTGS)账户。参与者 A 向 MEPS+发送请求,开通区块链账户(即下图中 BCA 账户)。参与者 A 在 RTGS 账户中的资金会转到区块链账户。此时,区块链账户中的资金就可以用来抵押生成存托凭证。在这个阶段,MAS 必须验证抵押品的有效性以便后续发行存托凭证。
第二,MAS 通过智能合约向参与者 A 的钱包中发放存托凭证。如果参与者 A 的区块链账户中有 300 SGD,那么参与者 A 的钱包中就会有价值 300 SGD 的存托凭证。存托凭证是 MEPS+和区块链之间的连接。
第三,基于区块链,参与者 A 可以向其他参与者的钱包进行转账。例如,参与者 A 向参与者 B 转账 30 SGD。
第四,区块链系统会向 RTGS 发送一个 FAST 净结算文件。
第五,参与者 A 的 RTGS 账户中 30 SGD 会被记入参与者 B 的 RTGS 账户。
第六,参与者 A 的区块链账户会减少 30 SGD,余额为 270 SGD。
第七,参与者 B 的 RTGS 账户中资金会转到参与者 B 的区块链账户。
图 2:转账流程示意图
结合上述转账步骤,概念设计原型中包括三个关键因素。一是建立分布式账本网络,Ubin 项目第一阶段的分布式账本是基于以太坊的私有链,节点包括 MAS 和银行。二是开发智能合约和工具。三是连接分布式账本网络和 MEPS+,Ubin 项目第一阶段通过存托凭证连接两个系统。
研究工作
研究工作流程的主要任务是:确定和阐明 Ubin 项目概念设计原型的监管问题,确定 DLT 对货币和金融政策的影响,评估解决方案是否满足 PFMI (Principles for Financial Market Infrastructure)的要求并找出存在的差距。同时,为后续研究央行数字货币制定一份研究清单。
Ubin 项目第一阶段的概念设计原型解决了转账双方之间的信用风险。将新加坡元 Token 化之后,交易双方之间的转账相当于是抵押在 MAS 的资金转账,抵押在 MAS 的资金不存在信用风险。
Ubin 项目第一阶段的概念设计原型中分布式账本不存在流动性风险。即使生态中最大的参与者发生故障或中断,也不会阻碍其他参与者完成相应的转账交易。
Ubin 项目第二阶段的主要研究工作是使用 DLT 模拟银行间实时全额结算系统(RTGS),在保护隐私的前提下,用一种去中心化的方式实现流动性节约机制(LSM),解决交易的隐私性和最终性等问题。参与 Ubin 项目第二阶段的成员包括 MAS、新加坡银行协会(ABS)、埃森哲、11 家金融机构和 4 个技术合作伙伴。
Ubin 项目第二阶段的研究目标是基于上述平台分别开发三个包含 RTGS 系统功能的原型。原型的六个主要设计准则是:转账数字化,去中心化架构,排队机制,交易隐私保护,结算最终性和流动性优化。
图 3:设计原型的功能
资金转账
Ubin 项目第二阶段的资金转账是指从一家银行到另一家银行的转账。当付款方有足够的流动资金且交易队列中没有等待交易的指令时,资金转账会即时结算。
在这种情况下,资金的未来拥有者无法识别之前拥有者的身份,可以有效保护交易中的参与者。这对于在 UTXO 模型中保护隐私是很重要的,在 UTXO 模型中,资金的监管可以一直追溯到发行方 MAS。通过使用机密身份,收款方可以验证资金的真实性,但不能将资金与现实世界中的拥有者对应起来。
图 4:Corda 转账流程示意图
当生成交易的输出状态、命令和签名时,机密身份的公钥会在交易中使用。作为资金的当前拥有者,付款方使用匿名身份对交易进行签名,然后系统中的公证人(Notary)验证了状态的唯一性并进行签名。经过公证人之后,付款方和收款方会将最终交易的输出状态记录在各自的账本上。
公证人的功能是对提交的交易进行唯一性验证。当接受交易时,公证人会对交易进行签名;当拒绝交易时,公证人返回声明表示发生双花。如果交易过程中付款方的资金不足,那么会产生一个债务状态并注册到交易队列中。债务状态可以取消、重新设置或完成结算。
图 5:Hyperledger Fabric 转账流程示意图
排序节点(Orderer)是 Hyperledger Fabric 系统架构中的重要角色,负责处理用户提交的交易消息请求。如上图所示,付款方将资金转给收款方,在 Orderer 进行全网广播之前,付款方和收款方会对交易进行签名。双边通道中的所有参与者(付款方、收款方和 MAS)会收到一个区块来验证并提交这个交易到他们的分布式账本。
图 6:Quorum 转账流程示意图
资金转账的交易指令是付款方的 DApp 发起的。DApp 调用私有智能合约并生成一个私有交易。然后,付款方的 DApp 调用全网执行的公开交易。公开交易是使用交易指令中金额的哈希值创建的,这个哈希值是零知识证明生成和验证的输入。Quorum 通过零知识证明验证公开交易的有效性和完整性,因此不需要显示交易中的任何数据。
排队机制
当银行为资金转账创建交易指令但流动性不足时,交易指令被放入交易队列中。银行可以在交易队列中查看所有与自己相关的交易指令。当银行的流动性充足时,交易队列将根据以下顺序自动结算:先比较优先级,优先级高的交易会先进行结算;再比较进入交易队列的时间,时间越早的交易会先结算(First-In First-Out,FIFO)。
当付款方的流动性不足时,交易指令会被添加到私有交易队列和全局交易拥堵队列中(Global Gridlock queues)。交易队列的结算按照优先级和 FIFO 原则,结算完成后,交易会被移出私有交易队列和全局交易拥堵队列。
交易拥堵解决方案
全额结算对资金流动性的要求很高。当交易双方的资金不足、无法按照交易顺序完成全额结算时,就会发生交易拥堵。此时,可以通过轧差后进行净额结算,解决交易拥堵问题。
Corda 的交易拥堵解决方案分为发现、计划和执行三个阶段。交易拥堵解决方案会反复运行以解决队列中交易指令的结算问题。Corda 没有采用类似于 EAF2 (一个最早用于德国的 FIFO 算法)等传统交易拥堵解决方案,而是开发了一种新的基于循环的算法,称为循环求解器(Cycle-solver)。
Hyperledger Fabric 的交易拥堵解决方案采用 EAF2 算法。Hyperledger Fabric 的交易拥堵解决方案分为初始化和结算两个阶段。
Quorum 的交易拥堵解决方案采用 EAF2 算法。Quorum 的交易拥堵解决方案分为四个阶段:标准化,排队,作出决定和结算。这些状态被写入智能合约中,由与所有节点同步维持。
第二,使用 DLT 实现 RTGS 系统不仅可以降低单点失效等中心化系统的固有风险,而且可以获得 DLT 的优点,例如安全性和不可篡改。
第三,在研究过程中,隐私保护是非常重要的因素,三个平台都有针对隐私保护的考虑和设计。Corda 使用 UTXO 模型和机密身份,Hyperledger Fabric 使用独特的双边通道设计,Quorum 使用点对点的消息交换系统和零知识证明。
Ubin 项目第二阶段成功地证明了在保护隐私的前提下,可以用去中心化的方式实现 RTGS 系统的功能。DLT 的成功应用意味着需要重新考虑 MAS 在银行间转账所扮演的角色。
Ubin 项目第三阶段的主要研究工作是使用 DLT 进行 Token 化资产之间的结算,例如在不同的账本上对新加坡政府证券(Singapore Government Securities,SGS)和央行发行的资金存托凭证(cash-depository receipts,CDRs)进行券款对付(Delivery versus Payment,DvP),旨在实现 DvP 的互操作性和最终性。参与 Ubin 项目第三阶段的成员包括 MAS、SGX (新加坡交易所)、Anquan Capital、德勤和纳斯达克等。
图 7:三种设计原型示意图
第一种原型是由 Anquan 设计,CDRs 的账本基于 Quorum,SGS 的账本基于 Anquan 区块链。第二种原型是由德勤设计,CDRs 的账本基于 Etherum,SGS 的账本基于 Hyperledger Fabric。第三种原型是由纳斯达克设计,CDRs 的账本基于 Hyperledger Fabric,SGS 的账本基于 Chain Inc 区块链。
交易流程是:48 小时内,证券从卖方转到买方;24 小时内,资金从买方转到卖方。买方和卖方都可以访问资金和证券的分布式账本,这两个账本是分别结算的。Ubin 项目第三阶段对四种 DvP 场景进行研究。
结算成功
在这种场景中,买方和卖方都履行了交易义务,最终成功进行结算,如下图所示,整个交易步骤如下。
图 8:结算成功流程示意图
第一,买方和卖方向匹配引擎或 OTC 平台提交订单。匹配成功后,交易双方根据商定的资产类型和金额进行交易。
第二,匹配引擎或 OTC 平台生成哈希原像和哈希值,并通过加密文件的方式共享给卖方。哈希原像和哈希值将用于验证结算过程中的交易指令。
第三,卖方创建第一个证券交易指令,确定证券的交易数量,并设置两种可能的交易结果状态,然后提交给证券分布式账本。一种状态是在买方可以提供哈希原像或者交易双方都同意的情况下,买方可以获得证券。另一种状态是买方在 48 小时内无法提供哈希原像或者交易双方都同意的情况下,卖方收回证券。
第四,证券分布式账本的共识机制验证和确认第一个证券交易指令,然后更新分布式账本。同时,使用哈希时间锁智能合约锁定卖方的证券。
第五,买方在核实第一个证券交易指令的内容后,创建与资金转账相关的第一个资金交易指令。在这个指令中,买方确定了两种可能的交易结果状态。一种是在卖方可以提供哈希原像或者交易双方都同意的情况下,卖方可以获得资金。另一种是卖方在 24 小时内无法提供哈希原像或者交易双方都同意的情况下,买方收回资金。
第六,资金分布式账本的共识机制验证和确认第一个资金交易指令,然后更新分布式账本。同时,使用哈希时间锁智能合约锁定买方的资金。
第七,在核实买方第一个资金交易指令的内容后,卖方创建第二个资金交易指令(获得商定数额的资金),并提供哈希原像。然后卖方对第二个资金交易指令进行签名并提交给资金分布式账本。
第八,资金分布式账本的共识机制验证和确认第二个资金交易指令,然后更新分布式账本。此时,锁定的资金被转给卖方,资金支付流程结束。
第九,在收到卖方第二个资金交易指令的内容后,买方创建第二个证券交易指令(获得商定数额的证券),并提交卖方提供哈希原像。然后买方对第二个证券交易指令进行签名并提交给证券分布式账本。
第十,证券分布式账本的共识机制验证和确认第二个证券交易指令,然后更新分布式账本。此时,锁定的证券被转给买方,证券交付流程结束。
结算失败,资金和证券返还给原持有人
如果上述场景中的某一个步骤没有成功完成,例如交易双方没有在规定的时间内提交交易指令,那么结算失败。此时,资金和证券没有换手,买方和卖方都没有失去本金的风险。
结算失败,要求仲裁
如果结算成功场景中前面的步骤顺利完成,但买方未能在 48 小时内提交第二个证券交易指令,那么结算失败。买方已经完成付款,会面临本金和流动性风险。此时,买方会要求仲裁。
结算失败,仲裁机构介入
在这种场景中,结算失败,仲裁机构介入。此时,买方可以要求仲裁机构帮助,从卖方那里获得商定数额的证券或收回已经支付的资金。
在 Anquan 设计中,CDRs 的账本基于 Quorum,SGS 的账本基于 Anquan 区块链。其设计特点包括以下三点。
图 9:Anquan 设计原型示意图
第一,分布式原子交易。为了保护参与者,交易的原子性是在没有中心化仲裁机构的情况下实现的。虽然在分布式账本中实现 DvP 可能使买方面临一定的本金风险,但可以通过交易双方提交到账本的交易指令来降低这个风险。第二,可以与支付系统整合。这个设计可以与 Ubin 项目第二阶段开发的支付系统进行整合。第三,可扩展性。PBFT 共识算法和分片的设计使得这个系统具备可扩展性,可以快速实现跨链原子交易而不必等待几个区块确认。在这种方法中,仲裁机构是一个重要角色。在交易失败的情况下,仲裁机构可以撤销时间锁智能合约,解决潜在的流动性风险。
德勤
在德勤设计中,CDRs 的账本基于 Etherum,SGS 的账本基于 Hyperledger Fabric。其设计特点包括以下四点。
图 10:德勤设计原型示意图
第一,中心化用户证书管理。通常情况下,Token 化资产是所有者通过自己的私钥来保管的,所有者自己负责私钥的安全。但在这个设计中,经过授权的第三方可以提供私钥托管服务,持有托管的私钥并为交易进行签名。第二,含有仲裁机构的半中心化 DvP。Token 化资产通常是在去中心化的环境中以效率更高且成本更低的方式进行交易。然而,如果没有中心化的流程和仲裁途径,买方或卖方将不得不自己承担可能发生的任何损失。因此,在这个设计中引入可信的第三方作为仲裁机构。第三,智能合约和公钥基础设施。DvP 逻辑在智能合约中实现,以便外部机构进行审计,并通过智能合约维持交易的原子性。第四,可以与其他图灵完备的区块链平台兼容。
纳斯达克
在纳斯达克设计中,CDRs 的账本基于 Hyperledger Fabric,SGS 的账本基于 Chain Inc 区块链。其设计特点包括以下四点。
图 11:纳斯达克设计原型示意图
第一,即使用户对底层的 DLT 不了解,也可以通过 API 执行必要的功能。用户可以检索资金和证券的帐户状态,使用私钥对智能合约进行签名,或在两个分布式账本上进行输入。第二,智能合约引擎可以帮助用户创建智能合约。智能合约引擎允许用户用人类可读的格式定义智能合约的标准,并在分布式账本上执行交易。第三,安全的云解决方案。整个设计是完全封装好的,可以直接部署到后端或用户界面。这种设计非常容易扩展和使用,底层 DLT 的变化不会影响 API 和用户体验。第四,封装结构,可以直接在云平台环境中运行。
目前,新加坡市场的结算周期是 T+3,使用 DLT 可以缩短结算周期,达到 T+1 或者全天候实时结算。结算周期的缩短会降低交易对手风险、本金风险和流动性风险。
在交易过程中使用哈希时间锁智能合约,买方可能会面临本金风险。因此,仲裁机构是一个重要设计,用于解决系统中的交易争端。设计原型对增强安全性和隐私保护非常重视,交易者可以在匿名状态下完成交易。需要指出的是,使用 DLT 时,资产会被智能合约锁定,在锁定期间,资产不能用于其他交易,这可能会导致市场流动性降低。
图 12:三种同步跨境转账的概念设计
中间人的方法
这种方法通过中间人结算来实现跨境转账。中间人是支付的第三方,通常是银行,可以使用国内和国外的网络。中间人可以在国内网络中从付款方那里接收资金,并在国外网络中向收款方发送资金。付款方和收款方不需要同时在两个网络中拥有账户。
图 13:中间人方法流程示意图
同时使用国内和国外网络方法
在这种方法中,金融机构可以使用国内和国外网络,并在两个网络中持有两种货币。目前,有这种资质的金融机构比较少。如下图所示,银行 1 和银行 2 都在两个网络中拥有账户,可以直接进行两种货币的交易。
图 14:同时使用国内和国外网络方法流程示意图
支持多货币的网络
这个模型假设在每个网络中可以交易多种货币,付款方可以在国内网络中同时拥有国内货币和国外货币。付款方可以直接与其他参与者交易,在国内网络中使用国内货币兑换国外货币。
图 15:支持多货币的网络方法流程示意图
在研究过程中,新加坡的银行 A 是在 Quorum 平台上的节点,加拿大的银行 B 是在 Corda 平台上的节点,中间人 A 在两个平台都有节点。银行 A 用 105 SGD 向银行 B 转账,根据两种货币之间的汇率,银行 B 最终收到 100 CAD。整个转账流程如下图所示。
图 16:转账过程中 HTLC 的流程示意图
第一,加拿大的银行 B (收款方)创建哈希原像 S 和哈希值 H(S),并将哈希值 H(S) 共享给新加坡的银行 A (付款方)。
第二,银行 A 在新加坡网络发起含有 HTLC 的交易,将 105 SGD 锁定在指定的托管账户中,转给新加坡的中间人 A。同时,规定了整个交易的时间 T。
第三,新加坡的中间人 A 审查智能合约的内容,并确认 105 SGD 锁定在指定的托管账户中。然后,新加坡的中间人 A 将哈希值 H(S) 和时间限值 T/2 转给加拿大的中间人 A。
第四,加拿大的中间人 A 使用哈希值 H(S) 和时间限值 T/2 在加拿大网络创建第二个智能合约,并将 100 CAD 锁定在指定的托管账户中,转给银行 B。
第五,银行 B 审查加拿大网络上智能合约的内容,确定锁定金额,然后使用哈希原像 S 从这个智能合约中获得资金 100 CAD。在这个过程中,哈希原像 S 提交给加拿大的中间人 A。
第六,加拿大的中间人 A 与新加坡的中间人 A 共享哈希原像 S。
第七,新加坡的中间人 A 可以用哈希原像 S 从新加坡网络的智能合约中获得托管账户中的资金 105 SGD。
HTLC 使用哈希锁和时间锁来实现两个 DLT 平台之间原子交易。即使在交易失败的场景中,HTLC 也是一种可靠的方法,付款方在绝大多数情况下不会有本金风险。如果收款方不能在规定的时间内提交哈希原像,那么 HTLC 协议就会失败,托管的资金会返还给付款方。
Ubin 是新加坡金管局开展的研究项目,其研究目标是探索区块链和分布式账本技术在货币 Token 化、支付系统、券款对付、同步跨境转账等领域中的应用,旨在解决金融业和区块链生态系统所面临的实际问题。从中可以看出新加坡金管局对 DLT 的重点应用方向。
在 Ubin 项目研究过程中,新加坡金管局非常重视与其他国家央行、金融机构和科技公司的合作,并大量借鉴和吸取传统金融领域或现有 DLT 项目的研究成果。
Ubin 项目目前还处于研究阶段,在 DLT 大规模实际应用之前还有很多问题需要解决。例如,研究阶段的设计原型可能无法满足实际应用的性能要求,以及现有法律法规体系下的监管问题等。
Ubin、Stella 和 Jasper 等各国央行主导的 DLT 研究项目在研究内容上有非常相似的地方。支付系统、证券结算系统和跨境转账系统都是重点研究领域。同时,各国央行都非常重视对 HTLC 的应用。但 HTLC 也存在缺陷,并不是一种完美的解决方案。未来,各国央行需要进一步对其他技术路线进行研究和探索。
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:前沿金融科技精英读物
评论0条