值得信赖的区块链资讯!
Filecoin – 一个越界Bug引发升级
Filecoin在11月24号需要强制升级,好奇看了看最新的代码。不看不知道,一看吓一跳。一个越界的Bug引发了这次升级。这个越界的Bug使程序实现的SDR算法和协议不一致。利用这个越界的Bug可以提升SDR的性能50%左右。
1 官方补丁
在11.02号官方提交一个补丁:
commit 0d17d7466f40e1228a4bab25f8b4861cb0d2da4d Author: Friedel Ziegelmayer <[email protected]> Date: Mon Nov 2 12:06:36 2020 +0100 fix(storage-proofs-porep): fix graph generation - expander: divide before casting to u32 - drg: move predecessor to the first position
这个补丁比较重要,这个补丁“修正”了当前的协议。整个SDR算法中节点的连接关系也发生了改变。
先讲讲简单的 drg: move predecessor to the first position改动,比较简单:
- parents[m_prime] = node - 1; + // Immediate predecessor must be the first parent, so hashing cannot begin early. + parents[predecessor_index] = node - 1;
一个节点的Base父亲节点的依赖,从原来的是最后一个Base父亲节点依赖上一个节点,变成了第一个Base父亲节点依赖上一个节点。简单的说,如果Base父亲节点的最后一个才依赖上一个节点,那Base父亲节点的前面一些节点可以先计算,无须依赖上一个节点的计算。使用老的算法,虽然不能完全提前算整个节点的结果,但是能提前一点好一点。改成最新的协议,这一点点也不能提前算了。
2 越界Bug
重点在于这个改动:expander: divide before casting to u32改动:

原始逻辑,就是在is_legacy包裹住的逻辑:
transformed as u32 / self.expansion_degree as u32
transformed的值是通过Feistel加密算法生成,具体的逻辑含义可以查看之前的文章。即使在不需要知道逻辑的情况下,可以估算出整个表达式的计算结果的范围。self.expansion_degree是固定值8。整个表达式的最大范围为:
2^32/8 = 2^29
注意的是,在32G扇区大小的情况下,节点个数是2^30次方。而这个表达式因为限制了transformed是32bit的无符号整数,导致了整个exp parents的范围在2^29次方范围内,并不是2^30次方。换个说法,在32G扇区大小的情况下,某一层的节点只依赖上一层的前一半节点。64G扇区大小的情况下,上一层依赖相对更少。
总结升级前的exp parents的依赖逻辑如下图:

也就是说,之前的SDR协议逻辑并不是Filecoin协议规定的SDR协议逻辑。在之前的SDR协议基础上,SDR的计算过程可以优化如下:

在某一层的一半计算完成后,可以立即开始下一层的计算,加速整个SDR的计算过程。整个计算可以加速50%左右。Oops。
3 升级时间
在build/params_mainnet.go定义了下两个版本的升级时间:
const UpgradeCalicoHeight = 265200 const UpgradePersianHeight = UpgradeCalicoHeight + (builtin2.EpochsInHour * 60)
Calico将在265200高度升级,也就是北京时间11月25号进行升级。Persian在Calico后2.5天完成。在两个版本中间的2.5天是个混合版本,新的和老的SDR协议都支持,从Persian开始,只支持升级后的SDR协议。
总结:
Filecoin官方在11月25号强制升级。升级前的SDR算法实现在越界漏洞,Exp父亲节点的依赖只和上一层的前一半的数据有关。SDR算法可以通过多个并行计算提高性能。升级后的SDR算法修复了漏洞,并同时加强了Base父亲节点的依赖关系。
来源:Star Li
比推快讯
更多 >>- 以太坊历史 1 月平均回报率为 20.63%,比特币 1 月平均回报率为 3.81%
- Jump Crypto 收到 928 万枚 LIT 空投,价值 2420 万美元
- 特朗普媒体科技集团:计划通过 Cronos 网络向本集团持有者分发数字代币
- 美国至 12 月 27 日当周初请失业金人数 19.9 万人,预期 22 万人
- 某地址花费 286 万美元买入 3000 枚 BTC 看涨期权,行权价 10 万美元,到期日为 26 年 1 月 30 日
- Kyle Samani:Manus 或首次让通用 Agent 具备落地可行性
- 福布斯:美联储降息预期或引发 2026 年比特币价格上涨
- 某巨鲸 10 倍杠杆做空 TRUMP,持仓价值达 50 万美元
- CertiK:12 月加密领域因漏洞攻击损失约 1.178 亿美元
- Binance 发布 Flow(FLOW)网络安全事件进展:已冻结黑客在平台剩余资金,敦促项目方披露事后报告
- 印度央行,支持各国优先发展 CBDC 以维护金融秩序
- Lighter 空投价值位列加密史上第十,总价值 6.75 亿美元
- 数据:Coinbase Prime 流入 2.71 万枚 ETH,价值约 8860 万美元
- Neo 基金会:财务报告计划 2026 年 Q1 发布,联创争议不影响日常运营
- 数据:2025 年 NFT 供应量增至约 13.4 亿枚,全年销售额下降 37%
- 数据:2025 年收益型稳定币产生超 2.5 亿美元回报
- 三菱日联:美元恐将创下 2017 年以来最差年度表现
- 芝加哥期权交易所拟修改 Mini 比特币指数期权报价增量
- Bubblemaps:TGE 后 2.5 亿美元资金自 Lighter 平台撤出
- 韩国 FIU 对 Korbit 处以约 188 万美元罚款,并处以“机构警告”处分
- Matrixport:加密货币的结构性增长趋势依然完好
- 某交易员在 Polymarket 通过预测下注单日获利 92.8 万美元
- 数据:4000 枚 ETH 从 Chun Wang (F2Pool) 转出,价值约 1189 万美元
- 美国会计准则委员会计划 2026 年探索将部分稳定币列为“现金等价物”
- 数据:ETH 全网合约持仓量 24h 减少 5.48%
- 分析师:BTC 大资金换手积极性下降,链上单笔交易金额较月中跌近 47%
- Shaw:量子计算对比特币的威胁是无稽之谈,炒作者一无所知
- 数据:过去 24 小时全网爆仓 1.08 亿美元,多单爆仓 5,756.54 万美元,空单爆仓 4,994.82 万美元
- 月之暗面完成 5 亿美元 C 轮融资,IDG 领投
- Coinbase 高管警告美国稳定币政策或让中国在全球支付竞争中占优
- 慢雾:警惕浏览器历史记录污染攻击,恶意软件攻击再次抬头
- 慢雾:钓鱼攻击仍是 Q4 资金被盗首因,共收到 300 起被盗案件追回 100 万美元
- Neo 创始人决裂:达鸿飞被指未履行财务披露承诺,Erik 被控独揽基金会财权
- 交易所 XRP 供应量降至 7 年低点,由 37.6 亿枚降至 16 亿枚
- Gate Alpha 开启积分空投第 136 期,持有相应积分可抢先领取 150 或 500 OOOO
- dYdX:已回购约 750 万枚 DYDX,总价值约 135 万美元
- Upbit 将新增支持 CRO 作为可质押数字资产
- Michael Saylor、Tom Lee 和 Arthur Hayes 的 2025 BTC 价格预测均未实现
- 中国银行:1 月 1 日起数字人民币实名钱包余额将计付利息
- 以太坊主网单日交易量创下 220 万笔新纪录,手续费平均降至 17 美分
- Arthur Hayes:流动性可能已在 11 月触底,是时候开始上涨了
- 山寨空军车头LIT 空单浮亏转盈后再次加仓,短时增持超 200 万美元
- 以太坊充币情绪加剧,过去 24 小时 CEX 净流入 10.58 万枚 ETH
- 2026 年美国加密监管关键时间点一览
- Arthur Hayes:购买 ZEC 就应使用隐私保护功能,否则投资将毫无意义
- 币安:今日 15:00(UTC+8)可领取币安 Alpha 空投,空投门槛 240 个 Alpha 积分
- 数据:GMGN 聪明钱榜单显示 KABUTO 过去 24h 获净流入 2 千美元
- 特朗普牌手机推迟发布,因美国政府停摆导致交付延迟
- 币安披露新型骗局:用户伪造“高管诈骗”证据,试图诱导客服表态
- 马斯克承诺大幅提升 X 平台创始者收入奖励并标记 Solana 顾问负责处理
比推专栏
更多 >>观点
比推热门文章
- Jump Crypto 收到 928 万枚 LIT 空投,价值 2420 万美元
- 特朗普媒体科技集团:计划通过 Cronos 网络向本集团持有者分发数字代币
- 美国至 12 月 27 日当周初请失业金人数 19.9 万人,预期 22 万人
- 开上法拉利,却陷入“人间炼狱”:一位创富者的年终反思
- 某地址花费 286 万美元买入 3000 枚 BTC 看涨期权,行权价 10 万美元,到期日为 26 年 1 月 30 日
- Kyle Samani:Manus 或首次让通用 Agent 具备落地可行性
- 强制减持令来袭,韩国四大交易所创始人恐失控制权
- 福布斯:美联储降息预期或引发 2026 年比特币价格上涨
- 某巨鲸 10 倍杠杆做空 TRUMP,持仓价值达 50 万美元
- CertiK:12 月加密领域因漏洞攻击损失约 1.178 亿美元
比推 APP



