1)算法流程
整体的算法分为三个步骤:1)每个节点交易随机选择一些交易,所有节点的总交易个数是B。 每个节点的交易进行加密生成x。2)通过ACS协议将每个节点加密的交易进行广播,以及形成统一交易序列。 3)解密交易生成区块。整体的算法流程如下:
2)TPKE加解密算法
TPKE,threshold public key encryption,加解密算法,一个公钥,多份私钥。通过TPKE加密后的数据需要多份子秘钥才能解密。
TPKE.Setup创建公钥PK和若干个子秘钥SKi。TPKE.Enc用PK对m进行加密,加密结果是C。TPKE.DecShare用单个子秘钥解密得到中间结果。TPKE.Dec用若干个中间结果解密得到m。
3)ACS协议
ACS - Asynchronous Common Subset。ACS协议又由两个协议组成:RBC协议和BA协议。ACS协议的主要功能是通过RBC协议广播交易,再通过BA协议形成一致的列表。网络节点间的数据共识的基础是RBC协议。
4)RBC协议
RBC,reliable broadcast协议。RBC协议通过纠删码算法降低节点间的数据传输。两次广播(ECHO以及READY消息)后,网络节点间可以形成共识。RBC的算法如下:
RBC算法的精髓是充分利用所有节点间的网络带宽。广播发起者P,将需要广播的数据(区块),通过纠删码算法分割成N份(其中有2f份是冗余),分发给N个节点。节点之间利用它们自己的网络带宽,广播这些分割后数据。这样做的好处是降低了广播发起者P的网络带宽,充分利用所有节点的网络带宽,示意如下图:

上图中,广播发起者先向三个网络节点A,B和C广播纠删码算法生成的分割后的小区块。网络节点A,B和C在接收到小区块数据后,广播给其他节点。任何节点只要收到超过一定数量的小区块就可以恢复出原始区块。
5)复杂度以及实验数据
论文指出HoneyBadgerBFT算法的总的数据传输的复杂度:

其中,v是单节点上最大数据大小。推导方法如下图所示:

因为一次传输实现B个交易(N^N*LogN),一个交易的传输量的复杂度可以近似为O(N)。
论文在Amazon集群上模拟节点,对比了HoneyBadgerBFT和PBFT的性能,如下图:
简单的说,在网络节点少的情况下(比如,8节点),HoneyBadgerBFT性能稍逊PBFT算法。但是在网络节点变多的情况下,HoneyBadgerBFT算法的性能几乎不变,而PBFT算法的性能显著下降。
总结:HoneyBadgerBFT是针对异步网络设计的共识算法。HoneyBadgerBFT算法,让网络节点同时广播交易,其核心是RBC广播协议。RBC广播协议的主要思想是,使用纠删码算法降低节点间的数据传输量,并通过BA算法形成一致的交易列表。论文指出HoneyBadgerBFT算法的复杂度是O(N),在网络节点少的情况下(比如,8节点),HoneyBadgerBFT性能稍逊PBFT算法。但是在网络节点变多的情况下,HoneyBadgerBFT算法的性能几乎不变,而PBFT算法的性能显著下降。
相关热词:#区块链
为什么需要MOSFET栅极电阻?MOSFET栅极电阻...
时间:2026-03-05
NTC/PTC/CTR热敏电阻是什么?热敏电阻的使用...
时间:2026-03-05
解析单电阻采样的原理以及注意点
时间:2026-03-05
共源极放大器的设计方法
时间:2026-03-05
关于STM32WL LSE 添加反馈电阻后无法起振的...
时间:2026-03-05
如何直观地判断两级放大器的零点位置呢?
时间:2026-03-05
时序分析基本概念介绍<wire load model&...
时间:2026-03-05
电子元器件解析—电阻
时间:2026-03-05
3PEAK高压零漂放大器契合精密应用
时间:2026-03-05
助力绿色5G数字式电流和功率监测芯片-TPA62...
时间:2026-03-05
未来什么技术占主流?会是区块链吗?
时间:2026-03-05
浅谈区块链下的智能合约
时间:2026-03-05
浅显易懂地揭开.Net生态系统的神秘面纱!
时间:2026-03-05
对技术的执着和美的追求变成了程序员的“诗...
时间:2026-03-05
什么是区块链技术_区块链技术解析
时间:2026-03-05
脑洞大开:玻璃窗也能发电?
时间:2026-03-05
如何布置无人值守变电站?
时间:2026-03-05
SCADA系统懂多少?
时间:2026-03-05
灰尘对光伏电站效率影响究竟多大
时间:2026-03-05
一种基于Agent的智能电网集成优化控制策略
时间:2026-03-05