区块链的技术现状其实主要是随着其交易量和应用的增长,会出现网络拥堵的问题,而现有的区块链底层仍停留在初级发展阶段,存在很多技术瓶颈,dapp落地也会很困难,TPS成为瓶颈问题。
现存的技术瓶颈有:

1. TPS性能
首先就是TPS性能问题。TPS(Transactions Per Second)是每秒交易量的意思,是主链的核心性能。

TPS也可以成为每秒吞吐量,处理的吞吐量越高,每个区块会变得更大,所以区块链可能会臃肿?

历代区块链的tps资料:

  • 第一代区块链主要是指比特币,每秒7次,确实好少。
  • 第二代区块链主链的TPS,以太坊,每秒50次。

2. 系统安全
都说区块链很安全,分布式记账,所有节点都保持一致,但是理论上,还是存在修改记账记录的问题的,即黑客利用安全漏洞,发起51%的攻击,夺取记账权,推翻之前的交易。

这个比较深奥了,个人觉得实现这一的攻击很难。假如更改这个规则,任何人不允许更改,就跟某些块性能特别好,它出的块每次都又快又准确,其实也算是有种变相的记账权了吧, 就跟HPB 的高性能节点一样,有出块的权利,出块不就是记账吗。所以记账权还是在部分节点手里,哪个节点广播的快,它就有了那个交易的记账权,还有了第一个记账的奖励。

3. 共识机制
区块链里的任何转账都需要网络中所有节点达成共识!所以共识机制不同会导致达成共识的速度不同,相应的你出块的速度也不同。

目前通用的有 PoW(工作量证明,比特币用的最多),还有POS(权益证明)算法,还有DPOS等。

4. 费用高昂
区块链现在的受众其实还是有限的啊,先不说受众,就说dapp开发吧,开发者测试dapp都会产生gas费用,(本地链不会产生真实费用,所以快去搭个本地链吧),就算dapp开发完成后开发者选择承担了运行时候的gas费,那dapp的使用条件也有限。
所以!综上所述!
HPB就是为了:

  • 提高TPS(采取软硬结合呀,主要用BOE硬件来提速)。
  • 费用(建个自己的高性能区块链平台,分布式应用来满足真实商业需求)。
  • 安全(理论上的不安全是永远存在的,不能因为黑客破解的概率小就说他破解不了)。
  • 共识机制(这个HPB有自己的共识算法的!就是内外层选举投票机制)。

设计理念

HPB最大的特色就是开发了自己的BOE加速引擎(用BOE硬件和软件交互,就是一直宣传的软硬件结合),通过将某些算法从节点上移到底层上,也就是用板子计算一些算法,这样节点的TPS自然会提升。

BOE板子上有散热片,功能模式开关(用来回复出厂设置和硬件升级),还有很多元器件,高达50多种。

这个板子是加速的核心,我感觉挺厉害的,毕竟首先是种创新,并且是切切实实突破了。

BOE

BOE技术是HPB创新性设计的,英文全称是Blockchain Offload Engine,中文可翻译为区块链卸载引擎,或区块链负载卸载引擎。

来一段专业的术语解释:BOE是一个异构处理系统,包括BOE硬件、BOE固件,以及与之匹配的体系软件,该异构处理系统通过结合CPU串行能力和FPGA/ASIC芯片的并行处理能力,实现高性能和高并发计算加速。

贴两张BOE的版图,这张版图里我知道的很有限并且随着需求BOE也会有新的改版,PCI-E卡槽,用来将板卡安在服务器的PCI-E卡槽里的。

图一
图二

BOE里的算法

ECDSA加速

ECDSA ,椭圆曲线数字签名算法,是目前行业中应用最为成熟和广泛的数字签名算法,BOE加速引擎内嵌ECDSA模块,将大幅提高签名验证速度。

硬件随机数生成器

BOE加速引擎采用了区块数据分片广播处理技术,每个区块分片中都含有完整区块头部,便于将新产生的区块尽快广播到所有节点。

网络性能

HPB网络中,能够成为高贡献值节点的条件之一是能为系统提供网络带宽。BOE技术基于硬件实现了节点连接的流量统计,共识算法能够通过BOE技术计算出某个节点提供的网络带宽数据。

并发

BOE加速引擎可实现大并发连接,并同时维持支持超过10,000条TCP会话,可并行处理10,000条会话,这将大大降低分布式网络层级数。专用并行处理硬件将接管由传统软件串行处理功能,例如交易数据广播、未验证Block全网广播、交易确认广播等。

更多技术咨询

1.如果你想了解更多关于HPB的技术文章,请访问:

HPB普及

2.如果你想了解更多关于HPB的技术信息,请访问我们的GitHub WiKi:

HPB WiKi of GitHub

3.如果你想获得更多HPB信息,请关注我们的官方网站:

HPB WebSite


汪晓明
7 声望6 粉丝

HPB芯链创始人,巴比特专栏作家。十余年金融大数据、区块链技术开发经验,曾参与创建银联大数据。主创区块链教学视频节目《明说》30多期,编写了《以太坊官网文档中文版》,并作为主要作者编写了《区块链开发指南...