值得信赖的区块链资讯!
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
比推快讯
更多 >>- 民调:特朗普经济支持率跌至 33%,反对率升至 67%
- 智能合约之父 Nic Carter:“四年周期”和“另类投资季”等概念已经过时,市场挑战加剧
- Michael Saylor 评行情下行:想乘坐火箭,就必须承压
- 数据:Hyperliquid 平台鲸鱼当前持仓 55.92 亿美元,多空持仓比为 0.86
- 观点:加密货币指数 ETF 将引领下一波采用浪潮
- 数据:567.26 枚 BTC 流入 Binance,价值约 5.41 亿美元
- Glassnode:仅约 5%山寨币供应量处于盈利
- 某巨鲸大仓位做空 BTC、XRP 与 ZEC,总价值超 1.9 亿美元
- 布朗大学与埃默里大学合计持有逾 6500 万美元比特币相关资产
- 加密市场维持低位振荡,总市值 24 小时反弹 0.2%
- Arthur Hayes 4 小时前合计出售约 250.4 万美元资产
- 彭博 ETF 分析师:比特币去年超额上涨 122%,今年回归均值属正常走势
- 美国司法部:查获超 1510 万美元被朝鲜黑客盗取的 USDT,5 名协助渗透的人员已认罪
- “原借币做空 ETH 巨鲸”或开始平仓 ETH 多单,已浮亏约 7000 万美元
- 数据:31279.14 枚 SOL 从 Bitgo Custody 转出,价值约 436.88 万美元
- 数据:ETH 当前全网 8 小时平均资金费率为 0.0045%
- 美联储 12 月降息 25 个基点的概率降至 44.4%
- 某鲸鱼向 Binance 存入 3000 枚 ETH,浮亏 692 万美元
- 数据:过去 24 小时全网爆仓 3.36 亿美元,主爆多单
- 前 100%胜率巨鲸对手盘加仓 ETH 空单头寸至 2011 万美元
- 美联储前理事库格勒辞职前曾面临道德操守调查
- 稳定币总市值过去 7 天减少 0.41%,降至 3042 亿美元
- Capybobo 里斯本首秀火爆,PYBOBO 娃衣点燃欧洲潮玩圈
- 某巨鲸加仓 251 枚 BTC,约 2418 万美元
- 某地址花费 552.8 万美元以均价 3141 美元买入 1760 枚 ETH
- 硅谷大佬 Peter Thiel 旗下 Founders Fund 减持 ETHZilla 股票
- SkyBridge 创始人父子领投特朗普家族支持的 American Bitcoin 2.2 亿美元融资
- Coinbase:目前已暂停 AI16Z-PERP 交易
- 数据:过去 24h Binance 净流出 1.75 亿 USDT
- 以太坊财库公司 Intchains Group 以 130 万美元收购 ECHOLINK 旗下 PoS 技术平台
- 特朗普计划就演讲内容被剪辑起诉 BBC,索赔最高 50 亿美元
- 下周宏观展望:停摆后首份非农降临,美联储内战升级
- BiyaPay 分析师:Tether 加速囤金,每周增持超一吨黄金
- 比特币矿企 CleanSpark 斥资 4.6 亿美元回购 3060 万股普通股
- 数据:2000 枚 ETH 从 Chun Wang (F2Pool) 转入 Binance,价值约 630.56 万美元
- Aster:代币经济模型保持不变,未来解锁代币将被转入独立地址
- 数据:755.51 万枚 TRX 从 Binance 转出,价值约 220.61 万美元
- 特朗普家族相关比特币矿企 American Bitcoin 发布 Q3 财报:当季增持约 3000 枚 BTC
- Michael Saylor:Strategy 本周每天都在购买比特币
- Applied Digital 将通过高级担保票据发行募资 23.5 亿美元
- 分析:市场情绪转变或让购买数字资产财库公司股票的散户投资者面临风险
- ETHZilla 发布 Q3 财报:以太坊持仓增至 102273 枚
- 香港证监会宣布行政总裁梁凤仪获再度委任,任期两年
- 麻吉大哥小额加仓以太坊多单仓位至 7745 枚 ETH,清算价 3,047.88 美元
- 比特币市场深度较今年高点下降约 30%,加密市值回吐年内涨幅
- 特朗普发图:歌剧魅影造型男子手持“TRUMP 2028”
- Dephy 和 APRO 合作推出全球首个 AI 驱动预言机系统,重塑智能经济范式
- Binance:至少 240 分的用户可于今日 16 时领取 Alpha 空投
- Honeypot Finance 宣布升级为 Full-Stack Perp DEX,并正式上线订单簿永续
- PayPal 联创 Peter Thiel 减持 Bitmine 一半股份,目前持有约 254.7 万股
比推专栏
更多 >>观点
比推热门文章
- 民调:特朗普经济支持率跌至 33%,反对率升至 67%
- 智能合约之父 Nic Carter:“四年周期”和“另类投资季”等概念已经过时,市场挑战加剧
- Michael Saylor 评行情下行:想乘坐火箭,就必须承压
- 数据:Hyperliquid 平台鲸鱼当前持仓 55.92 亿美元,多空持仓比为 0.86
- 观点:加密货币指数 ETF 将引领下一波采用浪潮
- 数据:567.26 枚 BTC 流入 Binance,价值约 5.41 亿美元
- Glassnode:仅约 5%山寨币供应量处于盈利
- 某巨鲸大仓位做空 BTC、XRP 与 ZEC,总价值超 1.9 亿美元
- 《富爸爸穷爸爸》作者:崩盘时最不该做的事是….
- 布朗大学与埃默里大学合计持有逾 6500 万美元比特币相关资产
比推 APP



