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

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

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

摘要

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

行业现状

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

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

同时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 上,实现代码开源。

代码地址:https://github.com/HPBProject/TOE

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

原文发布于微信公众号 - IT大咖说(itdakashuo)

原文发表时间:2018-10-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏日志易的专栏

如何用日志助推航旅支付智能运维升级

“互联网+”时代的到来对传统行业产生了深远影响,尤其是客户对服务和产品需求日益多样化的航旅业,作为其中最重要的环节之一,航旅支付业也面临着业务运维日志监管合规、...

67070
来自专栏Android 开发者

加速 Android 新版本的广泛使用,我们来聊聊 Project Treble

19030
来自专栏云计算D1net

云计算:节能之路

有人把云计算技术视为个人电脑、互联网之后的第三次革新浪潮,认为它即将甚至已经从根本上改变整个信息产业的格局,改变人类使用计算机的习惯和方式,因此云计算技术得到了...

76860
来自专栏十月梦想

腾讯云自媒体分享计划

“腾讯云自媒体计划”是由腾讯云发起的为期一年的为广大自媒体扶持的计划,对于有 20 篇以上符合投稿要求原创技术文章的博主或微信公众号,提供各大技术社区及平台百万...

17720
来自专栏知晓程序

用小程序发的群公告被刷走了,还能找回来吗?| 小程序问答 #56

如果用过「群里有事」、「群空间助手」这类针对群聊天的小程序,没准会遇到一个问题:在群聊里分享一张小程序卡片,很容易被群里其他人的聊天刷走。想要在聊天里找回这张卡...

10930
来自专栏Java学习网

Google 的软件工程经验总结

软件开发 代码库 大部分的 Google 代码都存在统一的源代码库中,可供 Google 内部所有工程师访问。但是 Chrome 和 Android 则分别有单...

42240
来自专栏知晓程序

微信群没人说话?这 4 款小程序,让它们「活」起来

相信大多数人打开微信后,占据在前面的,总有那么几个微信群。大致归一下类,这些群可分为陌生群、工作群、同学朋友群。

13120
来自专栏互联网杂技

3D交互设计会是这个样子?

现在,VR和MR已经越来越热门了(影视剧里已经出现的太多了,比如《黑镜》),但现实是,我们对于虚拟交互的认知还是仅限于酷炫的特效,真正第一次成系统并实用的交互模...

41370
来自专栏企鹅号快讯

程序员的5种类型

在我的代码旅程和编程经历中,已经遭遇很多奇特的对手,还有更为奇特的盟友。我至少发现有5种代码勇士,有些是出色的战友,其他则似乎都在搅黄我的每个计划。 不过他们都...

38780
来自专栏容器云生态

我怀疑遇到了假的CMDB

每次读到配置管理相关的书籍时,我总在想:“这些定义很精准,流程也很残缺,但这不是真正的难题。”对于一个配置管理者来说,真正的难题不是绘制“庞大而精美”的数据...

4.7K90

扫码关注云+社区

领取腾讯云代金券