木星链 木星链
Ctrl+D收藏木星链
首页 > XMR > 正文

以太坊:以太坊难度炸弹的爆发和拆除

作者:

时间:1900/1/1 0:00:00

编者按:本文来自以太坊爱好者,作者:ThomasJayRush,翻译&校对:曾汨&阿剑,Odaily星球日报经授权转载。每当以太坊的定时炸弹爆炸时,总会有两个问题出现在我们面前。第一个问题是:“什么时候出块会变慢,那简直不能忍。”第二个问题是,“这一次,我们应该将炸弹推迟多久?”在这篇短文中,我为第二个问题提出了一个简单得微不足道的解答。难度炸弹应该被推迟多久呢?我的建议是:“给定需要在区块高度N处执行硬分叉,则将难度炸弹推迟N个区块。”我并不打算在这篇文章中解释难度应该如何计算。下面这张图片在我的上一篇文章中已经出现过了,其中列出了难度的计算公式。

。在这种情况下,出块太快会导致难度增加,从而降低出块速度。如果10<=s<20,因子max(x)将变成0,从而确保当s接近目标时间14秒时,难度不再调整。而如果s>=20,因子max(x)的值将变成逐步减至-99,这会导致难度下降,从而提高出块速度。等式中的第二部分基于上一个区块的区块号。通过在指数中对100,000进行整除,创建出了一个以100,000个区块为周期的阶跃函数。第二部分也就是我们常说的难度炸弹。如果没有第二部分的话,难度炸弹便无从谈起。)仔细观察这个公式,注意它由两部分组成。公式的第一部分,我称之为“调整”。这一部分通过调整当前区块的难度来矫正上一个区块出块时间的偏差。这一调整要么降低难度,要么增加难度,这取决于生成上一个区块所花的时间。上图中第一个括号突出显示了这一部分。请花点时间搞清楚它的原理。A部分的实际效果与设计目标完全一致,它的作用是平抑哈希率的波动对网络运行的影响。从下文的图表中你可以清晰地看出计算公式中的A部分的作用完全符合预期。正因为A部分按照设计正常运作排除了哈希率带来的影响,所以我认为,在思考如何推迟定时炸弹时没必要考虑算力的实际规模。换言之,算力太低不会使难度炸弹爆炸时出块时间更长、算力太高也不能缓解难度炸弹的效果。鉴于以上分析,我的结论是,公式中的A部分与出块时间的减慢无关。而公式中的第二部分则是导致所有麻烦的罪魁祸首。我接下来的分析会让你相信,完全可以将这两部分分开处理。这些分析使我们更容易看出A部分不会对出块产生影响,而B部分——炸弹——才会导致出块时间延长。除此以外,你还会知道拆除炸弹是多么地轻而易举,只需要在每一次分叉时简单地将时期重置为0即可。生成数据并格式化

以太坊网络当前已销毁超250万枚ETH:金色财经报道,据Ultrasound数据显示,截止目前,以太坊网络总共销毁2,500,375.97枚ETH。其中,ETH transfers销毁231,114.70 枚ETH,OpenSea销毁230,048.94枚ETH,Uniswap V2销毁134,289.0枚。

注:自以太坊伦敦升级引入EIP-1559后,以太坊网络会根据交易需求和区块大小动态调整每笔交易的BaseFee,而这部分的费用将直接燃烧销毁。[2022/6/30 1:40:58]

处理数据的第一步是获取数据。我们使用自己的软件库TrueBlocks编写了如下代码:

运行上面这段代码,可以生成以下这种非常简单的.csv格式的数据文件......

上面的数据再加上从EtherScan获取的每日哈希率列表,对于我们理解以太坊的难度计算来说已经绰绰有余了。我们使用了RStudio和一种名为“R”的数据编程语言来构建下文中的图表。如果你对“R”语言不太熟悉的话,强烈建议你去了解一下,这是一种非常出色的编程语言。我们先来看一看以太坊的哈希率。日均哈希率

第一张图表展示了以太坊主网的日均哈希率,其中的数据来源于EtherScan。因为我不知道数据是怎么收集、创建出来的,因此无法保证这些数据的真实性,但我假定它是对的。可以点击这个链接查看相关数据。

以太坊第四大巨鲸向Crypto.com转入11,000枚ETH:据 KingData 数据监控,以太坊第四大加密巨鲸(0x72A53cDBBcc1b9efa39c834A540550e23463AAcB) 5个小时前向 Crypto.com 交易所转入11,000 枚 ETH,价值 2776.08 万美元。该巨鲸一周内向 Crypto.com 交易所共转入 34,300 枚ETH。[2022/3/7 13:42:34]

