(晨光照耀原野,梵高)
现在大多数公链都会提到一个区块链发展的难题就是tps的问题,这也是因为传统区块链都存在性能差的问题,为了达成共识,牺牲了效率。但是如果想在公链基础上构建无数个DAPP的生态系统,没有一定的性能保证几乎是不可能的。
构建DAPP生态的梦想,比特币没有完成,也没有必要去完成,比特币只是数字货币,它已经初步完成了自己的历史使命,一是成为价值储值者,二是打开了区块链的世界。
以太坊一开始的目标是想要建立一个世界通用的计算机,为构建去中心化应用提供基础设施,但是迄今为止,它依然只在众筹领域获得了成功。由于性能、费用、扩展性等问题,直到今天,还无法成为DAPP的基础设施,2017年底一个简单的加密猫游戏就让以太坊拥堵不堪。以太坊试图通过分片、Plasma、PoS共识等技术尝试来摆脱困境。
新来者,比如EOS等都在突出自己的高性能,强调可以达到百万级tps的可能性。那么,未来需要一个基础设施,在这个去中心化的基础设施上构建繁荣的DAPP生态系统,以满足各种不同场景的用户或商业需求。
什么样的方案是更好的选择?这也是蓝狐一直在关注的方面。蓝狐关注到一家HPB的区块链项目,它采用了跟其它公链或基础设施完全不同的探索路径。这个路径值得所有关注区块链的小伙伴们注意。
这个路径是软硬结合的路径,要求更高,实践更难,但如果真正落地,可能会是一个不错的路径。
HPB 要成为高性能的区块链基础设施
不管是HPB还是EOS都有相同的目标,都要为去中心化生态体系提供高性能的基础设施。为什么?主要是从区块链走向主流商业场景的角度出发。目前的区块链在安全和去中心化上面取得了一定的成绩,但是在效率方面有天然的制约。这阻碍了它走向主流的应用场景。
这也是区块链3.0一直探索的一个方向。通过更高的性能、更低的费用、更好的扩展性来满足更多去中心化应用的场景需求。
目前的比特币和以太坊的吞吐量都堪忧,比特币平均每秒支持7笔左右交易,以太坊则是15笔左右的吞吐量。如果让区块变大,也能提高吞吐量,但会导致区块臃肿的问题。去年一只加密猫游戏让大家见识了区块链的拥堵问题。从性能方面看,区块链要想走向主流人群还需要较长时间。
除了tps性能不足之外,区块链的交易费用高,不管是普通用户还是开发者都无法承担过高的gas费用,比如之前以太坊加密猫游戏火爆时,甚至出现过交易手续费比加密猫本身还贵的情况。
HPB和EOS目标类似,但它们的路径却是完全不同的。HPB采用软硬结合的方式,有自己的专用芯片硬件服务器,这让它从理论上会有更高的性能。
HPB也在试图创建一个可以构建应用程序的操作系统架构,这个体系包含账户、身份与授权管理、策略管理、数据库、异步通信、在CPU、FPGA或群集上的程序调度,同时,通过硬件加速技术实现低延时高并发,实现百万级tps,满足商用场景需求。
它跟EOS不同,它的体系架构除了软件体系架构,还有硬件体系架构,是一个软硬结合的区块链架构,融合了高性能计算和云计算概念。硬件体系包括由高性能计算硬件组成的分布式核心节点、通用通讯网络、高性能计算硬件支持的云终端等。
核心节点支持标准的区块链软件体系架构,包括共识算法、网络通讯、任务处理等,还引入了硬件加速引擎。它与软件配合,通过BOE技术(Blockchain Offload Engine,区块链卸载引擎)以及共识算法加速、数据压缩、数据加密等实现高性能的tps。
BOE 让HPB与众不同
在HPB的整体架构中,跟其它区块链基础设施相比较,有明显的与众不同,其中很重要的一点就是它的BOE技术。
BOE上文也提到过,就是区块链卸载引擎。BOE引擎包括了BOE硬件、BOE固件,相匹配的软件系统。它是一个异构处理的系统,通过结合CPU串行能力和FPGA/ASIC芯片的并行处理能力,以此达成高性能和高并发的计算加速。
BOE模块在对TCP报文和UDP报文的解析过程中,无需CPU参与,可以节约CPU的资源。BOE模块对收到的交易、区块等消息进行完整性检查、签名验证、账户余额校验,对大的待发送区块数据进行分片处理、对分片进行封装保证接收数据的完整性;同时还会根据TCP连接的接收流量进行统计工作,按照系统贡献进行相应激励。
BOE在签名验证速度、加密通道安全、数据传输速度、网络性能、并发连接上都发挥了自己的作用。
BOE加速引擎内嵌了ECDSA模块,这个模块主要目的是为了提高签名验证的速度。ECDSA也就是椭圆曲线数字签名算法,虽然它是目前应用广泛的成熟算法,但纯软件方法只能做到每秒上千次,无法满足高性能需求。所以BOE和ECDSA的结合是一个好的尝试。
BOE在不同节点之间数据传输过程中,需要建立加密通道,这个过程中,它采用了硬件随机数生成器,实现了加密通道的安全,因为密钥交换的随机数种子变得不可预测。
BOE加速引擎还采用区块数据分片广播技术,区块分片中包含完整区块头部,方便新产生的区块广播到所有节点。通过区块数据分片,可以实现不同节点间网络数据快速传输。
BOE技术可以基于硬件进行节点连接的流量统计,可以计算出不同节点提供的网络带宽数据。只有为系统提供网络带宽才有机会成为高贡献值节点。以此,激励节点的提供贡献。
在并发方面,BOE通过加速引擎预计可以同时维持超过1万条TCP会话、并行处理万条会话。BOE的专用并行处理硬件取代了传统软件串行处理功能,比如交易数据广播、未验证区块全网广播、交易确认广播等。
据HPB估计,通过BOE加速引擎,会话响应速度和会话维护数量都可以达到通用计算平台节点处理能力的100倍以上。如果实际环境真能达到,那是一个非常巨大的性能提升。
内外双层选举的共识算法
HPB不仅通过BOE大幅提升性能,在共识算法上也采用了内外双层选举的机制,试图在保证安全和隐私的前提下,实现较为高效的共识效率。
外层选举是指从众多候选节点中选出高贡献值节点成员,选举会采用节点贡献值评价指标。内层选举是指基于哈希队列匿名投票机制,在区块生成时,计算哪个高贡献值节点优先生成区块。优先级高的节点享有优先生成区块的权利。
那么,如何选出高贡献值节点?这里首先有一个评价贡献值的指标。指标包括了是否配置了BOE加速引擎、网络带宽贡献度(固定时期内的数据吞吐量)、信誉度、节点token总持有时间。其中,节点的信誉度是通过对打包区块、交易转发等参与交易行为及数据分析得出。节点token的总持有时间则可以通过对账户信息进行实时统计获得。
外层选举采用了自适应的一致性选举方案,也就是通过保持“账本”一致性保证外层选举的一致性,这样可以减少网络同步,同时也可以利用链上各个节点的数据。首先是把以上提到的四个评价指标内置到区块中,通过保持账本一致,可以计算出当前所有参与候选节点的排名,排名较高的高贡献值节点在下一轮会成为正式的高贡献值节点。
有了正式的高贡献值节点,内层选举的目标则是尽快找出每个区块对应的高贡献值节点。整个过程分为三个阶段:提名、统计和计算。这三个阶段兼顾了安全、隐私和性能。
首先是提名,投票周期开始时,BOE加速引擎生成随机性的Commit,高贡献值节点提交它的Commit,Commit会随着高性能节点生成的区块同步到链中。投票周期结束后,开始统计区块链中的Commit,同时创建票池。最后是计算。计算主要是根据权重算法计算出节点在区块的生成优先级。生成优先级最高的高贡献值节点,获得区块打包权利。
其他节点按照可验证随机函数的原则,可以对随机数和地址的签名进行校验,既保证安全、也保证高贡献值节点的不可预测性以及隐私。
总的来说,HPB的共识算法通过软硬结合方式,兼顾了安全、隐私和速度。通过BOE加速引擎生成随机数、贡献值评价指标、一致性账本、匿名投票机制、权重算法、签名校验等,实现了隐私性、可靠性、安全性以及较高的效率。
通用虚拟机设计:支持不同区块链
HPB虚拟机采用插件化设计的机制,可以支持多种虚拟机,可以实现底层的虚拟机和上层高级程序语言解析转换相结合,支持虚拟机的基础应用。另外,通过定制的API操作实现虚拟机的外置接口,可与账本数据和外部数据进行交互操作。
这种机制的好处是可以实现智能合约运行时达到原生代码执行的高性能,也可以实现支持不同区块链的通用虚拟机机制。比如它可以支持以太坊虚拟机EVM,EVM上的智能合约也可以在HPB上使用。
Neo的虚拟机NeoVM也可以在HPB上使用。在需要高性能场景时,不管是EVM还是NeoVM的用户只需少量适配可以实现与其他HPB应用程序交互。
HPB智能合约方面也做了一些改进,比如关于生命周期的管理、审计和形成通用模版。不进可以实现对智能合约的全生命周期管理,比如对智能合约提交、部署、使用、注销进行完整可控的流程管理、集成权限管理机制进行安全管理。
在智能合约审计方面,HPB进行自动化工具审计与专业人员代码设计结合的保护性审计。在模版方面,HPB逐步形成通用的智能合约模版,支持各类通用业务场景的灵活配置。
激励正向循环的token经济体系
当高贡献值节点生成区块后,会得到来自系统的token奖励。从HPB的设计看,系统每年会增发不超过6%的token,增发的token会跟高贡献值节点和候选节点的总数量成正比。
为了获得来自系统的token奖励,首先要成为高贡献值节点,只有高贡献值节点才有生成区块的权利。
为了获得生成区块的权利,需要做出贡献,包括持有一定数量的HPB token、有BOE硬件加速引擎、为系统贡献网络带宽。
从它的机制可以看出,HPB的token经济体系设计是从形成正向的激励体系考虑的,通过持有HPB token、拥有BOE硬件加速引擎以及为系统贡献网络带宽,从而维持了HPB系统的整体安全运行。
HPB 落地:支持各种高频场景
本质上HPB是高性能的区块链平台,是基础设施,可以在上面进行各种区块链应用的探索。包括区块链金融、区块链游戏、区块链娱乐、区块链大数据、区块链防伪溯源、区块链能源等诸多领域。
金融方面,包括去中心化的借贷、去中心化的资产管理等都可以通过HPB平台搭建应用,可以满足高频借贷、交易等场景。
游戏方面,所有游戏操作上链虽然不太现实,但是游戏道具等资产的上链和交易是很重要场景。一旦实现了游戏商品上链,可以确保游戏资产的透明、唯一性、不可篡改,永不消失等特点,为游戏商品之间的交易提供了很大的便利。
与传统的中心化服务商相比,有很多优点,比如不用担心游戏虚拟商品丢失、没收、更改的问题,交易流程也变得简单方便。由于HPB拥有高性能的区块链,预计可以支持百万级别的并发,很多高频的场景也可以满足。
区块链娱乐方面,可以支持明星资产的证券化,比如发行明星相关的token资产。区块链大数据方面,可以支持数据的确权,保证数据所有人控制数据所有权,保证数据的真实性、可溯源、不可篡改性,最后根据不同主体之间的需求,在实现数据交易的同时,保证个人隐私和数据安全。
基于HPB的区块链基础设施,基于它的高性能,可以构建多种场景的区块链应用。HPB设计提供区块链应用程序接口和应用开发包。在HPB区块链基础层,提供区块链数据访问和交互接口,采用JSON-RPC和RESTful API支持各类应用和开发语言。还支持多维度区块链数据查询和交易提交,交互访问接口可以和权限控制体系集成等。
应用程序开发包包括了基于不同开发语言对区块链进行操作的综合性功能服务包,如提供加密、数据签名、交易生成等功能接口,可以无缝支持各类语言业务系统等集成和功能扩展,支持Java、JavaScript、Ruby、Python、.NET等多种语言SDK。
结语
未来的区块链要想进入主流人群,要想形成真正的应用生态系统,必须有高性能的公链或基础设施的支持。以太坊构建去中心化生态系统的梦想在现有基础上仍无法实现,以太坊试图通过分片、plasma、pos共识机制等提升性能、提高扩展性等。
同时,目前的现状也催生了其他公链的努力,包括eos、HPB等,其中HPB采用了独特的软硬结合的道路,通过专用的BOE硬件加速,在签名验证速度、加密通道安全、数据传输速度、网络性能、高并发支持上都比单纯的软件解决方案有自己的优势。
在软件架构上,也采用了内外层选举的共识算法、灵活的虚拟机设计、应用程序接口和开发包等,为区块链应用场景的发展提供了基础设施。
从HPB的整体设计看,它的目标是要为整个区块链走向主流人群提供高性能的基础设施。有了高性能的基础设施,区块链在很多高频场景的应用才能实现,才能创造出更多的应用生态,才有机会走向主流人群。
HPB团队以技术背景为主,包括创始人汪晓明是区块链早期布道者,曾参与创立银联大数据、Beltal,担任Beltal CTO。 联合创始人CTO 许理拥有10多年芯片行业研发和管理经验,曾有在全球顶级通行设备供应商、全球最大元器件分销商负责核心产品逻辑设计、研发和FPGA芯片市场推广等工作。技术VP娄山林曾就职于中国知名的服务器厂商浪潮,担任嵌入式首席工程师,在嵌入式软件及底层软件领域有丰富研发经验。还有一位联合创始人李金鑫是前国泰君安首席区块链分析师,有丰富数字资产投资经验。
团队成员的背景与HPB的软硬结合的路径比较吻合。从最新月报看BOE板卡PCB Layout设计基本完成、BOE总体架构设计、ECC加速方案也已设计完成,同时完成了针对BOE硬件加速引擎的多项测试等。
期望HPB能够快速发展起来,在未来区块链基础设施的竞争中走出一条有自己特色的道路,能够为更多的去中心化应用提供支持,最终构建繁荣的生态。
风险警示:蓝狐所有文章都不构成投资推荐,投资有风险,建议对项目进行深入考察,慎重做好自己的投资决策。
想要深入了解区块链,长按下面二维码关注“蓝狐笔记”区块链公众号:
(长按关注蓝狐笔记)
原文 http://mp.weixin.qq.com/s/RSuz6R6MTotEL_U__Al_Wg