✍️ Gate 广场「创作者认证激励计划」进行中!
我们欢迎优质创作者积极创作,申请认证
赢取豪华代币奖池、Gate 精美周边、流量曝光等超 $10,000+ 丰厚奖励!
立即报名 👉 https://www.gate.com/questionnaire/7159
📕 认证申请步骤:
1️⃣ App 首页底部进入【广场】 → 点击右上角头像进入个人主页
2️⃣ 点击头像右下角【申请认证】进入认证页面,等待审核
让优质内容被更多人看到,一起共建创作者社区!
活动详情:https://www.gate.com/announcements/article/47889
在比特币挖矿机制中发现了零日漏洞 - ForkLog:加密货币、人工智能、奇点、未来
自比特币挖矿算法启动以来,存在一个计算错误,允许以极高的速度挖掘区块。研究员洛伊克·莫雷尔(Loïc Morel)对此进行了说明。
根据发布内容,故障与难度调整机制有关
每隔2016个区块)大约每两周(,节点会重新计算目标值,以确保每10分钟产生一个区块,而不考虑矿工的计算能力。为此,节点会测量上一个周期的持续时间,将其与目标值)2016 x 600 = 1,209,600秒(进行比较,然后相应地调整难度。
如果用t0表示第一个区块的时间戳,t2015表示最后一个区块的时间戳,节点会计算经过的时间为T = t2015 — t0。这样就得到了2015个区间)从t0到t1 > 从t1到t2 > … > 从t2014到t2015(。
为了得到2016个区间,应该使用另一种公式:T = t2015 — t-1,其中t-1是前一周期最后一个区块的时间戳。
这被称为“偏移一单位”的错误。该漏洞引入了大约0.05%的误差,导致难度略微偏高。
但真正的问题在于另一点。这个缺陷导致调整周期不重叠——一个周期的最后一个区块的时间戳在计算下一个周期时未被考虑。
时间操控
这个差异使“时间扭曲”攻击成为可能。其原理如下:
多次重复此过程,攻击者理论上可以将挖矿难度降低到每秒生成多达六个区块(而不是每10分钟一个)。
如果第一个和最后一个区块在两个连续周期中相等,攻击将无法实现。
如何修复此错误?
莫雷尔指出,可以通过BIP-0054中的软分叉来修复此问题。
该方案要求新周期的第一个区块的时间戳不超过前一周期最后一个区块的时间戳两小时。
此限制恢复了周期之间的“某种连续性”,防止时间操控,并使“时间扭曲”攻击变得不可行。
提醒一下,去年2月,Castle Island Ventures的尼克·卡特(Nick Carter)预测比特币可能因量子威胁而出现“企业接管”。