讨论:从上图中可以明显地看出,以太坊的哈希率随着以太币价格起伏而变化。这张图让我回想起了以太坊的价格走势。2017年夏,哈希率一路飙升,并在2018年第一季度达到顶峰。而2016年10月哈希率的起伏则是由于当时臭名昭著的DDos攻击,上图中两条灰色垂线代表的是两次硬分叉——即拜占庭硬分叉和君士坦丁堡硬分叉。这张图暂时就分析到这里,不过我们在接下来讨论区块链的难度数据时依然会提起它。原始难度数据

第一张基于难度数据的图表展现了通过Parity的RPC调用get_Block返回的数据。首先,下面列出了一些标准的统计信息:

我们的第一张图表非常直观:

讨论:上图的数据是在第8,920,000个区块时生成的。尽管处理这么多数据记录对于“R”语言来说易如反掌,但考虑到数据挖掘的迭代性质,我们从每100条数据中抽取了1条记录作为样本,最终得到大约9,000条记录,并展现在上图中。与前文一致,上图中的灰色垂线也代表硬分叉。红线的高度代表给定区块时的难度值。你可以很容易地看出在每一次分叉时拆除难度炸弹的效果。请回看前文中关于哈希率的图表,在2016年秋天的DDos攻击中,你可以看到难度与哈希率之间的关系。假如难度炸弹没有拆除——实际上从难度激活的那个高度开始把红线继续向上延伸——对于两次硬分叉都采取同样的操作,你会发现这与哈希率变化的图表惊人的一致。换句话说,哈希率和难度是紧密联系在一起的,这非常合理。因为这正是难度计算公式中的A部分设计的目的所在。它的存在就是为了直接根据不同的哈希率来调整难度值。矿工的行为可能并不会因为难度炸弹的拆除而发生变化。他们的挖矿设备在难度炸弹拆除前后都同样地持续运行。唯一的改变是出块的平均时间变短了。在我们进入下一张图表的分析之前,还有一些地方需要注意。请仔细看看拜占庭硬分叉前面的部分。你会发现难度水平上出现了4、5次单向的垂直跃升。事实上,每一次难度水平的跳跃幅度都是上一次的两倍。这些跳跃就是我们所说的难度炸弹。让我们一起把目光聚焦到图表的其它部分。

PoS基础设施服务商stakefish上线以太坊2.0 Staking平台,支持批量建立验证节点:11月24日消息,PoS基础设施服务商stakefish已正式上线以太坊2.0的非托管类Staking平台,该平台为以太坊社区首个支持批量建立节点的staking平台,最多一次性存入100个以太坊2.0验证节点,智能合约已经通过Runtime Verification审计。stakefish已于不久前开源了其开发的批量存储合约。目前,平台上线约15小时已经成功创建680个验证节点,Staking ETH数额达到21760 ETH。[2020/11/24 21:56:33]

讨论:我们以100,000个区块为一组,用垂线将上图分隔开来。睁大你的眼睛,仔细看,代表难度跳跃的曲线跟我们作的垂线完全重合。在这些分隔线之间,难度持续上升,但上升速度远不及分隔线上的跃升幅度。难度的爆炸性增长与2017年时哈希率一路飙升的事实相一致。也许你也注意到了每一次连续的“爆炸”——每次炸弹爆炸时的难度值的增量都是上一次的两倍。事实证明,这些跳跃的周期性对于理解当下正在发生的事情尤为重要。在本文余下的图表中,我们的目标是将难度计算公式中的第一部分和第二部分分开。从而帮助我们更好地理解如何应对未来的难度炸弹。每个区块的难度变化

在下一张图表中,我们来看看每个连续的区块之间的难度变化。其计算公式为y(x)=区块x的难度值—区块x-1的难度值

Kava Labs CEO:DeFi将在2021年摆脱以太坊的统治:??Kava CEOBrian Kerr表示,由于目前的网络问题,DeFi将突破以太坊的控制,同时行业内的跨链性质更加明显。

DeFi行业整体会有起伏,但除了目前的炒作,DeFi正在兴起一些非常有趣的金融产品,有非常大的发展潜力。Kerr设想,DeFi领域在明年会变得更加跨链化。尽管以太坊现在是无可争议的领导者,但它的作用最终会下降。尽管如此,网络拥堵和高额Gas等问题将降低其主导地位。

