使用分布式账本技术实现跨境高价值转移——Jasper项目第四阶段报告
Jasper项目是加拿大支付公司、加拿大银行、金融创新联盟等加拿大金融机构合作研究倡议,旨在了解分布式账本技术(Distributed Ledger Technology,DLT)如何改变加拿大支付的未来。该项目于2016年3月启动,目前已发布六份报告,本文为项目第四阶段报告。中国人民大学金融科技研究所(微信ID:ruc_fintech)对文章核心内容进行了编译。
第一阶段报告:DLT平台的搭建——Jasper项目第一阶段报告
第二阶段报告:DLT在国内银行间同业拆借付款结算的应用——Jasper项目第二阶段报告
第三阶段报告:采用DLT技术的证券结算——Jasper项目第三阶段报告
编译 | 路钰秾
来源 | Bank of Canada, Monetary Authority of Singapore
1.介绍
2016年,中国银行(BOC)和新加坡金融管理局(MAS)分别启动Jasper项目和Ubin项目,探索使用分布式账本技术(DLT)进行支付和证券的清算和结算。这两个项目都单方面为当今基于中央银行发行的数字货币的金融系统开发更具弹性、效率和成本更低的替代方案。
这两个项目都成功开发了基于DLT的国内银行间支付原型,后续的实验也探索并成功测试了代币化数字货币和证券资产的同步交换和最终结算的可行性。虽然这些实验证明了该技术的可行性,但在有可信中心方且集中式系统高效运行的国内环境中,DLT的增量收益依然有限。
出于对DLT优点的直觉,我们选择调查多方在不同司法管辖区的不同DLT网络中进行交易的跨境支付,没有单一的可信实体。假设DLT适合此用例,因为(a)跨不同网络的整个交易中的所有权可追溯性至关重要;以及(b)目前没有跨司法管辖区的单一可信中央方。在跨境支付中,中央银行在其管辖范围内充当受信任的中央方,但是,没有一个组织可以作为整个全球支付网络中的受信任中央方。
这项技术研究是BOC和MAS之间的合作,它利用Jasper项目和Ubin项目的经验来检验以下假设:DLT将提高效率并降低跨境交易中跨机构协调流程错误所带来的风险。该项目建立在加拿大银行、新加坡金融管理局、英格兰银行、汇丰银行以及英国、加拿大和新加坡的其他商业银行之前开展的工作的基础上,分析了各种业务运营模式,以探究实现更高效的跨境大额支付的可能性。
1.1 什么是跨境支付?
跨境支付交易是实体希望向不同司法管辖区的收款人发送付款信息的交易。通常,发送方和最终接收方无法访问同一分类帐,因此,它们之间的交易是通过不同分类账上的一系列关联转移进行的。一个常见的例子是在一系列中间交易中使用多个代理银行来到达接收方。
跨境支付通常涉及外汇(FX),因为发送方持有本地货币(LCY),而接收方希望以本地货币接收资金,从发送方的角度来看,该货币被标记为外币(FCY)。获得FCY的方法各不相同(例如,发件人可能已经从之前的交易中获得了FCY)。因此,外汇资金方面与支付本身不同。在我们的实验中,我们将外汇资金方面纳入了整个流程。
1.2 什么是结算系统?
在最基本的层面上,电子结算系统是记录资产所有权的会计分类账,结算是更新所转让资产所有权记录的过程。付款或资金从发送方转移到接收方,通过更新分类帐、减少发送方的余额和增加接收方的余额来“结算”,从而减少了发送方和接收方之间对该付款的任何义务。
因此,直接转账只能在资产保存在同一分类账上的各方之间进行。分类账转移的一个例子是国内银行间结算系统,参与机构在中央银行的分类账上相互交易。这被称为中央银行负债交易,因为与中央银行保持的余额代表可按需偿还的“存款”。从中央银行的角度来看,这些余额被记录为负债。各方也可以通过维护账户和资产来在私人机构的分类账上进行交易。
2.跨境结算系统的设计选项
Jasper-Ubin项目建立在BOC和MAS进行的先前技术研究的基础上。它的重点是由不同的基于DLT的现金结算网络的互操作性支持的运营模式,特别是来自Jasper项目和Ubin项目。尽管这是一项技术研究而非政策研究,但本节概述了该项目的业务背景。
Jasper项目和Ubin项目中的模型受到一个特定设计约束的限制:各方只能直接与同一账本上的其他方进行交易。在跨境支付中,如果有许多交易方不存在于同一分类账上,这些交易方将能够仅通过以下方式进行电子交易:(a)使用中介,或(b)允许直接获取中央银行的负债。Jasper-Ubin提到了这两个广泛的设计选项。
2.1 中介的使用
在传统代理银行模式中使用中介机构会给交易方带来信用违约风险和结算风险交易双方。消除此类风险的一种方法是消除中介机构持有资金的需要。
使用前面描述的相同场景,发送方将LCY传输给LCY网络上的中介,中介将FCY传输给FCY网络上的接收方。
中介促进交易的完成,而无需交易方持有资金。这与传统的代理银行模式不同,后者的资金由代理银行持有,这降低了代理银行的信用风险敞口(或者实际上相反,发送方从代理银行获得付款信用)。
还可以通过确保相关或链接转移的原子性来消除结算风险。原子性是指完成包含交易的所有传输,它们要么一起成功,要么一起失败。在失败的情况下,其他链接的转账也会自动失败,将资金退回给发送者。
在上面的示例中,有两个链接事务,但可能存在必须跨多个链接传输确保原子性的场景。
采用这种中介模式可以最大限度地降低信用风险和结算风险;此外,由于它在很大程度上类似于当前的代理银行模式,它将能够依赖现有的法规和流程。
要求LCY和FCY网络上都存在中介机构,这大大减少了可以发挥中介作用的金融机构的数量。根据对直接参与新加坡MAS电子支付系统(MEPS+)的64家金融机构和参与加拿大大额转账系统(LVTS)的17家金融机构的分析,只有5家全球金融机构同时存在MEPS+和LVTS。
在理想情况下,中介机构将是一家在两个网络中都有业务的全球金融机构,因此不承担信用风险。或者,中介机构可以是一对愿意相互承担信用风险的独立金融机构。在这种情况下,交易双方仍然不存在信用风险,但中转银行将承担其交易对手中转银行的信用风险。这也可能会增加可以促进跨境交易的中介机构的数量。
2.2 扩大获得中央银行债务的渠道
使用中介机构的替代方案是允许交易方直接接触中央银行的负债。然而,扩大非监管金融机构或外国金融机构对中央银行负债将引发许多考虑和挑战。从监管和法律挑战到经济和货币政策问题,再到银行的商业成本和收益,这些问题都是悬而未决的。同时,对该领域的研究也很有限,因为没有可行的技术模型可以使中央银行的负债能够在有限的受监管金融机构之外轻松进行交易。
3.拟议的跨境支付技术方法
3.1 通过哈希时间锁定契约实现事务的原子性
由于跨境支付通常由一系列相互关联的转账组成,确保这些交易的原子性可以最大限度地降低结算风险。HTLC提供了一种可能的技术解决方案,以确保跨多个基于DLT的系统交易的原子性。在包括数据库在内的大多数计算机系统中,原子性是通过“两阶段提交”的概念来保证的。两阶段提交是一种协议,它协调参与事务的两个或多个进程来决定提交或中止(回滚)事务的所有进程。两阶段提交通常如下实现:
阶段1——事务中的每个参与者将其数据记录写入临时存储并向协调器指示该过程是否成功。
阶段2——在确认所有进程都成功后,协调器向所有参与者发送一个信号以提交,即将记录从临时存储更新到实际存储。如果任何参与者失败,协调器会向所有参与者发送中止和回滚指令。
两阶段提交可以通过使用中间托管帐户在系统中工作,其作用类似于临时存储。例如,LCY与FCY的外汇兑换需要两个独立的交易:(a)LCY从买方转移到卖方,以及(b)FCY从卖方转移到买方。如果使用中间托管,买方首先将LCY转移到托管,卖方将FCY转移到托管。一旦托管确定交易的两个部分都已执行,它将通过向卖方发送LCY和向买方发送FCY来完成交易。如果交易的一部分失败,例如卖方未能将FCY转移到托管,托管可以通过将LCY退还给买方来回滚交易。
在传统系统上实现事务的原子性并不新鲜。交易所等实体可以作为受信任方,只在交易的两个分支都进入并将现金和证券的临时所有权分配给交易所后,才可以通过操作账户和允许货到付款结算来充当受信任方。然而,当没有单一的受信任方时,问题变得更加复杂,就像跨境支付一样。这就是HTLC出现的原因。
HTLC设计已用于公共区块链,以允许跨不同区块链网络进行资产交换。虽然在概念上类似于两阶段提交,但HTLC不需要受信任的第三方。相反,中间托管账户作为具有预定义规则的智能合约自主运行。
在跨境支付的背景下,交易由两部分组成,一部分在本国,另一部分在国外,HTLC协议可用于管理交易的两部分。接收者将生成一个秘密(由S表示),这将被转换为固定长度的加密输出,称为哈希(由H(S)表示)以包含在交易中。接收方需要在预定义的时间范围T内验证来自发送方的交易的H(S);否则,交易将作废。
3.2 拟议的技术设计
在这里,我们提出了三种广泛的跨境支付概念设计方案,其中发送方和接收方使用不同货币在不同分类账上进行交易。第一个选项涉及使用中介机构,第二个和第三个选项涉及允许交易方获得中央银行的负债。
可以通过两种不同的设计来获取中央银行的负债。第一种设计通过授予交易方直接访问网络上的账户或钱包来实现直接访问,即允许金融机构持有中央银行发行的FCY,即使它不是该特定管辖区的金融机构。第二种设计允许LCY流入可以直接交易的外币网络,这也可以看作是一种多币种结算系统。
3.2.1.中介方式
从概念上讲,这种方法通过使用中介来促进结算来实现跨境支付。中介机构是付款的第三方,通常是银行,可以访问国内和国外的网络。通过访问这两个网络,中介机构能够从其国内网络中的LCY中的汇款人处接收资金,并在国外网络中以FCY中的方式向收款人汇款。
由于中介机构促进了支付过程,发送方不需要直接访问国外网络,同样,接收方也不需要直接访问发送方的国内网络。外汇转换和转账可以由中介提供,因为每个网络只能操作自己的货币。因此,筹资的过程被整合到转移过程中。
本例中,IntA(L)和IntA(F)属于同一个国际金融集团,作为中介完成跨境转账。对于这种情况,我们假设汇率为1.05LCY对1FCY。
(1)银行1需要向银行2支付100FCY。银行1将向IntA(L)质押105LCY。
(2)IntA(L)使用其在外部网络中的实体IntA(F)将105LCY转换为100FCY。银行1将为此过程收取交易费。
(3)IntA(F)将100FCY转入银行2以完成交易。
HTLC序列流程
一个HTLC合约由两部分组成:哈希验证和时间到期验证。将首先创建一个秘密,记为S,然后生成它的散列,记为H(S)。H(S)和S是用于确保跨两个区块链网络链接交易的原子性的关键信息。
下面的序列图概括说明了如何通过中介执行HTLC进行资产交换。HTLC可能会在不同的DLT平台上以不同的方式实现,具体取决于每个平台的功能和限制。
3.2.2扩大对网络的访问
在这种方法中,银行可以访问本国和外国网络,并在这些网络中的每一个中持有资金。这意味着发送银行将能够在国外网络中持有一个钱包,该钱包中有FCY,而接收银行将能够在国内网络中持有一个钱包,该钱包中有LCY。这将改变现有政策,在现行政策中,只有一部分受国内监管的金融机构可以直接进入实时全额结算系统和央行负债。这将需要扩大准入政策。图9说明了银行1通过另一个市场参与者银行2为其FCY钱包提供资金。
银行1的FCY钱包中没有足够的资金。对于这种情况,我们假设汇率为1.05LCY对1FCY。
(1)银行1将LCY发送到银行2在国内网络中的钱包。假设两家银行事先同意在系统外进行外汇转换。
(2)银行2内部管理其LCY和FCY钱包,以增加其FCY钱包中的等值金额。
(3)然后银行2将FCY转入银行1在国外网络中的FCY钱包。
HTLC序列流
图10说明了HTLC是如何在资产互换的融资过程中执行的。
3.2.3网络中的多币种支持
在前一种方法中,资金从本地网络(LCY)中的发送方发送到外地网络(FCY)中的接收方。外汇转换和转账由中介管理,因为每个网络只能以自己的货币运作(不考虑其他融资安排)。该模型假设可以在每个网络中交易多种货币。例如,汇款银行将在其国内网络中同时拥有LCY和FCY钱包。
(1)银行1向中央运营商1质押105LCY用于转移到国外网络。
(2)中央运营商1然后通知中央运营商2有一个请求将105LCY转移到外部网络中的银行1。
(3)中央运营商2在国外网络向银行1发送105LCY,而中央运营商1在国内网络上兑换105LCY。
HTLC序列流
图15说明了通过中央操作员传输的HTLC序列流,消息有效负载中包含货币标识码。
4.概念的技术证明
为了验证第3.2节中概述的概念设计,我们使用Quorum和Corda开发了一个简化的概念证明。概念证明仅涵盖一种模型——中介方法,这是最不复杂的方法,以便重点证明使用HTLC进行原子交易的两个不同区块链网络之间原子交易的技术可行性。这项技术概念验证有两个目标:(1)在Quorum和CordaDLT平台上实施HTLC合约;(2)在Quorum和Corda之间建立安全通信以传输交易细节,包括秘密哈希H(S)和秘密S。
4.1 概念证明的设置
在本节中,我们将说明新加坡银行与加拿大银行之间使用中介机构的资产互换模型。我们假设这些司法管辖区中的每一个都有自己的基于DLT的支付网络,基于不同的DLT平台,即新加坡的Quorum和加拿大的Corda。跨DLT交易的原子性是通过在两个网络中实现HTLC协议来实现的。
在新加坡网络中,本地银行A和中介A各使用两个不同的Quorum节点。在加拿大区块链中,中介A和加拿大本地银行B将使用两个不同的Corda节点。中介A存在于两个网络中并充当中介。作为此示例的一部分,新加坡当地银行A将向加拿大当地银行B转账105新元,汇率为1新元兑0.95加元。交易结束时,加拿大当地银行B将收到100加元。
概念验证的设置如图16所示。
异常情况
HTLC协议的一个关键方面是参与银行和中介银行之间的秘密和哈希哈希的链下传输,以促进交易的发起和完成。因此,在此过程中可能会出现以下异常场景:
(1)将秘密哈希H(S)从加拿大B银行转移到新加坡A银行。如果A银行丢失H(S),将无法发起交易。银行B必须重新生成H(S)并将其发送给银行A。
(2)加拿大银行B丢失秘密S并完成交易的第二部分。如果银行B在将H(S)发送给新加坡银行A后丢失了原始秘密S或无法完成第二部分的交易T/2时间交易,那么交易在两个网络都会过期,资金最终会返回到银行A。
(3)从新加坡的中介A向加拿大的中介A传输秘密哈希H(S)。如果新加坡的中介A无法将H(S)发送给加拿大的中介A,那么加拿大网络将不会发起交易。因此,新加坡网络中的交易将在T时间后到期,资金将自动退还给A银行。
(4)将秘密S从加拿大中介A转移到新加坡中介A。如果新加坡中介A无法从加拿大中介A收到原始秘密S,那么新加坡网络中的交易将在T时间后到期,并且资金将自动退还给银行A。在这种情况下,中间银行损失了资金,因为它已向加拿大银行B付款,但尚未收到新加坡银行A的资金。
4.2新加坡网络设计
新加坡网络是使用Quorum构建的,Quorum是摩根大通为金融服务业开发的区块链平台。对于这个概念的技术证明,我们使用Solidity作为智能合约的编程语言,使用Node.js作为应用层的编程语言。我们使用React作为用户界面层。
图17描述了原型的逻辑架构。创建了一个使用ReactJS的示例用户界面,以演示在HTLC合约的生命周期中各个参与者所采取的操作。客户端应用程序通过HTTPREST调用将所有用户操作传达给DLT网络的分散应用程序(DApp),并在相应网络上显示最新的余额、交易历史和活动合约详细信息。
DApp充当支付流程的协调者,并充当公共合约和私人合约之间的桥梁。它包含所有编排流程和逻辑。DApp通过RESTful应用程序编程接口(API)接受来自客户端的请求,并调用适当的智能合约调用序列。DApp利用Web3库通过HTTP的JSON-RPC与智能合约进行交互,并侦听合约事件,随后触发对相应服务的调用。DApp还调用一个链下二进制文件来传输秘密和哈希摘要。
4.3加拿大网络设计
加拿大网络是使用开源Corda3.2版构建的。Corda是R3的DLT平台,专为受监管的金融机构而设计。
为了概念验证,Corda节点(银行、加拿大银行、公证人等)和其他组件托管在Azure虚拟机中。图18显示了用于设置加拿大网络和处理HTLC交易的基于Corda的DLT解决方案的架构。
一个基于Web的用户界面(UI)示例,类似于新加坡网络中使用的用户界面,是使用ReactJS创建的,用于运行用于概念验证的用例(主要是CADW-CBDC的发行和使用HTLC的跨境交易)。
用户界面还展示了HTLC合同生命周期内各参与者采取的行动。该UI也称为客户端应用程序,通过RESTFul调用将所有用户操作传达给Corda分布式应用程序(CorDapp),并显示最新余额和交易详细信息。
在基于Corda的DLT网络中,每个参与者运行一个节点,该节点具有在CorDapp中实现的业务特定功能,以提供点对点私人交易。CorDapp(由状态、合约、交易和流组成)是使用Corda平台开发的,以支持各种用例。
5.结论
该项目成功实施并展示了使用HTLC在新加坡基于Quorum的网络和加拿大基于Corda的网络之间执行原子交易的能力。新加坡当地银行A和加拿大当地银行B之间以1新元兑0.95加元的外汇汇率成功转账105新元就证明了这一点。交易结束时,当地银行B收到100加元。还成功测试了各种故障情况。
虽然两个不同DLT网络之间的跨境支付概念的具体证明已经得到证明,但Jasper-Ubin项目的有限范围意味着许多深入研究的机会仍然开放。
5.1 哈希时间锁定合约(HTLC)的DLT平台支持
HTLC协议使用哈希锁和时间锁来确保跨两个DLT平台的事务的原子性。付款的接收方要么通过生成付款的加密证明(哈希锁)来在截止日期(超时)之前确认收到付款,要么丧失要求付款的能力,从而导致付款退还给付款人。DLT平台必须支持锁定、秘密披露和超时才能成功构建HTLC功能。缺乏这些功能的DLT平台可能难以或不可能实施HTLC。但是,没有标准来管理如何在每个平台上实施HTLC,因此,HTLC实现可能因平台而异。此外,网络之间需要可靠的通信通道,例如冗余电路,用于传输秘密、合同细节等。
5.2 HTLC跨多个网络
HTLC理论上可以用于跨三个或更多网络的原子交易,但这在当前的概念验证中没有测试,仅测试跨两个DLT网络的原子交易。此类交易可能有一些使用案例,例如使用过渡货币的外币交易,即新加坡元到美元到加元,或在交付对付款对付款的交易中,投资者将其LCY转换为FCY以购买以FCY计价的证券。需要在三个或更多网络上对HTLC进行进一步实验以支持此类用例。
2.3 HTLC的优点和局限性
HTLC协议最初是为公共区块链网络设计的,在公共区块链网络中,没有可信的中央机构,交易方可能具有对抗性。它可以很好地促进DLT网络之间的原子交易,同时最大限度地降低交易方的风险。
但是,如果接收网络中的中介无法在指定时间段内将机密传输到发送网络中的中介,则HTLC协议将失败。这个问题的症结在于事务没有及时完成时的时间锁定或回滚机制。
在参与者已知且有可信第三方的许可网络中,可能有回滚交易的替代方法。一种可能性是手动触发回滚而不是通过时间锁定机制。这将解决秘密没有及时转移的问题,但由于资金锁定较长时间的机会成本,这可能对发送方不利(例如中介故意延迟的情况)。然而,在联盟区块链中,治理框架可以通过在检测到此类活动时监控和征收费用或罚款来防止故意延迟。
另一种可能性是将回滚转移到第三方控制的帐户,而不是直接转移到发件人。这将引入对中央实体的依赖,这在公共区块链中不起作用,但它可能是联盟网络中的解决方案。在这种情况下,失败的交易不会造成财务损失,但会以运营需求和机会成本的形式产生其他成本。但是,如果大多数交易都成功完成,那么这种解决方案可能会被证明是有效的,同时还能降低风险。
2.4 HTLC替代方案
尽管HTLC在金融服务行业中已经相当受欢迎并获得了发展势头,但还有其他替代方案。VitalikButerin在他的论文“链互操作性”中定义了链互操作性解决方案的三类策略,定义了链互操作性解决方案的三类策略:
(1)集中式或多重签名方案,其中一个受信任的实体或一组受信任的实体作为一个组用于通知链X链X中的声明为真。Ripple的Interledger支付协议就是一个例子。
(2)侧链/中继,其中区块链能够读取和验证来自其他区块链的事件。与公证方案相比,这些是促进互操作性的更直接方法。一个例子是比特币和以太坊之间的BTCRelay8。
(3)哈希锁定,它使用两个链上特定哈希的原像来执行互操作性。许多公共和私人DLT平台提供商正在积极探索这种跨账本协议。与HTLC一起,Clearmatics的Ion9是此类协议的一个很好的例子。
此外,为了实现可扩展性和互操作性,正在积极研究和开发非连锁渠道网络,闪电网络、雷登和COMIT就是其中的一些例子。
5.5 网络可扩展性
概念验证是在每个网络上的参与者数量有限的情况下进行了测试,我们假设每个参与者都能够直接转移到另一个网络中的任何其他参与者。在现实世界中,每个网络上都有数百到数千名参与者,并且有数十到数百个相互连接的网络,由于复杂性和可伸缩性方面的挑战,这种模型是站不住脚的。
节点到节点的直接连接也是单点故障,对弹性有负面影响。我们假设这些挑战可以通过替代网络模型来克服,例如:(1)使用网关节点作为其网络参与者的服务节点;(2)利用网络之间的集中连接器,网络在其中注册并直接连接到代理;(3)在网络之间建立连接时有一个附加的DLT,使得每个网络模型都有自己的规划、优点和限制。
以下为文章部分截图
……
获取完整报告
请后台回复“JASPER”
获取下载链接
·END·
排版/路钰秾
2021第六届金融科技论坛成功举办,金科所发布《央行数字货币的全球最新进展》报告 IMF | 拉丁美洲及加勒比地区的金融科技和普惠金融 BIS | 金融机构的监管预期:对人工智能监管模型的约束 范一飞五方面谈金融科技发展新路径