苏格兰皇家银行Emerald对未来区块链技术的贡献


2016-11-21 14:25

11月7日,苏格兰皇家银行(RBS)发布了《Emerald性能测试技术报告》。该银行是最早与R3 CEV建立合作关系的九大银行之一,共同开展区块链技术研究与应用探索工作,通过前期对Ripple、以太坊等技术平台的使用,成功在银行内部测试了自主研发的数字货币,并以此作为多个银行之间的交易结算工具。报告指出,通过与GFT Technologies SE(GFT)的技术合作,基于Google云平台,成功建立了基于以太坊的分布式清算机制——Emerald系统,该系统的建立是为解决跨国支付拼凑系统的低效率问题。该系统现阶段是一个概念性证明,其性能目标是每秒有100笔交易进入系统,满足国家级国内支付系统的要求;25秒以内的往返时间,满足单一欧元支付区(SEPA)的即时信用转移计划(ICT)的要求。

针对RBS发布的技术报告,我们进行了系统架构改造实现、系统性能测试结果以及系统构建意义等相关分析,发现该系统对后续区块链技术研究具有一定的借鉴意义。

系统架构改造实现

在前期试用以太坊系统平台的过程中,RBS发现由于以太坊是一个无需许可的、公共的区块链系统平台,虽实现了数据的分布式存储、去中心化和信息交换的信任问题,但也存在交易成本高、交易效率低、高能耗、吞吐量低、交易并发处理能力低等不足。

结合单一欧元支付区(SEPA)的即时信用转移计划(ICT)的需求,即单笔交易的往返时间必须在10-25秒之内,针对以上以太坊平台存在的局限性,RBS技术团队对以太坊的系统架构进行针对性地简化和裁剪,将原本公共的、分布式的以太坊平台改造成一个以速度和吞吐量为目的的快速的、私人的平台,即Emerald系统。

Emerald系统在每个银行的部署包括三个部分,分别为ISOBroker(ISO代理模块)、PaymentService(支付服务模块)和Solidity Contract(智能合约模块)(见图1)。

图1  Emerald系统架构

该系统中包括Solidity智能合约模块,智能合约是可以在多方之间自动执行给定协议条款的计算机代码,而且其标的物几乎可涵盖了任意可编程事物,包括投票、域名、金融交易所、众筹、公司管理、合同和大部分的协议、知识产权等,具有图灵完备性。

图2  信用额度模型

如图2所示,Emerald系统提供的智能合约是该系统内各银行间的信用额度模型,其中额度限制(Limit and Allow)是指银行1允许来自银行2的应收款项的延时净额,以及银行1允许自身对银行2的应付款项的延时净额;而差额(Balance)记录的是各银行间的账目情况(即银行1欠银行2多少钱)。即当银行1与银行2发生交易时,系统会通过智能合约对账目进行检查,当未超出两个银行对彼此设置的额度限制时,这笔交易就会成功并且账目会进行实时调整。

系统性能测试结果

Emerald系统的测试对象称为stack,即将图1中的ISO代理模块、支付服务模块、通讯协议RabbitMQ以及Geth(以太坊节点)通过Docker容器进行封装而成,并使用Kubernetes架构在google云平台上进行部署。GFT在Emerald系统性能测试过程中设计了一个自动的、多模式的以太坊网络部署方式,可以对多种不同的节点拓扑模型进行测试。

Emerald的设计目标是希望每秒有100笔交易进入系统,以满足国家级国内支付系统的要求;25秒以内的往返时间,以满足ICT的要求。因而在概念性验证的过程中,通过Google大数据仅对系统的吞吐量和交易时间进行记录和分析。

最终测试结果显示,在6家模拟银行组成的Emerald系统网络中性能达到最优,其系统吞吐量达到100笔/秒,并且单笔交易往返平均时间为2.805秒,最短时间为0.665秒,最长时间为8.085秒,就吞吐量及交易时间而言,均达到了系统的设计目标。其最优性能的节点拓扑结构(6家模拟银行)为:一个挖矿节点;一个银行stack即代表一个节点;各节点相互连接形成网状网络。

系统构建意义说明

RBS构建的Emerald系统作为以太坊开发的一个概念证明,对于分布式清算系统的探索构建的研究过程中具有重要的意义。

一是证明了基于以太坊构建分布式清算系统的可行性。在该测试报告发布之前,尚没有基于以太坊构建的分布式清算系统,该报告弥补了这方面的不足,并且测试结果满足单一欧元支付区(SEPA)的即时信用转移计划(ICT)的性能要求,证明了基于以太坊构建分布式清算系统的可行性,对于基于以太坊的场景开发具有积极的促进作用。

二是阐述了基于以太坊构建分布式清算系统的改进点。

