基于加速芯片驱动的高性能区块链实现原理

306 阅读6分钟

内容来源:2017 年 08 月 19 日,HPB芯链创始人汪晓明在“区块链新地标X系列活动:NEO区块链应用实例”进行《基于加速芯片驱动的高性能区块链实现原理》演讲分享。IT 大咖说作为独家视频合作方,经主办方和讲者审阅授权发布。

阅读字数:2261 | 6分钟阅读

获取嘉宾演讲视频及PPT,请点击:t.cn/EAGLhbm

摘要

本次将从行业现状、技术探索、芯链介绍这三个方面,来一步步的分析基于加速芯片驱动的高性能区块链实现原理。

行业现状

区块链技术经过几年的发展,逐步展现出其潜力,开始在一些领域落地。但是,作为一项新兴技术,仍存在诸多技术瓶颈。

现在包括银行等一些大型公司不太会用区块链,制约了企业的开发速度,因此区块链在易用性上还有待提高。

同时TPS(Transactions per Second)也是制约目前区块链应用落地的重要原因。对于需要高幵发的业务,目前也没有相应的解决方案。TPS 3000成为行业的共同的瓶颈,使得区块链在高价值的高幵发业务领域无法落地。

市场需求

目前急需一个支撑BAT用户级别的海量高幵发运用场景的区块链底层平台。来解决这个行业瓶颈,提供高频率访问需求的智能合约业务。 

同时还要能够实现中心化服务器的用户体验,支持中心化服务器无法承载的千亿级终端的超大规模物联网场景。

基于软件层面的性能优化潜力将逐步耗尽,结合底层硬件加速芯片和软件层面优化成为了一种新的探索和可能。

技术探索

设计理念的探索

基于加速芯片的高性能区块链平台,是一个前所未有的挑戓和创新。它是一种全新的区块链体系架构,要定位为易用的高性能区块链平台,必须实现分布式应用的性能扩展,来满足当前区块链技术商业化落地的需求。

这个体系架构需要提供帐户、身份与授权管理、策略管理、数据库、异步通信以及在数以千计的CPU、FPGA或群集上的程序调度。通过这样一个全新体系架构的区块链,通过运用低延时高幵发硬件加速技术,可实现每秒支持数百万个交易,且达到秒级确认。

基于芯片加速的设计要点

首先是芯片级的加速引擎,一个基于硬件芯片加速的平台。其次软硬件深度的融合,可以把软件系统融入到加速引擎来做深度定制。最后依托软硬件体系架构设计,稳定支持百万级并发。

软件层面架构设计思考

图中上面的三行是应用层的应用场景,包括金融监管、医疗互通、数据征信等系统。下面两行则是底层软件平台。

硬件架构设计理念

我们未来的加速芯片主要有两种存在形式,第一种是专用的大型服务器,包括CUP、FPGA/GPU/ASIC。除开大型的服务器之外,也会有便携式的加速引擎设备,它以U盘的形式存在,内部包括业务加速卡和加速芯片,可以直接拔插到手机、平板或者其他的便携设备。

对于网路层的优化,我们设计了一款TCP流量限载引擎,它可以让节点之间的链接达到几十万的并发。

加速引擎的架构设计图

以上就是我们加速引擎的核心架构图,也是整个产品的核心。

它是一款基于 ARM+ FPGA 架构的 FPGA 定制化加速网卡。在硬件TCP/IP 协议栈基础上,配合软件加速单元,实现区块链体系架构下的网络流量卸载及高吞吐、高并发链接处理。通过修改调整缓存方式可以支持并发处理几百条流到几百万条 TCP 并发链接的维护处理。

图中DORMemory是一个内存。下方的FPGA里面的HPBBlock logic包含着我们的核心逻辑,左侧的MAC + TOE/UDE则是用来处理网路相关的高并发。

加速引擎实现的原理

系统初始化,硬件系统获取全网配置表项,建立会话,并维持会话可靠。任意节点用户端软件发起交易请求,通过加速硬件向全网幵行广播发送附有签名的信息。同时开始监控全网确认状况。

随机指定节点(通过DPOS算法选举出来的区块生成者)收到带有签名信息的交易后,打包形成未确认Block,通过加速硬件全网广播。全网各节点硬件迚行Block确认,幵广播确认结果。任意节点收到约定的k个Block确认消息。达成共识幵发布完整Block。全网广播完整Block,各节点更新各自账本。

商业化应用场景的探讨

由于区块链高性能高并发,以及自身先天性的数据加密安全,分布式去中心数据存储的特性,对于金融客户在交易性能和高并发、高安全上的需求可以很容易满足。

另外还可以解决未来医疗机构的数据存储,信息共享、隐私保护等需求。

最后凭借软硬件能力和智能合约,在数据的采集、使用、授权上,都进行了智能处理,保证了数据的纯净性,促进了大数据的健康成长。

芯链的介绍

HPB(High-performanceBlockchain)是一种全新的区块链软硬件体系架构,其中包含芯片加速引擎和区块链底层平台,旨在实现分布式应用的性能扩展。

它的定位是服务普惠金融、物联网、大数据、人工AI等高频高幵发领域的行业,同时也在共享医疗经济、征信等领域为社区用户提供服务。

同时芯链是一个开源的硬件和区块链底层平台,2017年8月11日, HPB(芯链)正式将TCP卸载引擎核心代码公布到代码托管网站Github 上,实现代码开源。

代码地址:github.com/HPBProject/…

以上为本次分享内容,谢谢大家!