Here这是一个非常高级的描述,只有公式。我想真正了解它是如何工作的。
我实际上不明白一个步骤是什么以及它有什么用?节点是否总是不断更新步骤?当创建和广播一个 block 的时间到来时,它将采用当前的步长值并检查他是否应该广播。
“从超过 1 步到 future 的 block 被拒绝”是什么意思?这是否意味着如果 block 时间是 5 秒,那么下一个 block 时间戳应该正好高 5 秒。
当下一个主节点不广播时会发生什么?网络如何处理它?所有接下来的 block 都应该正确地失效,因为它们不会遵循 5 秒的时间戳差异。
最佳答案
奥拉 是 Parity 的 Proof-of-Authority (PoA) 共识引擎的名称,该名称最初来自Authority Round(以前是AuRo)。它用于 Kovan network .
PoA 网络在设计上是不允许公开的。只有严格定义的权限节点才被允许密封区 block 。这对于测试网络或企业网络非常有用,因为区 block 链上的原生代币不具有任何值(value),因此在工作量证明 (PoW) 或权益证明 (PoS) 环境中很容易受到攻击。
一步是权限回合的一部分。每个权限可以在每一轮中密封一个区 block 。假设我们有五个权限:0x0a .. 0x0e
.这些将是链规范或动态验证器合约中定义的步骤:
0x0a
封 block 0x0b
封 block 0x0c
封 block 0x0d
封 block 0x0e
封 block 回合结束后,重新开始。
What do you mean by "Blocks from more than 1 step into the future are rejected."?
现在如果节点
0x0c
会尝试在 0x0a
之后立即密封一个 block ,那么这个区 block 将超过 1 步。封锁严格依赖于所有权威的封锁步骤顺序。And also what happens when the next primary doesn't broadcast?
没问题,两个区 block 之间会有间隙,即双倍的出 block 时间。所以如果
0x0c
注意到 0x0b
在指定的时间窗口内没有提供 block ,它可以用自己的 block 覆盖这一步并继续循环。区 block 时间戳有一定的容差,以确保网络不会停止。在上面的屏幕截图中,您可以看到 Kovan 网络中的两个权限没有密封 block 。结果是这些步骤之间的阻塞时间增加。
披露:我为 Parity 工作。
关于ethereum - Parity 的 Aura 共识协议(protocol)是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43465552/