以太坊2.0超级全节点、顶级节点、单分片节点解析及探讨

当前位置:首页 > 币圈百科 > 以太坊2.0超级全节点、顶级节点、单分片节点解析及探讨

以太坊2.0超级全节点、顶级节点、单分片节点解析及探讨

2022-11-14币圈百科514

译者按:在比特币、以太坊1.0、eos等区块链系统中,有两类节点概念:轻型节点(也称spv节点)和负责验证所有交易数据的全节点(或超级节点)。以太坊接下来的2.0系统规划中,节点划分会变得更加复杂,因为引入了分片技术。根据以太坊官方FAQ中提到的内容,系统的节点将分为四种,分别是,(1)超满节点,(2)顶级节点,(3)单分片节点,(4)轻节点。这些节点呢?本文旨在解释这些节点,同时通过以太坊研究社区(ethresear.ch)成员对这一话题的深入探讨,希望读者能更好地理解这些概念。

blockchain-nodes

(图片来自:Hacked)

来自切片FAQ(译者注:关于切片技术的讨论还在继续,所以FAQ会不断更新,以下内容为最新版本):

“注意,现在,可以顶级node:处理所有主链块,让“轻客户端”可以访问所有片段;单个片段节点:充当顶级节点,但它也会完全下载并验证每个归类);它更关心的一些具体片段;轻节点:只下载验证主链块的块头数据。除非在某些特定的碎片状态下需要读取某些特定的条目,否则这类节点不会处理任何校对规则块头或事务。在这种情况下,它将Merkle分支下载到最近的切片校对块的头部,并从那里下载预期状态值的Merkel证明。

以太坊研究社区成员MihailoBjelic对此表示怀疑。他在帖子《以太坊2.0节点类型》中提到:

我对以太坊2.0中的这几类节点有几个疑问:

1。为什么这些超满节点要验证所有事务(主链事务和所有碎片化事务),会需要大量资源?存储所有数据确实有意义(保证了所有数据的数据可用性),但也需要大量的磁盘空间和带宽资源吧?

2。不知道这些顶级节点是做什么的,为什么存在?3.单片节点会定期洗牌。如何将数据“移交”给下一个当选的节点?4.所以,轻客户端只需要下载主链块头(主链=信标链,对吧?)?

有没有可能这一切都变得过时(比如当Casper和sharding结合的时候?)

谢谢!

meyer9答案:

1。超级满节点不是必须运行的节点。它们只是可能正在运行的节点。有了超级满节点,有些股权池可能希望做到这一点,这样对于每个验证者来说,每个周期都不必重新同步到不同的片上;2.顶层节点蓑衣网小编2022只验证信标链,所以只能访问一个片段的块头信息,而不会实际验证片段事务或处理片段块;3.单个片段节点生成整理规则并添加到片段链中,这就像问一个比特币矿工如何把数据交给下一个比特币矿工;4.有;

Jannikluhn:

“Mihailobjelic:单片节点会定期洗牌。”

不一定。只有验证者需要洗牌。一个“普通的”单个碎片节点(例如,来自与该碎片上的契约进行交互的用户)可以永久地留在一个碎片链上。

[x

MihailoBjelic:

x]

感谢@meyer9和@jannikluhn的回答。

“迈耶9:超满节点不是必须运行的节点。它们只是可能正在运行的节点。 有了超级满节点,有些股权池可能希望做到这一点,这样对于每个验证者来说,每个周期都不必重新同步到不同的片上;“

如果我们没有这些超级满节点,如何保证整个系统的数据可用性(比如单个切片被蓑衣网小编2022破坏或攻击,我们不再拥有它的数据?)

“Meyer 9:顶级节点只验证信标链,所以只能访问碎片化的块头,而不实际验证碎片化的事务或处理碎片化的块;“为什么

节点只做这个?我认为每个单独的验证者都需要这样做(验证信标链,并跟踪所有切片的块头)。反正我觉得是一些默认的基础级功能?

“迈耶9:单个碎片化节点生成整理规则并加入碎片化链,这就像问一个比特币矿工如何把数据交给下一个比特币矿工;“

我相信这种比较毫无意义。如果我的想法是对的,“单碎片节点”就是@JustinDrake在他的演示中提到的操作符,很明显它们会被重新洗牌,比如每周一次(而比特币矿工/节点不会被洗牌)。也就是说,显然,当新的验证者组被选中时,旧的操作者(单个分片节点)要把(整个分片链的)所有分片数据“移交”给新的操作者(他们没有这些数据,只有分片的块头信息)。现在,当我再次思考这个问题时,我发现它比我原来想象的要复杂得多。我可能会在这个问题上开一个新的话题。

“Jannikluhn:不一定,只有验证者需要洗牌。一个“正常的”单个碎片节点(例如,来自与该碎片上的契约交互的用户)可以永久地留在一个碎片链上。“

您能分享一下您是从哪里获得这些信息的吗?只有验证者会被重新洗牌?这将彻底改变系统的模式,并引入全新的挑战和问题(如果这一点得到证实,我将探索更多细节)。当然,我们可以让用户运行永久的单切片节点,但是这些与分析无关(不是强制的/保证不是固定的-不能依赖。)

此后,这个碎片化的FAQ的原作者之一,以太坊的创始人Vitalik Buterin也加入了这个话题的讨论。

