主页 > 知乎imtoken苹果 > 使用工作量证明 (PoW) 作为信息价值信号的谬误(第 2 部分)

使用工作量证明 (PoW) 作为信息价值信号的谬误(第 2 部分)

知乎imtoken苹果 2023-03-17 06:44:28

最佳节点 - 拥有最少的孤块

孤立块是比特币网络中块生成过程的自然结果,当两个或多个节点同时或几乎同时发现竞争块解决方案时就会出现。

当这种情况发生时,就会出现所谓的“孤儿竞赛”,即竞争节点之间为了让节点中的区块在网络上传播,让自己的区块被更多其他节点优先处理而进行的竞争。 核实。 如果大多数网络节点决定该块是他们第一个“看到”的块,则该块将最有可能在其上构建链上的下一个块(即,该块被接受并添加到主链中)堵塞)。 链),这是成为最长工作量证明链的不可变部分的第一个条件。

尽量避免输掉孤儿赛,最好的办法就是尽量避免参加孤儿赛。 这需要通过双重策略来实现:

比特币量子量微博_比特币交易工作_比特币工作量证明过程

一个节点必须确保其他更多节点知道自己区块中的所有交易。 对于其他节点还不知道的交易,在请求交易、获得响应和对这些节点执行验证时会有延迟。

如果该节点拥有数百甚至数千笔其他节点没有的交易比特币工作量证明过程,那么这将对该节点赢得区块的能力产生灾难性的影响。 因为每次节点发现一个新的块,其他节点处理这些块都会有很长的延迟。 这意味着节点应该选择其他节点将验证的交易,拒绝其他节点未验证的交易,以及拒绝会增加延迟的交易,这些交易已经被网络中的大多数节点接受。

有关这种情况的真实示例,请参阅 Mempool 使用 Wea​​therSV 进行的交易实验。 最初,Mempool 挖出 0.2 satoshi/byte 的天气交易并将这些交易传播到网络中,但所有其他节点都忽略了这些交易,这导致 Mempool 每次发现一个区块时,都会延迟网络中新区块的验证。 有一个很大的延迟。

一开始的情况非常糟糕。 Mempool曾经是占全网10%的矿工。 它通常每天生产 12 到 17 个区块。 然而,它在实验的前 24 小时内未能产生任何区块。 经过几次尝试后,Mempool 改变了策略,将 WeatherSV 交易限制为每个区块最多 4 MB。 最后,网络中的其他节点开始接受和分配 0.25 聪/字节的交易,WeatherSV 只需支付额外的费用,以消除低费用交易给 Mempool 带来的问题。

比特币交易工作_比特币工作量证明过程_比特币量子量微博

节点自己发现一个新区块后,如果想要降低区块竞争的可能性,节点需要保证能够让尽可能多的节点尽快了解自己构建的区块的内容和结构,让这些节点的区块可以验证 Faster is better。 虽然这不是很多(或任何)节点都做的事情,但流式块模板是即将推出的 Teranode 系统中的一项计划功能,我认为它将向网络产生一些重要的昂贵信号。

节点不仅可以直接告诉其他节点哪些交易包含在自己的区块中,还可以告诉其他节点交易在 Merkle 树中的顺序。 这意味着当解开谜题的nonce被找到时,其他节点已经知道了验证区块所需的99.9%的信息,只需要处理剩下的0.1%的信息。 与不使用这种机制的节点相比,除了区块头之外,他们还必须传播区块中所有交易的顺序(以及其他矿工没有的所有交易),然后等待其他节点构建块来确认块是否有效 对于非易失性节点,使用流式块模板将节点相互连接会更有优势。

试想一下,某个节点挖出一个包含 10 亿笔交易的区块,其他节点因为没有模板,需要大约 20 秒的时间来验证这个区块。 在这 30 秒内,一旦接收者已经知道另一个节点的区块模板,来自另一个节点的区块可以首先介入并被验证。 这意味着每当这个节点找到一个新区块时,就有 5% 的机会成为孤儿。 假设这个节点持有10%的网络算力,相当于每天丢一个区块给那些可以明确告知其他节点挖矿模板的节点。

最终,为了尽快知道已经发现的其他区块,节点还必须尝试学习其他节点的区块模板。 当一个节点将自己的区块模板推送给其他有效节点时,保留对端节点模板信息最多的节点可以在短时间内完成对任何一个区块的验证,并且在没有任何新产生的有效节点的情况下也让它们及时更新。区块内交易的区块模板保证算力代理的算力不会浪费在无效的区块模板上。

