对 Honey Badger(HBBFT) 的分析
应用 Jan 的分析框架分析一个异步共识协议 HBBFT:
- 从进入方式来看,和 Tendermint 一样,通过抵押代币的方式。
- 从出块选择上看,它不是轮流出块,而是所有的节点从自己的交易池中随机选出 1/N 的交易用门限签名的方式进行签名,并广播。
- 从共识方式看,HBBFT 通过一个可靠网络传输协议传输是用门限签名加密的交易,每个节点通过 BA 协议(与 Algorand 中的 BA 协议几乎相同)形成一致的列表。每个节点对列表中的值(交易)进行解密并广播,在收到 f + 1 个解密消息之后,即可解密整个共识的交易。对所有的交易进行排序以去除重复的交易。
- 从退出方式看解除抵押即可退出。
- 一致性和活性的要求上与 Tendermint 相同,攻击者 < 33% 的代币。
- 从效率上看延迟较低。
- HBBFT 的带宽效率很高,在收到交易的时候节点会将交易平均分成 N - 1 份,发送给其他节点,其他节点再互相转发,提高了整体带宽的利用率。
- HBBFT 因为采用门限签名,在不使用第三方的情况下,门限签名需要分布式秘钥生成,这个是比较消耗时间的。并且每一次更换共识列表都需要重新进行秘钥生成,所以这也限制了进出共识的灵活性。
- 从节点数量上来看,节点数量较高。因为是纯异步的共识协议,在延迟上要高于 Tendermint,但是其节点数量要高于 Tendermint,在不同节点数量下的表现参见下图: