值得信赖的区块链资讯!
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
比推快讯
更多 >>- 美国前 25 大银行中有 14 家正为客户构建比特币相关产品
- Euroclear:数字资产正重塑资本市场,欧洲须立即行动
- 香港两名青年实施 200 万港元 USDT 骗局,被判入教导所
- Ju.com 上线圣诞&元旦双活动:充值返现与幸运抽奖同步开启
- Gate Launchpad 正式开启第五期 Kodiak(KDK)认购
- EchoSync 在 Aster 推出跟单交易功能
- KWTUK 香港线下发布会举行,能源型 RWA 路径引发关注
- Paradex 联创 Fiddy:零手续费不是零收入,而是交易所商业模式重构
- Paradex 首席商业官 Rob:金融规模化的关键在于隐私
- 数据:过去 1 小时 Binance 净流入 3,545.89 万 USDT
- 抄底 ETH 后进行对冲的巨鲸再次买入 2,249 枚 ETH
- 数据:CryptoQuant:BTC 估值重置正进行,市场逐步回归基本面
- Metaplanet 宣布建立美国存托凭证项目 MPJPY,将于 12 月 19 日生效
- 麻吉大哥再次加仓 200 枚 ETH,ETH 多单浮盈 20 万美元
- 麻吉在市场反弹上涨中减仓 700 枚 ETH 多单
- 数据:监测到 3,253.45 万 USDT 转入 Binance
- Ontology 完成主网升级,ONG 代币供应量已从 10 亿降至 8 亿
- 多个鲸鱼地址从 Binance 平台提币以太坊
- 植田和男:加息有可能,如果工资上涨传导至物价
- Binance Alpha 将移除 BUZZ、FROG 等 9 个币种
- 日本央行行长:将在评估加息至 0.75%对经济和物价的影响后,再决定是否加息
- 《火币高管面对面》第五期今晚开播:火币 HTX 合约负责人 YOYO 将深度拆解合约业务的现状与未来
- DeAgentAI 发布 AIA 合约用户权益说明
- 凯投宏观:预计日本央行 2027 年的最终利率将达到 1.75%
- IcomTech 加密庞氏骗局推销员被判 71 个月监禁
- 日本央行行长:预计实际利率将维持在显著偏低的水平
- 日本央行行长:日本经济在一定程度上存在疲软,但正温和复苏
- Gate 创始人 Dr. Han 回应行业裁员潮:靠裁员活下来的交易所走不远
- 利比亚当局加大对加密货币挖矿的打击力度
- Base App 全面开放首日新增用户超 1.2 万,创历史单日新高
- Tether 相关公司出售 Northern Data 挖矿业务,Rumble 随后宣布收购 Northern Data
- Binance Alpha:RateX (RTX)空投门槛 226 积分
- 易理华:现在是最佳现货投资区,加密行业明年都是大利好
- Solana 生态 DEX Lifinity 决定逐步关停,4340 万美元资产将分配给代币持有者
- Arthur Hayes:正大举抄底优质山寨币
- 道富:美日利率的趋同可能加速
- DMG Blockchain Solutions:2025 财年 BTC 挖矿产出 344 枚,总资产达 1.32 亿美元,同比增长 27%
- 曾在 SOL 上获利 128 万美元的某巨鲸刚刚购入 4.1 万枚 SOL
- BTC OG 内幕巨鲸代理人:比特币、ETH 即将拉升,第一目标位分别为 10.6 万美元、4500 美元
- 灰度:2025 年稳定币供应量达 3000 亿美元,月均交易量 1.1 万亿美元,多个代币标的将受益
- 某用户租用 100 美元算力挖出 928351 区块,获得 3.152 枚 BTC
- Stacks 推出“比特币资本市场”网络研讨会系列,助力机构探索比特币收益策略
- Robinhood 代币化股票种类增至 1993 个,资产规模超 1300 万美元
- 稳定币 U 上线不足一日,流通量已达 5890 万美元
- 昨日以太坊现货 ETF 净流出 9767 万美元
- 全球 Web3 生态创新与应用峰会将于 2026 年 1 月 5 日在香港数码港举行
- Solana 生态 Meme 币 JELLYJELLY 持续拉升,24 小时涨幅约 40%
- Hashed:2026 年加密将进入应用与真实经济连接阶段
- 半木夏:日本加息已充分计价,比特币 11.25 万美元为强阻力位
- 某鲸鱼市场反弹期间从 Binance 提取 720 枚比特币
比推专栏
更多 >>观点
比推热门文章
- 香港两名青年实施 200 万港元 USDT 骗局,被判入教导所
- Ju.com 上线圣诞&元旦双活动:充值返现与幸运抽奖同步开启
- Gate Launchpad 正式开启第五期 Kodiak(KDK)认购
- EchoSync 在 Aster 推出跟单交易功能
- KWTUK 香港线下发布会举行,能源型 RWA 路径引发关注
- Paradex 联创 Fiddy:零手续费不是零收入,而是交易所商业模式重构
- Paradex 首席商业官 Rob:金融规模化的关键在于隐私
- 数据:过去 1 小时 Binance 净流入 3,545.89 万 USDT
- 抄底 ETH 后进行对冲的巨鲸再次买入 2,249 枚 ETH
- 数据:CryptoQuant:BTC 估值重置正进行,市场逐步回归基本面
比推 APP



