我们需要的是,只有当一个区块得到大多数已发布证明时,该区块才会变成新的链头。基本上,我们需要一个提议区块与一个空块竞争。在下图,B 在 slot1 被提议,它前一个区块是 A,但它获得的证明少于它的竞争区块,这样权威链就变成包含空 slot 1 的链。 更正式地说,我们可以把 (区块,slot) 对作为竞争证明目标来看: (区块,slot) 式证明已经被多次讨论,最终总是决定不采用它们,因为它们会对活性造成硬性延迟的限制。在目前的参数下,它们会造成任何在四秒内 (证明时限) 无法得到 50% 证明投票的区块被跳过,因此在糟糕的网络条件下活性会受到威胁。我们可能可以采用另一种设计,避免接上延迟的和非费用最高的区块来缓解这个问题,但还存在一些权衡 (这些都会增加问题的复杂性)。我将在全文的最后详细讨论这些问题,但请记住,这都只是这个阶段的初步想法。 区块提议的生命周期为了全面了解区块是如何进入权威链的,让我们集中在区块构建者 / 提议者分离方案这个具体版本吧,特别是文章的第一个想法。步骤基本是相同的,除了我们需要给构建者的区块头添加一个期限,以给证明者在评估最高费用时提供参考。没有了期限,就可以一直发布有高费用的区块头,这些区块头可能会因为出现得太迟而不被提议者看见和选择,但仍然会导致证明者查看最高费用的 view 更新。 这个过程看起来像这样,每个步骤间有延迟,证明者会被要求在期限内做证明:
请注意,这个构建者 / 提议者分离方案的特定版本需要修改它自己的共识,有三个证明选项:
尽管如此,正如已经预期到的,我们的均匀分配方案所需的变更可以直接加在上面,再次把「区块提议存在」等同于 之前确定的 a、b、c 三个条件 (即添加条件 c 到第二、第三个证明选项),如果全部发布了的证明中绝大多数都投了「区块提议不存在」,那么该区块就会被跳过。 (责任编辑:admin) |