7

我想在 RSK 和 Ethereum 中建立一个每年支付股息的 Solidity 智能合约。假设 RSK 和 Ethereum 中的当前平均块间时间,我应该使用块时间还是可以依赖块号?

4

1 回答 1

7

RSK 和以太坊有主干块,它们被链接和执行,以及叔块(现在称为 ommers),它们被引用但不被执行。RSK和以太坊都有难度调整功能试图保持块的目标密度(包括树干和 ommers)。换句话说,每个时间段开采固定数量的块。RSK 和以太坊中的调整功能并不相等,但都针对区块密度,而不是链中的区块间时间。因此,如果挖矿网络产生更多的 ommer 块,则在一段时间内创建的主干块数量会减少,并且主干平均块间时间会增加。以以太坊为例,过去 5 年中,ommer 的数量在 5% 到 40% 之间波动,但在过去 2 年中,它相对稳定地保持在 4% 到 8% 之间。当基于块数测量时间时,这意味着 +-2% 的误差。然而,在以太坊中,“<a href="https://docs.ethhub.io/questions-about-ethereum/what-is-the-difficulty-bomb/" rel="仅用于短期,不超过一个月。更重要的是,如果以太坊切换到 PoS,届时平均出块间隔将减少到12 秒

在这里,我们展示了以太坊 ommer 率:( 以太坊 ommer 汇率 来源:https ://ycharts.com/indicators/ethereum_uncle_rate )

这是以太坊的平均出块时间:( 以太坊平均出块时间 来源:https ://ycharts.com/indicators/ethereum_average_block_time )

尖峰是由难度炸弹和延迟炸弹的硬分叉突然衰减引起的。

在 RSK 中,大多数矿工被配置为最小化矿池带宽并创建大量 ommer。这是设计允许和鼓励的。它们还可以配置为最大限度地减少 ommer 的数量,并消耗更多的带宽。RSK 的目标是每 33 秒大约 2 个块的密度,目前一个块是 ommer,另一个是主干的一部分。如果 RSK/比特币矿工将来决定切换到 ommer-minimizing 模式,几乎不会创建 ommer,平均主干块间隔将减少到 16.5 秒(以保持每 33 秒 2 个块不变)。这就是为什么,即使 RSK 中的中继阻塞间隔目前非常稳定,但在未来(并且没有事先通知)它可能会突然从 22 秒变为 16.5 秒。

另一方面,区块时间不容易伪造,因为节点会检查区块时间不是未来的时间,而不是早于父区块时间。此外,RSK 有一个共识规则,将 RSK 时间戳与比特币时间戳联系起来,这使得作弊极其昂贵,因为由合并挖掘产生的比特币块回溯或远期将是无效的。

这是从 2018 年 6 月到 2021 年 3 月的 RSK 平均出块时间和平均叔叔率。X 轴显示出块数。

RSK 中的平均块时间和 ommers/块 图表中的每个点对应一天。我们可以看到区块间隔与叔率高度相关。

EVM 操作码 NUMBER(用于获取块高度)返回主干块的数量,不考虑 ommers。因此,返回的值不能用于计算所有类型的块。但是,可以添加一个新的操作码 OMMERCOUNT,以查询当前块引用的 ommer 总数。与 NUMBER 一起,这些操作码可用于更好地估计时间的流逝。

于 2021-11-24T20:45:04.743 回答