不过大量新的可疑DeFi应用也会出现,这些应用将偏向于“类似于退出或者纯粹的庞氏局,而不是任何真正的金融产品”。在未来五年内,中心化平台将开始整合越来越多的DeFi协议。这将创造更好的用户体验,并有可能使DeFi市场的散户群激增。

Kava的年度计划包括扩大跨链桥,以允许新资产在平台的DeFi中心上使用。Kava还将开发多个应用,以利用这些资产作为抵押品。Hard Protocol v2计划在即将到来的几个月内推出,随后将推出AMM应用和DeFi Robo-advisor。“在未来5-10年内,Kava还将继续扩大我们的企业和金融机构合作关系,因为DeFi越来越为主流参与者所接受。”[2020/11/7 11:55:36]

讨论:正如我们在上文提到的,A部分的计算使得难度在一个水平附近“徘徊”,以确保出块时间维持在14秒。上图通过使用红蓝色表示数据来揭示这种“徘徊”现象。图中的“增长”部分代表难度的正向变化。而图中的“收缩”部分代表难度的负向变化。难度始终围绕着0值“调整”。换句话说,这部分计算是为了维持出块时间的稳定,A部分的计算使得出块时间维持在一个稳定的值——14秒。对你来说,这张图可能是你第一次看到难度炸弹的直观展现。很明显,每次爆炸时的难度都是上一次的两倍。但在我看来,这张图表达的依旧不够清晰。举个例子,为何同样的图案在君士坦丁堡期间没有清晰地重现?其实是因为哈希率大大提高了。这部分计算可以使出块时间维持在14秒,但是系统的来回波动更加剧烈。这也解释了为什么我们无法在临近君士坦丁堡分叉时识别出难度炸弹,因为它被更加剧烈的波动掩盖了。那么,是否存在一些其它的措施,可以让我们看的更清楚呢?当然!这种办法确实存在,我们将在下一张图表中为你揭晓。难度的相对变化

SMT最新公告:“以太坊智能合约溢出漏洞事件”已经得到全面控制:据SmartMesh(SMT)官方微博公告,此次“以太坊智能合约溢出漏洞事件”已经得到全面控制。对于此次溢出事件流出的“假币”,SMT基金会承诺将从公开流通市场进行回购,并进行销毁。[2018/4/27]

本文这部分的最后一张图表,展示了相对于区块总难度而言的难度变化百分比。计算公式为

而上一张图表展示的是难度的原始变化。这张图表展示了标准化的难度变化,从而消除了算力增长带来的影响,我们从而可以更加清晰地看到难度计算公式中的两个不同部分——A部分与B部分。下面是每个区块的难度相对变化图表:

讨论:现在,你应该明白为什么我在前面中说在讨论难度炸弹时担心算力会适得其反得了吧。从这张图表中,你可以很清晰地看见,区块生产不受算力增加的影响,直到定时炸弹“抬头”。公式中的A部分使得出块的速度及产量维持在一个稳定的状态。在定时炸弹爆炸之前,难度几乎不受什么大的影响。这里还有两件有趣的事情值得你注意:从上图中,你还可以看见炸弹在图表的最右侧开始“抬头”,尽管抬头的距离比起拜占庭和君士坦丁堡之间的距离要短得多——下文中我会解释这一现象;图表底部的条纹是因为计算公式里A部分中的对10整除的那部分而形成;更高的哈希率看上去好像会延迟“抬头”,正如LaneRettig在君士坦丁堡分叉之前提到的那样,我们在上面提到的文章中也写过。关于这张图,我还有许多能继续分享的,也许哪天我会回过头来继续写。但接下来,我更想为在未来拆除炸弹提供更好的方法。拆除炸弹的更佳方式

首先,我要再次强调,在担心定时炸弹的同时还担心算力波动会适得其反。计算公式中的A部分已经将算力增加的影响排除在外了。这也正是A部分存在的意义。平坦得近乎完美的难度增量证明了A部分的工作几近完美。很显然,哈希率对出块时间没有影响——但这一点我们已经知道了——这也是难度调整设计的目的所在。炸弹由上述公式末尾的一个额外附加值所定义:

(译者注:floor(x)为向下取整函数,即取不大于x的最大整数,例如floor(3.14)=3)上面的式子就是一个以2为底的幂函数。令p=floor,我们可以将上面的式子改写为2p。最终,我们得到了一个以时段p为步长的阶跃函数。