Vitalik-Buterin

(图片来自:不义之财)

vbuterin:

“Mihailobelic:如果我们没有这些超级满节点,如何保证整个系统的数据可用性(比如单个切片被破坏或攻击,我们就不再拥有了)”

由于洗牌,我们有很强的概率保证单个片段不会被攻击或破坏,基本上没有攻击者拥有整个验证器集的近50%。如果我们加上欺诈证明和数据可用性证明(译者注,请参考《区块链扩容的关键:欺诈和数据可用性证明》),整个网络将能够拒绝坏块,而不必检查所有数据。

“Mihailobelic:能分享一下你是从哪里得到这些信息的吗?只有验证者会被重新洗牌?“

这个信息来自我?_?

任何不是验证者的节点都只是为了自身利益而运行的节点。所以,节点当然可以监听下载,也可以不下载,想查什么查什么。因此,协议没有能力强迫其他节点去任何特定的分片,也没有理由这样做。

Mihailobjelic:

“VButerin:这些信息来自我?_?

嗯,那我觉得这个信息还是挺靠谱的!_:这是否意味着碎片化的FAQ和Justin的报告(或者至少是报告的一部分)之间存在冲突?

“VButerin:任何不是验证者的节点都只是为了自身利益而运行的节点。所以,节点当然可以监听下载,也可以不下载,想查什么查什么。因此,协议没有能力强迫其他节点去任何特定的分片,也没有理由这样做。“

我认为提及这些用户运行的节点只会带来混乱。它们是不相关的,因为它们(正如你和我都说过的)根本不会提供任何保证,它们只是未绑定,可能(也可能不会)验证和保留碎片化的数据(或其中的任何部分)。验证者在任何时候都不能依赖这些节点,他们需要的是绑定的节点,他们必须验证每个片段的整理,并保留所有片段的数据(整个最新的片段链)。每个切片中有多少个节点?如果只是一个节点,那么就会有几个问题,如果不止一个,就会有其他的问题(还是那句话,如果我有这个答案,我会更详细的说)。如果这些事情没有完全搞清楚,这是可以理解的。

DR代码1:

需要记住的一个细节是,用于分片的“轻客户端”可能还负责向所有节点上传数据,而这通常不是轻客户端的职责。引用Vitalik等人最近写的轻客户端规范,我假设它将使用与以太坊2.0中相同的数据可用性机制:“轻客户端收到的每一个份额和有效的Merkel证明都将与所有节点通信,表明轻客户端已经连接到所有节点(如果这些节点没有它们)。“

”Mihailobjelic:我认为提及这些用户运行的节点只会带来混乱。“

我不是博弈论领域的专家。我只想指出,100%的BitTorrent节点是未绑定的,它们没有义务提供数据或验证:软件的默认行为(加上一些利他主义者)可以导致一种强大的机制,对分布式软件系统产生有意义的影响。

Mihailobelic:

感谢@drcode1!

“Dr Code 1:我只是想指出,BitTorrent节点100%是无绑定的,没有义务提供数据或验证”

没错,BitTorrent是一个不可靠的分布式网络(每个人都遇到过无法使用的Torrent链接)。IPFS也是如此,这也是他们想要建立Filecoin的原因(如果你想提供数据可用性的保证,你需要绑定的人来保存这些数据。即便如此,问题也不是微不足道的。)这就是为什么我认为我们根本不应该依靠这些用户/利他主义者来运行节点。也就是说,在讨论系统的安全性和保障时,甚至不应该考虑它们。

也就是说,我还是想知道:

a)我们会有绑定的单个shard节点(这些节点必须下载并保存单个shard的所有数据)?

b)这些节点永远不会被洗牌吗?c)他们与提议者(负责提出区块/整理并通过投票进行验证)是同一实体吗?d)每个切片将有多少个这样的节点?我刚刚看了彼得齐拉吉和菲利克斯兰格在以太网上的精彩演讲。这里可以看到当时的方案是让排序器不断切换切片(虽然,排序器和命题器/单切片节点是否相同还不清楚:-)

丹尼尔:

很好的问题!这个话题我想了很久,现在想提供一些纯我自己的看法:

a)是的!我看不到另一种方法来保证长期数据的可用性;b)看情况。到目前为止,我认为在实践中没有必要对它们进行重新洗牌,但我认为为了保证可证明的活性,可能有必要对它们进行重新洗牌。否则,贿赂攻击者可能会因为没有提出任何整理而导致一个片段被完全延迟;c)是的!在我看来,通过将负责任的事务执行的校对规则的提议与长期状态存储合并到同一个角色中,有可能实现最高的协同作用(从而带来效率)。d)这是一个有趣且开放的问题。如果我们没有“分配”或“洗牌”执行者,那么无论如何,我们对此都没有控制权。它依靠经济激励来实现各部分的合理分配。如果我们分配他们,我还没有考虑一个合理的数字。

译者后记:关于本文讨论的话题,译者会继续跟踪研究者的讨论动态,在评论栏中呈现这些最新的讨论。此外,译者还会通过研究者的讨论,对碎片化的话题进行逐一讨论。[x]
以太坊2.0超级全节点、顶级节点、单分片节点解析及探讨 | 分享给朋友: