Predis Multi-Zone

A Data Flow Framework with High Throughput and Low Latency for Permissioned Blockchains

联盟链的吞吐瓶颈由共识层和网络层的数据分发过程共同决定。

Predis 协议利用了共识节点的空闲带宽,提前分发区块中的内容即bundle,减少了共识区块中的内容,每个共识区块中能够包含更多的交易,从而提高了吞吐。将数据分发和共识过程解耦,冗余遇到数据可用性(data avaliability)的问题. 也就说如果一个区块要被添加到区块链上,但是区块中的内容还没有被广泛传播,许多的节点还无法访问区块中的内容。

在之前的工作中,面对数据可用性的问题,采用可靠广播解决,例如保证至少 nc-f 个节点收到了预分发的数据。但是在predis的设计中,并不依靠可靠广播RBC。Predis的mempool设计成多条链的形式,有点累计确认的思想在里面。

Multi-zone 中共识节点利用EC编码将bundle分成若干strips。将网络拓扑分成多个zone,每个zone中有relay 节点负责转发 stripes 从而减少每个节点的带宽压力。

PREDIS

在predis 中交易被打包成 bundle然后广播给其他的共识节点,bundle是类似于区块的结构,也包含了指向前一个bundle的hash。同一个节点打包的bundle会穿成一条链。如果一个bundle被共识节点接收并认为是有效的,那么他的前一个bundle也一定被该节点接收并验证是有效的。

tip 指明了当前各个链中的有效bundle的高度。

如果有恶意节点发送冲突的bundle,会被检测到并将恶意节点加入ban list。

每个bundle中还指明了node产生bundle时,当前node的mempool中各个链的有效bundle的高度。这可以用来说明每个node当前已知哪些bundle。

当共识的时候leader 要产生 predis block,其中指明了要将哪些bundle中的交易包含进去。关键是确定在每条链的那个高度 cut下来一段bundle。

leader 会根据mempool中的各个链最新的bundle( tip )中的tip list 确定,至少有 nc-f 个节点所拥有的高度。

图中的情景,链 bdl 3 就选取了高度4,因为 5 3 5 4 中有3个节点已经收到了bdl3的高度为4的bundle。

predis 将leader 的带宽消耗从O(nc x ntx) 降到了 O(nc)

MULTI-ZONE

在星形拓普网络中,随着共识节点数量的增加,共识的带宽开销也会增加。

muiti-zone 将网络拓扑划分成多个zone,可以根据节点的地理位置和连通性进行划分。

我们将全节点分成三类,共识节点、relayer nodes、普通全节点。

共识节点收到bundle之后使用erasure code 将bundle 划分成 nc 个strips,nc 是共识节点的数量,第 i 个共识节点负责转发第i个strips给relayer,relayer负责将其订阅的strips转发给同一个zone的其他节点。这样就减少了共识节点分发bundle的带宽压力。

本文中还有比部分逻辑是用来叙述如何确定 relayer,以及relayer如何调整其对应订阅的strips。每个新加入zone的节点,查询当前的relyaer,只订阅每个relayer一半的stripes。如果新节点还有strips没有订阅,则自身称为relayer,从共识节点接收转发剩余的stripes。我认为这样设计能够使得尽可能多的节点称为relayer。

当relayer退出的时候,relayer也要和普通节点做好交接,将relayer的身份传递出去。

Predis有两个优点:

(1)Predis的mempool采用单链结构,以更低的消息复杂度开销实现与可靠广播相同的效果; (2)Predis避免了区块大小随着其包含的交易数量线性增加的问题。这意味着随着交易量的增加,Predis 中的提案(称为 Predis 区块)的大小保持稳定,这与对应模型中的线性增长不同。

相关推荐
qq_171538851 小时前
TCP/IP协议精解:IP协议——互联网世界的邮政编码系统
网络·网络协议·tcp/ip
珹洺1 小时前
计算机网络:(七)网络层(上)网络层中重要的概念与网际协议 IP
网络·tcp/ip·计算机网络
兮动人2 小时前
获取终端外网IP地址
java·网络·网络协议·tcp/ip·获取终端外网ip地址
怦然星动_2 小时前
eNSP中实现vlan间路由通信(路由器)
网络·智能路由器
YSGZJJ3 小时前
股指期货贴水时,替代现货有啥好处?
区块链
zyx没烦恼4 小时前
TCP相关实验
服务器·网络·tcp/ip
(:满天星:)14 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
野蛮人6号15 小时前
虚拟机网络编译器还原默认设置后VMnet8和VMnet1消失了
网络·vmware·虚拟机网络编译器·vmnet8消失
scuter_yu16 小时前
主流零信任安全产品深度介绍
运维·网络·安全
江苏思维驱动智能研究院有限公司16 小时前
Sophos 网络安全:全球领先的自适应安全解决方案提供商
网络·安全·web安全