讯琥科技基于FPGA 的区块链硬件加速服务性能直逼100,000 TPS

区块链是一种防篡改的去中心化账本,可建立必要的信任机制,从而在免去中间环节的情况下交换价值。据IDC预测,到2025年,全球物联网(IoT)设备数将达到416亿台。当前,物联网行业高度碎片化、相互孤立,且面临通信协议不统一和集中式数据管理(中心化云计算)等安全隐患,分布式账本技术(DLT)内置的密码学共识算法可为数百亿IoT设备构建信任根基,区块链这台“信任机器”将为物联网带来重大机遇。

然而,区块链技术因为其去中心化的网络构建,一直受到“三元悖论”问题(也称“不可能三角”)的困扰:即在区块链系统中,去中心化(Decentralization)、可扩展性(Scalibility)和安全性(Security)不可同时满足,如下图所示。其系统性能难以获得提升,无法满足海量IoT设备高并发、低时延的服务需求。

讯琥科技基于FPGA 的区块链硬件加速服务性能直逼100,000 TPS_第1张图片

很多区块链和分布式账本项目在寻求扩展性方面进行了诸多探索,也取得了一些进展,这包括共识算法改进、分片、layer2、侧链、跨链等。随着边缘计算的兴起以及移动网络边缘价值的显现,讯琥科技当前正在尝试从另外一个完全不同的方向切入,意图采用可灵活编程、时延性低,拥有流水线并行和数据并行能力的FPGA加速方案,将例如椭圆曲线相关计算、零知识证明、默克尔根计算等计算密集型任务从CPU卸载至加速装置,并充分利用移动网络运营商的5G网络和多接入边缘计算(MEC)基础设施对其进行加速。

运营商MEC节点网络的分布式架构可为区块链提供理想的部署和运行环境,讯琥科技“5G+MEC+DLT”的创新性解决方案将有效缓解区块链的“三元悖论”问题,可在保证去中心化和安全性的前提下帮助区块链实现更高的性能,使得海量智能化的物联网设备可以快速、安全地在移动网络边缘进行自动化的价值交换。另外,对于运营商来说,与叠加CPU实现加速相比,使用高性能、低能耗的FPGA硬件加速解决方案可以节省计算资源,提升投资回报率(ROI)

根据实际的测试结果,讯琥科技的FPGA加速装置 - Triden,针对椭圆曲线验签服务,目前的吞吐量(每秒处理的事务数,TPS)已达到90K+笔/秒

讯琥科技基于FPGA 的区块链硬件加速服务性能直逼100,000 TPS_第2张图片

 

讯琥科技基于FPGA 的区块链硬件加速服务性能直逼100,000 TPS_第3张图片

 

  • 对于区块链技术来说,在每次成功的出块之前,通常都会有一系列的“重复性”工作。这里的“重复性”可以简单定义为:针对不同的输入数据,执行极为相似的算法操作,以下是两个典型的例子:

  • 以比特币的POW共识机制为例,成千上万的矿工(Miner)对等待出块数据,反复改动nonce做哈希计算,直至某位幸运儿得到达成”目标难度”的一个哈希值,广播出去并得到认可,即称为达成共识。

  • 以EOS的出块机制为例,每个出块节点(Block Producer)在出块之前,需要针对预计将会被打包入块的每一笔交易(Tx),进行哈希计算,签名验证,账户校验等等一系列操作。只有全部通过验证的那些Tx才会被打包进入最新的块。而其它所有负责验证的节点,同样需要完成非常类似的工作。

  • 如何能够提高这类“重复性发生”的工作的效率,对于提高区块链的底层能力来说至关重要--这有助于在不牺牲其它两方面能力(可扩展性,安全性)的前提下,显著提高区块链的系统性能(TPS)。

  • 因此,对于相关区块链涉及到的技术进行分解,找到重复发生的工作,把它们模块化,实例化,并提交(Offload)给专用硬件模块去实现,而非全部塞给CPU去执行,将可以极大提升区块链的效率。这是讯琥科技提出的区块链加速器概念(Triden)的原始动力之一。

  • 下图展示的是Triden的理论概念模型,从基本原理上展示了,使用专用硬件加速设备(本示例中使用FPGA)相比传统CPU的方案,将可以数倍至数十倍地加速区块链底层数据处理:

讯琥科技基于FPGA 的区块链硬件加速服务性能直逼100,000 TPS_第4张图片

 

讯琥科技基于FPGA 的区块链硬件加速服务性能直逼100,000 TPS_第5张图片

 

  • 基本上所有区块链技术都采用了基于椭圆曲线的签名和验证签名。从技术需求分析,这类工作负载属于典型的计算密集型任务,它们具备这些特性:

  • 输入、输出数据量小,计算量大;

  • 数据格式规整,算法相对统一;

  • 输入输出呈现流式数据格式,适合流水线模式处理;

  • 数据处理实时性要求较高;

  • 当面向边缘计算的应用场景时,还需加上对 于能效比(即功耗)的严格要求。

  • 基于以上原因,讯琥科技选择针对椭圆曲线的签名验证作为第一个加速对象,设计了基于FPGA的加速器模型。该原型使用Xilinx提供的ALVEO 系列数据中心FPGA加速卡 U200,利用Xilinx Vitis 异构计算SDK软件包(OpenCL Framework)完成设计。该加速器模型由10个并行加速单元组成。