第一,停机机制。停机机制用来阻止死循环、保证系统运行效率的机制,以太坊内通过每笔交易消耗gas费用来实现。报告提到,原则上Emerald使用更丰富、更成熟的JVM替代EVM,并用Java代替Solidity,可以不需要消耗以太坊内的gas费用。

第二,区块生成难度调节功能。为了保证每个区块生成时间稳定在固定时间范围内,会通过改变区块生成难度来调节。Emerald系统中,由于采用单挖矿节点的方式构建系统,将区块生成时间固定为1s这样的合理值,可以不需要区块生成难度调节功能。

第三,工作量证明的共识机制。公有链中由于各节点不一定可信,需要通过共识机制来保证交易的安全。Emerald系统构建的是银行间的联盟链,RBS认为,由于银行间相互可信,所发起的交易内容也是可信的,不需要共识机制进行确认,可以直接使用轮询调度的方式,由每个银行轮流将交易直接写入下一个区块。

第四,挖矿时间—事件时间。主要的时间损耗在交易被挖矿确认和之后两个节点触发事件。通过单挖矿节点直接确认交易写入区块链并构建了全网状网络连通的拓扑结构,交易的时间得到了极大的提升。

与Ripple网络的对比分析

根据麦肯锡报告《GlobalPayments 2016:Strong Fundamentals DespiteUncertain Times》所述,跨境支付交易量占不到全球支付的20%,但是它所带来的交易费占据了全球支付交易费的40%,通过SWIFT和西联汇款进行跨境汇款而产生的手续费和电讯费高昂、汇款方式繁琐、到账时间长等问题已经成为其不可回避的痛点。而基于区块链的跨境支付,其本质上就是将虚拟货币做中介来实现跨境支付,即系统会将代币/数字资产作为中介,先把汇款人所在地的法币转换为代币/数字资产,再在收款端把代币转换为收款人所在地的法币,以此完成跨境支付,例如Ripple在跨境资产中使用的数字资产是XRP。

本文分析的Emerald系统的设计目的,狭义上希望达到吞吐量及交易速度方面的性能指标;广义上系统的目的是想消除跨境支付过程中的阻滞,即达到提高透明度、降低清算风险、降低成本、提高交易速度等目标。该分析报告中未提及利用以太坊中的代币(以太币)或其他数字资产作为信用中介,可见随着将以太坊公有链进行剪裁和改造成私有链/联盟链的过程中,原生代币在公有链系统中体现出的包括支付手段、汇兑手段、抵押手段、激励手段、权益证明和资源控制等用途被削减,因而在私有链/联盟链的建设过程中形成了“去币化”,但不排除在进行跨境汇款的过程中引入以太币作为信用中介,类似于Ripple系统中的XRP。

针对Emerald与Ripple两个系统,从平台类型、领域适用性、共识达成机制、区块生成时间、系统原生代币、单笔交易手续费、开发难度等维度进行对比(见表1)。

表1  Emerald与Ripple系统对比

借鉴意义

基于对以太坊平台及Emerald系统初步的认识和研究,分析认为该系统对后续区块链技术研究具有一定的借鉴意义。

一是网络平台选择。Emerald系统对于开发跨境支付网络的平台选择提供了参考价值,报告肯定了以太坊性能的适用性,同时鉴于底层代码开源的特点,基于以太坊开发跨境支付等分布式清算系统具有自主可控、平台运营成本低等诸多优点。

二是技术实现方式。报告对于系统架构、通讯方式以及各环节技术实现方式进行了相应的介绍,给基于以太坊的开发者起到了指导作用。Emerald系统中采用的信用额度的智能合约,实现的是一种“去币化”联盟链的特点,测试结果证明了这种支付清算领域组网结构的可行性。

报告中针对基于以太坊构建分布式清算的研究,给出了相关的优化建议,对于后续基于以太坊的分布式清算系统开发具有参考价值,可以针对性进行开源代码的封装与剪裁,从而提升整个系统的运行效率。

三是创新场景开发。苏格兰皇家银行是较早基于以太坊进行银行间分布式清算系统研究的机构,测试结果也很可观,该研究探索方式给区块链研究者一个积极的信号,鼓励了区块链研究者将以太坊等其他开源代码平台应用于其他场景开发,推动区块链技术在各领域的应用稳步发展。

本位作者系童耀刚、朱涛、周钰,供职于中国银联电子支付研究院、电子商务与电子支付国家工程实验室

本文转载目的在于知识分享,版权归原作者和原刊所有。如有侵权,请及时联系我们删除。
评论加载中
相关文章

月点击排行
关于本站    联系我们    版权声明    手机版
Copyright © 2011-2022 移动支付网    粤ICP备11061396号    粤公网安备 44030602000994号
深圳市宇通互联信息技术有限公司    地址:深圳市宝安区新安街道28区宝安新一代信息技术产业园C座606