查看原文
其他

PFMI系列之二: 清算链“设计之道”

蔡维德 姜晓芳 天德信链 2019-06-22

清结算一直被认为是区块链的重要应用场景。从2015年到2017年,世界上许多包括银行在内的机构、金融专家都认为清结算是区块链的一个重要应用,可是一直没有机构做出好的应用,或者即使做出来,结果也不甚满意。本文将就区块链应用在清结算领域需要考虑的设计要素逐一展开讨论,再通过PFMI尝试分析在清结算领域区块链设计需要着重注意的问题。


一、清结算在金融系统中的地位和作用

支付清结算是所有交易的基础。其实清结算分为清算和结算两个过程,清算是指按照一定的规则和制度安排对经济活动中形成的多重债权债务关系进行货币的结清的过程和行为,简言之,是交易资金清算的过程,也即整理、分类好每个清算对象(商户或者用户和银行)的资金情况的过程;结算是指将清算过程中产生的待结算债权、债务,在收、付款人金融机构之间进行账务处理、账簿记录,以完成货币所有权的最终转移的过程和行为,简言之,是资金划拨的过程,将清算计算好的账户的债务债权(信息流),通过银行完成扣除和支付(资金流的划拨)。


 支付清结算:所有交易的基础


清算系统中最重要的功能是对各种支付进行记账;调用银行网关,资管系统;对账(跟银行的对账是每一笔的明细进行对账),渠道管理等功能;而结算系统最重要的就是各种资金情况的计算、汇总和报表等。这里的计算和汇总是针对商户或者用户的,报表等做给运营人员和财务人员的,将对账之后的每一笔的交易计算出在结算日期(D0或者T+1)的结算金额,而这个结算的过程,财务人员也会进行对账,并最终得到结算结果,然后在资金管理系统完成资金划拨的过程。

 

资金系统提供统一支付清结算服务


二、区块链在清结算领域应用的设计方式

有两种用于清结算的区块链设计方式:


一是使用区块链的账本系统;


二是采用数字法币+钱包+账本的方式。


如果采用第一种设计,仍需保留传统的清结算,但清结算流程会随之变化。北京天德(2017)、DTCC(2017和2018)、SWIFT(2018)等在过去两年验证了第一种清结算区块链设计的可行性,但需改变现有的金融系统基础结构。2018年10月,DTCC宣布区块链清算成功完成,一秒跑6300笔交易,Accenture、DAH、Broadridge都参与其中。但这是一个神秘的链,实验仅5小时,没发布架构图,白皮书也没有技术内容,共识算法没有细节,没有数据,更没有大数据平台。所谓用“全局同步日志”(Global Synchronization Log ,GSL) 保持跨链的一致性, 但也没有细节。跨链技术确实非常难,过去几年许多项目都对此进行过尝试,但现有的许多解决方案都存在问题。北京天德采用熊猫模型解决跨链问题,保持所有交易的事务一致性,可处理大量数据。而且北京天德有架构图、共识算法和相关论文,进行了第三方白盒测试,实验2个月,包括实时线上清算。

 

天德清算系统构架图


如采用第二种设计,清结算和交易一次性完成,但由于引入了数字法币的设计,会改变金融模型,引发其他的问题,如可回滚性、数字钱包的安全性、以及监管(例如美国SEC就提到以后可能要监管数字钱包)等。第二种设计目前尚未有成功案例,但近期IBM公司、Gemini等开始发行稳定币的探索,并且还会有跨境交易,今后必将朝此方向发展。


数字法币会影响整个金融生态系统,建立新的以数字法币为基础的金融模型,对金融基础设施的影响更为深远和复杂,是一个需要深入研究的课题,本文中暂不予以讨论。


三、PFMI中提到的清结算

区块链经常被提及的好处是能提高金融交易的端到端处理效率。除影响支付、清算和结算的效率外,区块链还会影响安全。在这方面,需要考虑结算的关键组成部分“结算资产”,如何在业务上实现结算以及如何实现法律概念上的最终结算。


结算资产:如何在系统中实现结算资产。现在系统有3种设计:


3种

1.基于更新账本中的余额(即账本通过借方和贷方记录头寸);


2.基于在账本中转移数字资产(即账本记录仅存在于账本上的特定数字资产的所有权转移);


3.基于转移被保管的实物资产的数字表示(即账本记录其他地方持有的资产的转移)。



例如,在支付系统应用中,可采用更新余额、转移数字货币或更新账户余额的方式,这个过程体现了托管银行持有的货币量的变化。