讯琥科技基于FPGA 的区块链硬件加速服务性能直逼100,000 TPS_第6张图片

 

  • 为了验证该加速器吞吐量,我们生成了10240组椭圆曲线签名 (10240 Tx)。加速器控制软件将这10240组签名验证任务分配给了十个加速器引擎(下图中的ecc_eng)。因此,每个加速引擎将负责处理1024组参数。

  • 重复10次上述测试,来更逼近实际工作当中的流水线模式。

测试数据分析,使用两种方式抓取数据并做相互印证:

  1. 使用Xilinx设计套件内的时序分析工具抓取的时序图,如下图:

  • 可以看到,所有计算工作(下图中Computing Start → Computing Finish)在1147ms内完成。由此计算可得,该加速器模型的吞吐量= (10240 Tx * 10) /1.147sec = 89.276k Tx/sec。由于该计算已计入了FPGA控制软件(运行在CPU上,执行所有加速器引擎的控制和写入/读回)的写入和读取延迟。因此,这个数据就是实际基于区块链业务逻辑,当前可达的系统吞吐量峰值。

讯琥科技基于FPGA 的区块链硬件加速服务性能直逼100,000 TPS_第7张图片  

  2. 使用加速器内置代码做时延分析(Timing Profiling)计算每个计算单元的延迟,该计算并不计入CPU的写入和读取延迟。      

  • 我们可以得到90.466k的吞吐量,这是硬件加速器本身的能力;

  • 结合#1的结果,简单计算可以得到当前加速模型的硬件利用效率为:89.276k/90.466k=98.7%,换句话说,我们可以让专用加速设施在98.7%的时间内满负荷运转。

讯琥科技基于FPGA 的区块链硬件加速服务性能直逼100,000 TPS_第8张图片

讯琥科技基于FPGA 的区块链硬件加速服务性能直逼100,000 TPS_第9张图片

根据互联网上可查询的公开资料 【1】、【2】,综合评估,使用X86 CPU完成椭圆曲线验签,典型可达到的吞吐量在大约2K~2.6K op/sec/core 。进一步提高吞吐量当然可以依靠叠加CPU多核(软件并行)来实现。但是这是一个经济性很差的选择,因为操作系统需要花费更多的额外资源,来提供多核调度和同步开销【3】,简单堆叠CPU并不能获得性能的线性增长。根据Amdahl's_law ,即使是一台具备64独立线程(即64 core) 处理能力的服务器,使用软件并行化处理相对单核CPU,也仅仅能够提供大约15倍的性能提升。

因此若以椭圆曲线签名验证服务为比较基础,一个合理的估计是,Triden目前可以达成的性能 (90k TPS),大约等同于3台中端X86 服务器使用软件并行化可实现的性能。而如果使用进阶版的硬件加速卡,例如Xilinx U250 (可提供当前U200加速卡约1.5倍的布线资源,预计可以提供130k tps的吞吐量),将可以提供约等同于5台中端X86 服务器的效能。这对于在移动边缘提供服务的运营商来说,将是一笔非常划算的投资。

讯琥科技基于FPGA 的区块链硬件加速服务性能直逼100,000 TPS_第10张图片

Triden 的硬件加速方案让讯琥科技离“5G边缘服务自动化”的目标更近一步。讯琥科技致力于在移动网络边缘为海量的物联网设备提供互通互信的区块链增值服务,其核心产品是融合了区块链能力的边缘服务管理平台,该平台将搭载在移动运营商的MEC服务器上,借助于MEC节点丰富的计算、存储和网络资源,使区块链的性能得到了有效保障。Triden - 基于FPGA的硬件加速解决方案和丰富的隐私交易算法将为物联网设备提供可信执行环境(TEE),并支持海量物联网设备高并发、自动化的数据及交易服务(如设备身份验证、可信数据管理、 M2M支付)。

打造高性能、易用的区块链平台,跟物联网系统深度结合,满足真实存在的商业需求,最终实现5G边缘服务的自动化,一直是讯琥科技孜孜不倦的追求。目前,讯琥科技正稳步成长,逐步推进设备即服务(EaaS)、无人机等解决方案在5G网络边缘的落地,欢迎有意合作者与我们联系!

参考资料

【1】https://arxiv.org/ftp/arxiv/papers/1508/1508.00184.pdf

【2】https://link.springer.com/article/10.1007/s11227-019-02744-6

【3】https://en.wikipedia.org/wiki/Amdahl%27s_law

 

你可能感兴趣的:(关于,XENIRO,分布式,区块链,tps,安全)