Ser*_*ner 8 blockchain ethereum evm rsk
我想在 RSK 和以太坊中构建一个每年支付股息的 Solidity 智能合约。假设 RSK 和以太坊当前的平均块间时间,我应该使用块时间还是可以依赖块编号?
RSK 和以太坊有主干块(链接并执行)和叔块(现在称为 ommers),它们被引用但不执行。RSK 和以太坊都具有难度调整功能,试图维持区块(包括 trunk 和 ommers)的目标密度。换句话说,每个时间段开采固定数量的区块。RSK 和以太坊中的调整函数并不相同,但两者都以区块密度为目标,而不是链中的区块间时间。因此,如果挖矿网络产生更多数量的ommer区块,则一段时间内创建的主干区块数量会减少,并且主干平均块间时间会增加。以以太坊为例,过去 5 年中 ommers 的数量在 5% 到 40% 之间波动,但在过去 2 年中它相对稳定地保持在 4% 到 8% 之间。当基于块计数测量时间时,这意味着 +-2% 的误差。然而,在以太坊中,\xe2\x80\x9c难度炸弹\xe2\x80\x9d 对平均区块时间的影响远大于 ommer 率。现在平均出块时间约为 14 秒,但在不同时间曾达到峰值 30、20 和 17 秒。因此,在以太坊中,不应该用区块数量来衡量长时间。它只能短期使用,不得超过一个月。更重要的是,如果以太坊切换到 PoS,届时平均出块间隔将减少到12 秒。
\n这里我们显示以太坊 ommer 汇率:\n
\n(来源: https: //ycharts.com/indicators/ethereum_uncle_rate)
这是以太坊平均出块时间:\n
\n(来源:https://ycharts.com/indicators/ethereum_average_block_time)
峰值是由难度炸弹和延迟炸弹的硬分叉引起的突然衰减引起的。
\n在 RSK 中,大多数矿工都配置为最小化矿池带宽并创建大量 ommers。这是设计所允许和鼓励的。它们还可以配置为最大限度地减少 ommer 的数量,并消耗更多的带宽。RSK 的目标大约是每 33 秒 2 个区块的密度,目前一个区块是 ommer,另一个是主干的一部分。如果 RSK/比特币矿工将来决定切换到 ommer 最小化模式,则几乎不会创建 ommer,平均主干区块间隔将减少到 16.5 秒(以保持每 33 秒 2 个区块不变)。这就是为什么,即使 RSK 中的主干阻塞间隔目前非常稳定,在未来(并且没有事先通知)它可能会突然从 22 秒变为 16.5 秒。这使得块号成为计算利率等值的时间的不可靠来源。
\n另一方面,区块时间不容易伪造,因为节点检查区块时间不是未来的,并且不早于父区块时间。此外,RSK 还有一项共识规则,将 RSK 时间戳与比特币时间戳联系起来,这使得作弊极其昂贵,因为合并挖矿产生的回溯或远期的比特币区块将是无效的。
\n这是从 2018 年 6 月到 2021 年 3 月的 RSK 平均出块时间和平均叔块率。X 轴显示区块数量。
\n
\n图表中的每个点对应于一天。我们可以看到,出块间隔与叔块率高度相关。
EVM操作码NUMBER(用于获取块高度)返回主干块的数量,不考虑ommers。因此,返回的值不能用于计算所有类型的块。然而,可以添加一个新的操作码 OMMERCOUNT,以查询当前块引用的 ommer 总数。这些操作码与 NUMBER 一起可用于更好地估计时间的流逝。
\n| 归档时间: |
|
| 查看次数: |
449 次 |
| 最近记录: |