业务结算:在某些区块链架构中,更新和在账本间同步状态变化可能需要一些时间。例如,第一个更新操作可能不代表结算操作,因为在账本同步过程中,可能需要一段时间才能在节点上实现共识。在使用工作量证明模型(工作量证明是一种常见的共识形式,需要节点就添加到账本的交易达成一致。一般来说,在将交易加到账本之前,该机制会等待大多数节点达成一致。)的架构中,结算是概率性的(例如比特币系统)。也就是说,在账本中确认交易的次数越多,撤销的可能性就越小。如果涉及将一种资产兑换为另一种资产,例如证券兑换现金或将两种货币之间兑换,则结算操作变得更加复杂。这样的系统不能在央行使用。在许多涉及价值交换的系统中,通常涉及其他金融市场基础设施。


法定最终结算:最终结算是法律规定的时刻,在该时刻后,资产或金融工具的转移,或清偿债务,是不可撤销和无条件的,并且参与者破产或倒闭后也不易被解除。在传统系统中,最终结算是一个清晰的且明确定义的时间点,具有强大的法律基础。对于区块链架构,最终结算可能不那么明确,许多公链例如比特币都无法给出清楚的结算时间。在依赖共识算法实现最终结算的架构中,可能不一定存在单一的最终结算时间。此外,在这种情况下,我们是改法律框架来配合公链结算时间,还是改变公链交易结算来配合法律结算时间?笔者认为会是前者,而不是后者。


关键问题:

1.账本中记录了哪些状态变化(例如,余额、数字资产转移,实物或非实物资产的数字表示的转移)?


2.资产或记录的法律性质,在架构中如何体现?


3.如何在账本上实现业务结算?由谁实现?它与传统系统有何不同?


4.适用的法律框架对最终结算是如何规定的?


5.对于价值交换结算,如何实现交割与付款、交付与交付、以及支付与支付?包括相关自治账本之间、或账本与传统FMI之间的结算。


四、清结算设计要素

清结算的困难在于:

1.数据量庞大;

2.分账、对账处理必须正确;

3.隐私保护要求高;

4.系统处理性能要求高;

5.系统安全性要求高;

6.记账方式复杂多样。


为解决这些问题,从PFMI角度出发,我们提出了九项区块链在清结算领域的设计要素:

 

4.1. 可监管性


央行及金融监管机构为监管所用,需要完全的信息和备份。PFMI原则中对监管有明确而严格的规定,例如,数据透明度,这是PFMI的一个重要原则,央行及金融监管部门需要能随时快速查询到所有的账户及其金融信息。透明度原则要求,首先,规则、关键程序和市场数据都需要提供充分的信息,公开披露,供参与者能够准确了解;其次需根据有关管理部门和各自的需求,及时准确地提供各种交易数据库市场数据。区块链设计需有助于多机构及与政府之间的数据共享,提高数据透明度,并实施监管策略。如果一条链上的节点存有不同信息,这会增加监管的困难度。例如基于DAG的区块链系统就会存在监管困难。可监管性还会影响到许多其他要素。由于监管的需求,区块链系统里许多机制可能会发生改变。


4.2. 对账


几种典型的区块链模型或架构在账户上存在问题。如加拿大央行在评估Corda系统时,指出央行需参与所有的交易验证,拥有全部交易信息,如果按照现有设计,区块链中没有满足央行职能的节点类型,不能满足银行业务的需求,甚至会增加银行的风险。另一方面,由于没有共享所有信息的账本,查询账户信息可能需要搜索分布在多个节点的多个数据分区,造成对账等操作效率降低。【4】其他模型也存在类似问题,每个节点没有同样信息的区块链系统都会有同样问题,像用DAG方式做共识。


而在UTXO模型中,每个交易都有一个临时账户,既不是银行的用户账户,大量的账户和交易难以审计;也不是银行的余额账户,即交易不直接记录账户的余额信息,查询余额需要提取所有相关的记录块和交易。这两点造成UTXO模型数据透明度差,在银行应用存在很大困难。


区块链设计需支付、清算、结算的数据信息以统一的规范标准进行存储、交互和共享,提高对账速度、消除或减少繁重的后台人工操作,并做到海量用户账户的快速定位和交易记录的快速查询与对账。


4.3. 可回滚性


如果资金未到位或资金来源有问题,现代金融系统允许参与交易者在交易后可以回滚,回滚有时间期限约束(金融系统的要求),但在区块链系统中具备可回滚性存在挑战,许多区块链系统不能支持回滚交易。一旦交易完成,记录就不可修改。


但是“记录不能更改”不等于“交易不能回滚”。在区块链上,如果要在规定时间内进行交易回滚,必须通过产生相反的交易实现,而且该相反交易必须在规定时间内完成。这样,区块链系统要支持回滚机制,需要保证两个时间:1)可以回滚的最后时间(t) ;2)回滚交易完成时间(x)。因为回滚交易可能失败,所以回滚时间必须充裕。任何一笔交易,需要在 t 时间前开始回滚,否则放弃回滚,而且必须在t + x时间内完成回滚交易。t可能是一或两天,x可能是一或两个小时,这样一个交易有足够时间回滚。如果过程中系统出现问题,t和x可以延长,保证需要时能够回滚。


