
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
比推快讯
更多 >>- 近 24 小时 LetsBONK 收入、毕业代币数仍领先 pump.fun
- 数据:过去 24 小时全网爆仓 3.95 亿美元,多单爆仓 2.75 亿美元,空单爆仓 1.2 亿美元
- 特朗普已分四批向 24 个贸易伙伴发出关税函
- 下周宏观展望:CPI 审判日即将到来,比特币或将续创历史新高
- 本周实行比特币财库策略的 35 家公司实体共买入 4700 枚 BTC
- James Wynn 已注销其 X 账户
- “美联储传声筒”:美联储独立性再受挑战,预计本月不会降息
- 内幕交易员@qwatio 从 Maker 赎回 1000 万 USDC,转进 Hyperliquid 再次开空
- 白宫数字资产政策顾问:“加密周”将巩固美国的全球加密货币之都角色
- Tabi 旗下 TabiPay Alpha 测试启动,限量 1,000 名额
- 马耳他资管公司 Samara Asset Group 披露持有 525 枚 BTC,相当于其市值的 28%
- 0xSun 谈 pump.fun 发币参与策略:可根据公售速度制定不同的策略
- 挪威工业投资公司 Aker ASA 通过比特币寻求资本平衡配置,目前持仓达 754 枚
- BlockFi 破产管理人与美国司法部达成和解,驳回 3500 万美元诉讼
- Solana 区块链策略游戏 Honeyland 被 BRAVO READY 收购
- 数据:CoinUp 平台币 CP 现报 0.47 美元,较开盘价涨幅逾 15 倍
- 某地址向 Hyperliquid 存入 135 万 USDC 并做以 2 倍杠杆多 PUMP
- 某鲸鱼/机构归集休眠 2 年钱包,总计积累 51,431 枚 ETH,浮盈超 20 倍
- Sunriselayer:空投申领检查器已上线,申领练习将于北京时间 15 日 8 时结束,主网及 TGE 于 Q3 进行
- 数据:比特币 ETF 产生的需求近两日已达日产量的 20 倍左右
- 疑似质押服务商 Arthapala 过去一小时再次向 CEX 充值 4120 枚 ETH
- Arthur Hayes 过去一天通过多种渠道购买价值 150.5 万美元 ENA
- 继 Coinbase 之后,OpenSea、MoonPay、波卡等项目官方账号头像换为胖企鹅形象
- Aethir:节点许可证转移系统上线,系首个解锁节点二级市场的加密项目
- 某聪明钱加仓 40 倍比特币空单,入场均价达 11.77 万美元
- 美国比特币现货 ETF 首次连续两日净流入超 10 亿美元,该 ETF 推出以来仅 7 次日流入量超 10 亿
- 分析师:历史数据显示 7 月、10 月是比特币表现最稳定的增长月份
- 3A 区块链游戏 Seraph 启动紧急回购应对价格波动,链上地址透明公示
- 恺英网络香港子公司获 SFC 颁发 4 号及 9 号牌照,加速全球化布局
- PUMP 于 Hyperliquid 盘前市场未平仓量已达 1.52 亿美元,资金费率偏空
- Hyperliquid 未平仓合约达 10.6 亿美元,创历史新高
- 多个昨日热门代币出现“钓鱼线”走势,普遍下跌 10%-30%
- 某新建钱包地址买入 11.88 万枚 HYPE,均价 46.27 美元
- Crypto.com 探索在迪拜免税店引入加密货币支付
- 24 小时现货资金流入/流出榜:ETH 净流出 2.53 亿美元,BTC 净流出 2.23 亿美元
- Meta 收购语音初创公司 PlayAI,以增强音频技术
- Letsbonk 创始人:平台网站更新预计下周陆续推出
- 某鲸鱼昨晚 15 倍杠杆做空 ETH,仓位高达 3.7 万枚 ETH,名义价值 1.1 亿美元
- 路华证券拟申请香港虚拟资产交易牌照并引入稳定币支付结算业务
- Bitcoin Treasury Capital:以 500 万瑞典克朗增持 4.4 枚 BTC,当前持仓总量增至 152 枚
- 数据:过去 7 天 USDC 流通量约增加 7 亿枚
- Huma 2.0 存款将于 7 月 13 日开放,单个钱包额度 50 万美元
- RootData:QUAI 将于一周后解锁价值约 184 万美元的代币
- 某 Smart Money 地址清仓 141.7 枚 BTC,持币 1 个月获利 182 万美元
- 男子因 SIM 卡交换盗取 2200 万美元加密货币刑期增加至 12 年
- FTX/Alameda Staking 地址向 Bitgo Custody 转移 18.98 万枚 SOL,价值 3117 万美元
- Binance Alpha 昨日交易量报 4.24 亿美元,BR、KOGE、quq 分列前三
- 华尔街日报:谷歌耗资 24 亿美元获 Windsurf 技术授权并聘用部分员工
- Linea 项目负责人:本月发布的公告将与 TGE 相关
- CoinUp.io 平台币 CP 将于今日 15 点(UTC+8)全面开放交易
比推专栏
更多 >>观点
比推热门文章
- 数据:过去 24 小时全网爆仓 3.95 亿美元,多单爆仓 2.75 亿美元,空单爆仓 1.2 亿美元
- 特朗普已分四批向 24 个贸易伙伴发出关税函
- 下周宏观展望:CPI 审判日即将到来,比特币或将续创历史新高
- 本周实行比特币财库策略的 35 家公司实体共买入 4700 枚 BTC
- James Wynn 已注销其 X 账户
- “美联储传声筒”:美联储独立性再受挑战,预计本月不会降息
- 内幕交易员@qwatio 从 Maker 赎回 1000 万 USDC,转进 Hyperliquid 再次开空
- 白宫数字资产政策顾问:“加密周”将巩固美国的全球加密货币之都角色
- Tabi 旗下 TabiPay Alpha 测试启动,限量 1,000 名额
- 马耳他资管公司 Samara Asset Group 披露持有 525 枚 BTC,相当于其市值的 28%