📢 Gate广场 #NERO发帖挑战# 秀观点赢大奖活动火热开启!
Gate NERO生态周来袭!发帖秀出NERO项目洞察和活动实用攻略,瓜分30,000NERO!
💰️ 15位优质发帖用户 * 2,000枚NERO每人
如何参与:
1️⃣ 调研NERO项目
对NERO的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与NERO生态周相关活动,并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
NERO热门活动(帖文需附以下活动链接):
NERO Chain (NERO) 生态周:Gate 已上线 NERO 现货交易,为回馈平台用户,HODLer Airdrop、Launchpool、CandyDrop、余币宝已上线 NERO,邀您体验。参与攻略见公告:https://www.gate.com/announcements/article/46284
高质量帖子Tips:
教程越详细、图片越直观、互动量越高,获奖几率越大!
市场见解独到、真实参与经历、有带新互动者,评选将优先考虑。
帖子需原创,字数不少于250字,且需获得至少3条有效互动
比特币将修复时间扭曲攻击漏洞 提升网络安全性
比特币修复漏洞:时间扭曲攻击问题将得到解决
2025年3月26日,一位比特币开发者提出了一项新的改进提案,旨在修复比特币协议中存在已久的几个漏洞和弱点。这个被称为"大共识清理"的软分叉提案,除了解决重复交易问题外,还将修复一个更为严重的漏洞 - "时间扭曲攻击"。
比特币区块时间戳保护机制
在探讨时间扭曲攻击之前,我们先回顾一下当前的时间操纵保护规则:
中位过去时间(MPT)规则:区块时间戳必须晚于最近十一个区块的中位时间。
未来区块时间规则:区块时间戳不能比节点对等体的中位时间提前超过2小时。节点时间与本地系统时钟的最大允许差异为90分钟。
MPT规则防止区块时间戳过于回溯,而未来区块规则则防止时间戳过于超前。值得注意的是,无法实施类似未来区块规则来防止过去的时间戳,因为这可能影响初始区块链同步。时间扭曲攻击正是通过伪造远远回溯的时间戳来实现的。
中本聪的计算误差
比特币的难度调整周期包含2016个区块,以10分钟区块目标计算,约为两周时间。为计算挖矿难度调整,协议计算2016区块窗口中首末两个区块的时间戳差。这个窗口实际包含2015个区块间隔(2016减1)。因此,正确的目标时间应为60秒 × 10分钟 × 2015个间隔 = 1,209,000秒。
然而,比特币协议使用了2016这个数字来计算目标。60秒 × 10分钟 × 2016 = 1,209,600秒。这是一个"差一"错误,很可能是中本聪混淆了区块与区块间隔的概念。
这个错误导致目标时间比应有的长0.05%。实际上,比特币的目标间隔时间不是10分钟,而是10分钟零0.3秒。这个微小的误差并不重要,事实上自比特币诞生以来,平均区块间隔一直是9分钟36秒,明显少于10分钟。这是因为自2009年以来,平均算力一直在增加。
时间扭曲攻击
时间扭曲攻击约于2011年首次被发现,利用了中本聪在难度计算中的错误。在这种攻击中,假设挖矿完全中心化,矿工可以设置协议允许的任意时间戳。攻击者会将大多数区块的时间戳设置为比前一个区块仅提前一秒,使区块链在时间上缓慢前进,同时遵守MTP规则。
为了尽可能慢地推进时间,矿工可以连续六个区块保持相同时间戳,然后在下一个区块中将时间增加一秒,如此循环。这意味着区块时间戳每六个区块才向前移动一秒。
这种攻击会使区块链越来越落后于真实时间,难度会增加,使挖矿变得更加困难。然而,为增强攻击效果,在每个难度调整周期的最后一个区块中,矿工将时间戳设置为真实世界时间。下一个区块(即新难度调整窗口的第一个区块)随后被设置回过去,比前一个难度调整窗口的倒数第二个区块提前一秒。这仍符合MTP规则,因为单个异常不会影响11个区块的中位数。
进行这种攻击时,第一个周期后的难度不会受到影响。然而,在攻击开始后的第二个调整周期之后,难度将开始向下调整。随后矿工可以以极快的速度创建区块,可能产生大量比特币,然后出售获利。
攻击可行性与解决方案
虽然理论上这种攻击可能造成毁灭性后果,但实施起来存在一些挑战。执行攻击可能需要控制大部分算力。如果有诚实的矿工输入真实时间戳,攻击难度会大大增加。MTP规则和诚实矿工的时间戳可能会限制恶意矿工操纵时间戳的程度。此外,如果诚实的矿工产生任何难度调整窗口的第一个区块,该周期的攻击将无法奏效。
另一个可能使攻击更难执行的因素是,它对所有人都是可见的。任何人都能看到时间戳的异常,在难度向下调整之前必须操纵四周的时间戳,这可能给我们时间推出紧急软分叉修复。
为解决这个漏洞,开发者提出了一个相对简单的解决方案。新的提案要求新难度周期的第一个区块的时间不早于前一周期最后一个区块之前的特定分钟数。目前讨论的时间范围从10分钟到2小时不等。在最新的大共识清理提案中,这个时间被设定为2小时。
这个2小时的限制仅约为难度调整周期目标时间的0.6%,因此大大限制了操纵难度向下的能力。这一修改既能有效防止时间扭曲攻击,又能最大限度地降低意外产生无效区块的风险,同时与现有的未来区块时间戳规则保持一致。
通过实施这一改进,比特币网络将能够更好地抵御潜在的时间扭曲攻击,进一步增强其安全性和稳定性。