加入回滚机制后,查询算法也要改变,因为需要查询最近相关的交易数据。以后相关的资产交易也受到影响,例如要等到过了回滚期后,相关资产才能交易,这会引发一大串问题。


因此若允许回滚机制,要求进行一连串的区块链设计变革来保证交易正确。在这种机制下,即使一笔交易记录完整而且合法,还是有可能被要求回滚。


4.4. 交易所数量


交易系统的可扩展性以增加交易系统或是代理(Agent)为主。交易所越多,交易量越大。因为交易的扩展性和账户的扩展性机制不一样【9】,如果区块链系统只采用一种扩展性机制,系统必定会遇到问题。


4.5. 共识机制


联盟链参与方都有共识,如果多个交易所、多个商户参与,谁能做哪些事必须有明确的分工,在银行或者账目上非常难解决。将“满足金融共识需求的可扩展性”作为研究的主要目标,这里的金融共识不同于一般共识,是支持监管的共识机制,即监管节点能够快速发现账户、验证节点以及验证流程记录,这和一般共识机制不同。


4.6. 交易量


清算是交易后应用,重视高吞吐量,所以清算链设计以高吞吐量为首要目标。天德清算链自动分解“原始交易”成为“原子交易”,而不是直接处理复杂的原始的交易,简化清算流程,适应高吞吐量要求。


4.7. 数据结构


数据结构对于计算机系统最为关键,因为算法和数据结构是计算机程序的两个关键,而算法又受数据结构影响,算法设计不可能独立于数据结构,数据结构是算法实现的基础。第一代区块链采用半账户数据结构,为了方便交易处理,把账户系统大大简化,账户的数据结构太过简单,以至于无法支持现代金融系统。可以说它主要是一个交易系统,账户管理系统只是外加的,在金融上很难有所发展,如RSCoin和Corda,因为数据结构和现代金融系统数据结构格格不入;第二代区块链采用全账户数据结构,该余额账户系统,既要进行账户管理,又要进行交易,可扩展性存在问题。【9】


4.8. 多链/单链架构


面对支付、清算和结算所面临的广泛挑战,整个区块链体系不宜采取“One-size-fits-all”(一个衣服尺寸适合所有人)的方式,即“一链通天下”是行不通的;而是需要“量体裁衣”,将特定的区块链设计应用于解决特定的问题。例如支付和清算,同样都是金融应用,但是支付是实时应用(Real-time applications),重视低延迟(所以支付链以低延迟为首要目标);而清算是交易后应用,重视高吞吐量。低延迟和高吞吐量的系统设计是完全不同的,所以支付链和清算链应采用不同的设计。


具体到清算链,采用多链式架构(而不是用单链架构)保护隐私并且简化区块链架构。在结算时,如果采用账目,需要多方同意,清结算所、银行等机构,是否分段参与还是一次性参与?如果分段,即多链结构,这样虽然每次清结算非常复杂,包括至少三个小交易,需要至少三次共识时间,但好在这是个松散结构,只要每次小交易很快,就可以接受。而如果采用“一链通天下”,则会造成很大的问题。


4.9. 实时/延迟


传统的清结算系统通过分离清算和结算,做到实时清算(交易)、后台定时结算,以提高系统效率。而区块链中可以交易同时就完成清结算,相较之效率提升更大。但这会引起其他问题,例如可回滚性。


另外智能合约被认为是区块链的一个重要特征,可以促使自动履行某些协议条款,避免执行交易中的人为干预,从而提高效率,也降低了人为错误的可能性。问题在于智能合约技术还处在发展早期阶段,这种功能不是很容易实现。如果系统和应用小,还可以解决,但一旦系统变大,问题立刻会出现。


但清结算是重点关注的金融风险,PFMI中原则12“价值交换结算系统”中规定“如果FMIs结算的交易涉及两项相互关联的债务结算,应该通过将一项债务的最终结算作为另一项债务最终结算的条件来消除本金风险”。这清楚表明:


在链满天下时,链和链之间要彼此担保。这代表链的可靠性、安全性必须被评估。这就像银行和银行交易,必须彼此担保,相互交易银行的信用要被评估。


自动合约执行是事件驱动模式,代码中定义的条件一旦满足(如付款时间),便会触发程序自动执行(如付款操作)。分布的节点自主响应事件,没有全局时序控制,因此在整个系统层面,各个合约的执行时间、执行顺序具有不确定性,使得结果不可控,造成最终结算风险。如果某一时刻,多个合约同时满足条件,同时触发大量清结算操作,还会带来流动性风险(Liquidity Risk)。