不过,请记住,核心开发人员已经将炸弹重置了两次——没说错,就是“重置”的字面意思,他们重设了炸弹计算的周期起点。这是通过使用Go语言代码创建一个在计算中使用的伪块来实现的。目前来看,伪块在过去似乎起到了重置炸弹的效果。下图这张校正后的图表显示了这段时期的真实情况。

上图用红色来表示真实的区块号,其取值范围是0到8,920,000。而伪块号起初与红色的真实区块号重合,直到发生了拜占庭分叉,伪块号被重置到过去的3,000,000个区块。然后,伪块号与真块号平行增长,直到君士坦丁堡分叉,伪块号再次被重置。下面这张表格中列出了重置后的一些信息,你发现什么奇怪的地方了么?

拜占庭分叉后的伪块号为1,370,000,将该值整除100,000可得时期为13。也就是说,在哈希率调整之后,每个区块的难度都额外增加了213。而到君士坦丁堡硬分叉时,伪块号被重置为了2,280,000,也就是说时期变为了22,这意味着每个区块的难度额外增加了222。我想,这就是为什么定时炸弹爆炸得比我们预期中更早的原因。因为我们上次重置它时没有回退得足够远。这次重置定时炸弹的建议值为回退69,000个区块,从而使得时期变为0。这才是需要重置的正确数量。如何更好地重置定时的难度炸弹

每当我们必须重置定时炸弹时,有一种非常简单易行的方法将其重置为正确的值。通过这种方法,绝大部分和难度炸弹相关的问题将不复存在。只需要简单地将重置难度炸弹时回退的区块数设置成和分叉的FORK_BLOCK_NUMBER相同即可。通过这种方式,伪块号将被设置成接近0,时期也会变成0。由于区块生产速度的减缓主要是因为定时炸弹的存在,因此通过上述方式,“抬头”效应将变得完全可预测。B部分的计算完全依赖于伪块号。如果我们在君士坦丁堡分叉时这么做,那么定时炸弹就不会爆炸得那么快了。

结论

非常感谢你能读到这里。我希望这篇文章可以引起那些对难度炸弹感兴趣的人的注意。我看到许多人都对难度计算问题感到困惑。在我看来,人们想的太复杂了。以下是几个关于本文的简单总结:B部分的指数性质使得只有它与区块生产速度有关;计算公式中的A部分不会对出块造成有害影响,相反,它实际上起到了积极的作用;将时期或伪块重置为0有两个好处:允许最大限度地推迟定时炸弹,使得炸弹的重现变得非常可预测。如果你对这篇文章有任何看法,请告诉我。希望我已经帮助大家理解了这些我烂熟于心的内容。

标签:以太坊EFIETHDEF怎么得到以太坊币呢Refinableethical词根SquidGameDeFi

XMR热门资讯
区块链:去中心化金融(DeFi)的起源与兴起:区块链在金融领域的第二批应用

编者按:本文来自量化踢马河,Odaily星球日报经授权转载。DeFi,全称DecentralizedFinance,又称“去中心化金融”.

1900/1/1 0:00:00
LEEE:把中国的商品卖出海,数字货币最落地的场景可能是跨境电商

当2019天猫双十一秀出2684亿元营业额的时候,有一拨人正在尝试将中国的商品出海。在此前的很长一段时间,人们认为数字货币最大的应用场景只有炒币.

1900/1/1 0:00:00
KKT:Bakkt起势,欲夺BTC定价权?

编者按:本文来自蜂巢财经News,作者:嚯嚯,Odaily星球日报经授权转载。12月6日,比特币实物交割期货平台Bakkt已上线两个多月.

1900/1/1 0:00:00
比特币:比特币操作系统

编者按:本文来自蓝狐笔记,Odaily星球日报经授权转载。前言:人类擅长线性思维,而对非线性的发展很难理解.

1900/1/1 0:00:00
BTC:比特大陆5000美金托底比特币?

编者按:本文来自链比特LianBit,作者:陳威廉,Odaily星球日报经授权转载。我们经常说的一句话是“矿工是比特币天然的做空方”.

1900/1/1 0:00:00
比特币:宏观经济是如何影响比特币价格的

今年夏天,所有人都沉浸在比特币的甜蜜里,大家对价格再创新高充满期待,我们当时总结了四个造成上涨的核心原因:资金不断在购买全球经济进入下行周期中国市场影响力共识在增强6个月过去了.

1900/1/1 0:00:00