织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 比特币 > 挖矿工具

探究用于状态网络的可扩展广播方案

时间:2021-03-30 13:54来源:未知 作者:admin 点击:
原文链接: https://ethresear.ch/t/scalable-gossip-for-state-network/8958 作者: Piper Merriam 翻译 阿剑 在我之前的新型交易 gossip 广播网络设计中其实可以看到我最初在为状态网络设计 gossip 广播方面的

原文链接:

https://ethresear.ch/t/scalable-gossip-for-state-network/8958

作者: Piper Merriam

翻译&校对: 闵敏 & 阿剑

在我之前的新型交易 gossip 广播网络设计中其实可以看到我最初在为状态网络设计 gossip 广播方面的尝试。在之前的文章中,我介绍了一种设计,可以让节点在无需处理完整交易池的情况下参与 gossip 广播。

从较高层面上来说,我们关于交易 gossip 广播的问题陈述如下(忽略 DOS 攻击/安全性要求):

交易来自整个网络。

一些网络参与者本身就需要维护完整的交易池(例如,矿工、抢跑交易者)。

一些网络参与者缺少足够的资源来处理完整的交易池(例如,轻客户端)。

我提议的交易 gossip 广播方案采用了距离指标【我们称之为 radius(半径)】,让节点可以自行调整它们必须处理的交易池规模。节点采用一组简单的规则来管理与之连接的对等节点集合,从而形成网络拓扑结构。半径最大的节点被视为网络的“中心”,半径最小的节点被视为网络的“边缘”。

该方案之所以有效,主要的两点原因如下:

第一,我们预期,节点的半径值会有很大差别,但 同时 都会相对较大。这种差异源自那些有动力维护“完整”半径以及“较大”半径的参与者。正是这些节点将位于网络边缘的节点连接到了一起。

第二,我们关于半径值较大的预期是根据键空间推测出的。根据 Peter 最近关于交易池的文章,geth 节点默认最多可维护 4000 笔交易。在任意时刻,整个网络中的待处理交易高达 4 万至 40 万笔。轻节点无法处理 4000 笔交易,但是处理其中 5% 不成问题。因此,我们预期半径值通常在整个键空间的 1% 至 100% 之间。

将同样的设计应用到状态 gossip 广播上(并不奏效)

我最初尝试将这种设计应用到针对状态网络的 gossip 广播上,但是没有成功。主要原因如下:

第一,状态网络中各节点在半径值上的差异会小得多。我们预期不太可能会有网络参与者维护“完整”半径。这会导致网络中缺少一个起到连接边缘作用的“中心”。

第二,半径值会很小。假设有 200 GB 的状态,平均每个节点提供 100MB 的存储空间,且复制因子为 10,那么计算下来我们需要一个由 2 万个节点组成的网络。平均每个节点需要存储 0.002%(1/20,000)的数据。

正是上述两个不同之处从根本上改变了网络拓扑结构,导致原来的交易 gossip 广播网络设计失灵。

与交易 gossip 广播不同的目标

别忘了,交易 gossip 广播的目标之一是,让交易进入矿工所在的网络“中心”。位于网络边缘的节点其实不是很在乎是否能看到所有待处理交易,即使一个都看不到也没关系。它们主要关心的是能否广播自己的交易,并让这些交易可靠地打包进区块内。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容