同时,合约之间的相互影响可能会导致金融生态系统中出现不可预测的结果(见上文,摘自报告 3.4.3节【2】)。如果代码有错误,则可能引发雪崩效应,导致参与者在短时间内造成巨大损失,例如2016年的DAO事件。


因此现阶段智能合约的安全性和可靠性还远远无法满足金融系统清结算的需求,应尽量避免使用。


五、总结

今天,需要从PFMI原则开始设计区块链,仔细研究设计的系统是否能通过PFMI原则评估,且不仅考虑一项PFMI,而是需要整体考量。采用PFMI原则,出现问题时,确定问题出在哪个环节,如由哪一个银行或交易所来解决问题并不很难,但在上述九个条件中,如果需要三个条件以上都符合PFMI原则,就会存在较大的困难。例如要符合金融系统的扩展性,在清结算时还要考虑监管,对交易所、清结算所和银行都要监管,因为对清结算系统来说,每天处理着种类繁多、数量庞大的交易数据,而且涉及金额巨大,所以监管和风险管控的重要性不言而喻。


在高速、自动化的交易清算业务过程中,我们更需要自动化的风险决策机制,需要大数据平台,通过数据收集器多方收集资料,收集的数据必须让监管单位可以看到,查验有否违规。可以说,区块链研究才刚刚开始,未来任重而道远。


我们认为,PFMI不只是评估标准,也是系统设计原则的基准。欧洲央行,日本央行,和加拿大央行都是用PFMI为评估标准,本文以PFMI作为区块链设计指标。这就开启下一代区块链研究,完全不同于以前的区块链设计——以数字代币的区块链为出发点,以增加速度为目标。


下一代区块链(区块链2.0)设计以PFMI为最高原则,以能在金融市场使用为目标。这和传统区块链系统(为数字代币设计的系统)是两条不同的道路,在两个不同的战场,需要不同的考量标准。

 

参考文献


[1]. 杨涛,程炼. 《中国支付清算发展报告》(2015),中国社会科学文献出版社,2015.6.

[2]. CPMI, “Distributed ledger technology in payment, clearing and settlement: an analytical framework”, Feb. 2017. 

https://www.bis.org/cpmi/publ/d157.pdf.

[3].FintechExperiments and Projects. https://www.bankofcanada.ca/research/digital-currencies-and-fintech/fintech-experiments-and-projects/.

[4]. Bank of Canada, “Project Jasper: Are Distributed Wholesale Payment System Feasible Yet?”, Financial System Review, June 2017. 

[5]. Bank of Canada, et.al., “Project Jasper: A Canadian Experiment with Distributed Ledger Technology for Domestic Interbank Payment Settlement”. Sep. 2017.

[6]. Bank of Canada,“Jasper Phase III:Securities Settlement Using Distributed Ledger Technology”, Oct. 2018.

[7]. Bank of Canada and et.al.“Cross-Border Interbank Payments and Settlements: Emerging opportunities for digital transformation”, Nov. 2018. 

[8]. 蔡维德,张弛,刘璨.“区块链技术的几个重要的坑(上)”, 2018.6.14. https://mp.weixin.qq.com/s/t3myn-sUw4YnuQ3Xki6xBw. 

[9]. 蔡维德,姜晓芳,刘璨.“区块链的第四大坑(中)-- 区块链分片技术是扩展性解决方案?”, 2018.8.2 

https://mp.weixin. qq.com/s/mi9sdTCVwW- qMQLgwo_mOQ. 

[10]. 蔡维德,姜晓芳.“区块链的第五大坑(下)-- 从PFMI的角度谈区块链”,2018.8.16. https://mp.weixin.qq.com/s/rPFn3T 5FfJvib5Y-2PTcIg. 

[11]. 蔡维德,刘琳.“区块链在金融领域应用的可行性”,2018.5.17. https://mp.weixin.qq.com/s/hcQQ0uxultYQ5PAjaUYwYQ. 

[12]. 蔡维德,白晓颖. “PFMI与金融区块链的系统需求:我们是不是预备遇到第2波区块链项目的失败”,2018.12.24.

https://mp.weixin.qq.com/s/XXcpRfnvaF6jiLC5MW4A-g.



蔡维德

北航数字社会与区块链实验室,天德科技 ,国家大数据(贵州)综合试验区区块链互联网实验室, 天民(青岛)国际沙盒研究院, 赛迪(青岛)区块链研究院


姜晓芳

北航计算机学院博士生,特许金融分析师(CFA),北京金融分析师协会发起会员


©2018 北京天德科技有限公司

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存