所以,你看:工作量证明实际上并不是节点依赖交易费收入并且区块非常大时表现出的“代价高昂的信号”。 事实上比特币工作量证明过程,节点因连接良好并拥有关于网络中其他节点的最佳信息而受到奖励。 产生最多块的节点可能仅仅是因为它们投入了足够的计算能力,但它们可能会反复输掉与连接更好的节点的孤立块竞赛。

同理,一个出块数量少但赚取交易手续费多的节点也可能是网络连通性差的节点,它无法通过增加自身算力的投入来掩盖这一事实。 但是这些节点仍然可以赢得区块,因为他们的策略是最大化费用池并赢得打包大量交易的权利。

比特币工作量证明过程_比特币量子量微博_比特币交易工作

在我看来,只有拥有最佳基础设施和连通性的节点,以及随时了解其竞争对手在做什么的节点才能被称为“最佳节点”——丢失最少的区块,因此它们的计算力供应商获得了最大的收益与最小损失。 由于算力提供商是决定哪些区块有利可图的人,甚至比那些寻求巨额奖励的节点更早。 为了降低风险,他们自然会少参与奖励丰厚的区块,多参与奖励合理但输掉孤儿区块竞赛机会很小的区块。

因此,节点的连通性和实时计算其他节点活动的能力成为它们展示的“代价高昂的信号”。 一个健康的节点所能收获的回报就是算力,选择能够持续发出“代价高昂的信号”的节点的算力运营商将获得最小的工作量证明损失。

流式块模板将非常密集且运行成本高昂。 例如,如果一个节点与其他 10 个节点共享信息,每个区块中平均有 10 亿笔交易,那么该节点需要为其索引的每个节点构建一个 64GB 的 Merkle 树,并不断更新和管理。

流式块模板可能是比特币中要解决的最有趣和最具挑战性的计算问题之一,但能够掌握这项技术的节点运营商将获得更少的工作浪费,并且由于其所表现出的昂贵信号将吸引更多的计算能力。

是的,但这与其他工作证明应用程序有什么关系?

我想说这与其他工作量证明应用程序有很大关系,因为看起来这些应用程序的设计并没有完全理解比特币区块竞争中的昂贵信号是什么。

这些应用程序都基于这样一种误解,即工作量证明是一个昂贵的信号,而不是对展示一个昂贵信号的奖励。 并且将这种误解进一步扩展到其他工作量证明应用程序。

比特币交易工作_比特币量子量微博_比特币工作量证明过程

工作证明在构建块的过程中发挥作用,因为它是渐进的。 添加到最长有效链的每个块表示构建它的节点认为前一个块是它在先前解决方案中看到的第一个有效扩展。 这意味着该节点同意之前的区块在数学意义上是正确和合法的,并且其自身的工作量证明也符合当时的网络要求。

即使区块补贴占主导地位,网络仍然由计算能力的竞争来定义。 但随着网络竞争转向大型区块,激励将转向构建更快的网络以及构建存储和计算系统以启用网络所需的实时系统。 这些是“昂贵的信号”。

工作量证明是节点从外部获得的奖励,但其应用方式是动态的、残酷的。 如果一个节点由于连接性差而孤立了自己的块,它将很快失去哈希能力。 如果一个节点的块由于编译错误或非法交易而被拒绝,那么该节点也会更快地失去哈希算力。 这些不良后果促使节点对他们的算力供应商诚实,并试图向他们证明他们是网络中最有价值的节点。

将工作量证明应用于随机信息一点也不复杂。 但在信息战中,它是一种钝器,因为了解用户偏好和建立关系是重中之重。 我为什么要关心一个排名靠前的职位,仅仅因为有人花了 10,000 美元建立了一个很大的价值? 这个价值能给我带来什么? 你能答应我什么?

工作量证明的积累保护了比特币区块链,使得攻击链变得非常困难。 它之所以有效,是因为它用于验证单个数据结构——区块链本身。 如果我将它应用于图像或其他网络内容,我到底在发出什么信号? 如果您向我展示已应用工作量证明的 Web 内容,我为什么要关心? 工作证明既不建立在其他工作之上,也不允许其他东西建立在它之上,那么这里工作证明的目的到底是什么? 我可能对此持反对意见,但据我所知,工作量证明只是为矿工赚了很多钱,他们让人们相信它很重要,同时给外界一个令人困惑的指示,即人们觉得有人愿意花钱大多数钱是为了获得关注。

我不在乎是否有人在上面浪费钱,但这一切的回报在哪里? 当我看到信息时,我希望它根据我想看的内容和我的顾虑按我的喜好排列。 我不关心那些神奇的数字,我不知道它们给我的生活带来了什么价值。 如果你想引起我的注意,请给我一些有用的信息,而不是你花钱买的一些神奇的数字。

本文来自 CoinGeek.com