新闻详情

新闻详情

首页 / 资讯中心 / 详情

BNB Smart Chain(bsc)CHANGELOG 深度解读:从 Pasteur 硬分叉到版本升级运维指南

发布时间:2026/9/18 5:42:28来源:尧图网络
BNB Smart Chain(bsc)CHANGELOG 深度解读:从 Pasteur 硬分叉到版本升级运维指南
BNB Smart ChainbscCHANGELOG 深度解读从 Pasteur 硬分叉到版本升级运维指南【免费下载链接】bscA BNB Smart Chain client based on the go-ethereum fork项目地址: https://gitcode.com/GitHub_Trending/bs/bsc导读本文以开源仓库 bsc基于 go-ethereum 的 BNB Smart Chain 客户端根目录的 CHANGELOG.md 为绝对主线系统梳理 v1.0 至 v1.7.6 的版本演进脉络重点展开最新 v1.7.6 Pasteur 硬分叉的共识与出块变更、v1.7.x 升级前的弃用标志检查清单、MEV 出块机制的源码实现以及历史上各 BEP 驱动的关键演进。读者读完本文后将能① 看懂 BSC 版本号语义与硬分叉时间戳配置② 依据 MetaInfo 完成一次安全的主网/测试网节点升级重点处理弃用配置③ 从源码层面理解 Parlia 共识、Fast Finality 投票、Blob 交易与 MEV 出块的实现位置为后续源码研读建立索引。一、版本发布节奏与版本号语义CHANGELOG 从 v1.0.0-beta.0 一路记录到 v1.7.6结合 README.md 的说明bsc 采用三轨发布模型发布类型版本格式用途Stable ReleasevMajor.Minor.Patch生产环境主推版本如 v1.7.5Feature ReleasevMajor.Minor.Patch-feature-FeatureName单特性早期访问如v1.5.19-feature-SIPreview ReleasevMajor.Minor.Patch-alpha/beta/rc前沿体验版本如 v1.6.0-alpha、v1.6.1-beta从 CHANGELOG 可以观察到清晰的节奏规律主版本携带硬分叉v1.7.0 同步 go-ethereum v1.16.7 并带来 Osaka 系列 EIPv1.7.1/v1.7.2 落地 Osaka/Mendel 硬分叉v1.7.6 落地 Pasteur 硬分叉。维护版本修 bugv1.7.3、v1.7.4、v1.7.5 均为 maintenance release其中 v1.7.3 重点修复在线区块修剪block pruning与 kvdb 异常持续增长问题。预览版本标识成熟度v1.6.0-alpha 是上游同步预览版v1.6.1-beta 表示修复了 alpha 若干问题、更可靠。二、v1.7.6Pasteur 硬分叉Chapel 测试网v1.7.6 面向 BSC Chapel 测试网的 Pasteur 硬分叉对应 BEP-673 中定义PasteurTime: newUint64(1784601000), // 2026-07-21 02:30:00 AM UTC注意同一文件中主网PasteurTime仍为nilparams/config.go表示主网尚未排期而OsakaTime/MendelTime主网已配置为17773434002026-04-28Chapel 为17743194002026-03-24对应 CHANGELOG 中 v1.7.2主网与 v1.7.1Chapel的记录。PasteurTime字段在链配置结构体中的定义见 params/config.go并注册进分叉列表osakaTime/mendelTime/pasteurTimeparams/config.go。2.1 共识与系统合约变更v1.7.6 的 Pasteur 相关合并拒绝重复的 bridge validator#3623 相关共识校验在 Pasteur 硬分叉激活后核心虚拟机层拒绝重复的 bridge validator加固跨链桥验证者集合的合法性检查。builder 提议区块 validator 盲签#3691实现见 miner/bid_block.gominer 支持 builder 提议的区块BidBlock由 validator 进行盲签名blind signingprepareBidBlockTask会先复制交易切片再绑定签名避免修改缓存的 BidBlock。系统合约升级#3721、#3727UpgradeBuildInSystemContract的升级管线中新增 Pasteur 分支core/systemcontracts/upgrade.gopasteurUpgrade[network]指向 genesis-contract v1.2.6 的 CommitUrl。硬分叉激活块禁用 BidBlock#3741miner在硬分叉激活块禁用 BidBlock防止激活瞬间的竞态。优化 BidBlock 签名哈希#3742对签名哈希计算进行优化。2.2 配套修复v1.7.6 同时包含一批稳健性修复分布在多个模块模块修复内容eth/handler.go增加 balance 校验#3668eth/protocols/bsc/handler.goGetBlocksByRange响应按块数MaxRequestRangeBlocksCount 64与软响应上限softResponseLimit 8MB双重限流#3671eth/protocols/bsc按投票数量而非包数量对入站投票限流#3672internal/ethapigetProofskeys 数量上限、eth_simulateV1调用次数与 gas cap 修复#3680-#3682core修复 reorg() 错误返回时的txLookupLock互斥锁泄漏#3683、RPC 中禁止状态刷新#3684core/tracing修复 nonce 回滚边界情况#3685eth/filters修复 pending tx 与新头订阅、NewVotes 等的竞态问题及过滤器资源泄漏#3686、#3689、#3692cryptonocgoVerifySignature增加哈希长度校验#3700p2p/discover读错误缓冲区拷贝、超时循环提前退出等修复#3701-#3702、#3710eth/tracers修复 exclude 地址列表、OnSystemCall钩子透传#3703、#3707triedb/pathdb修复零磁盘层 root 的 sentinel 冲突#3706eth/downloader丢弃无效对等节点 修复 deliver index#3708core/state修复 StateDB Reader 错误在 Commit 后被丢弃#3709core/rawdb修复 freezer 错误路径的 fd 泄漏、copyFrom 先 fsync 临时文件再 rename#3711-#3712改进类包括减少一轮中最后一个块的本地出块时间#3669、提取VerifyUnsealedHeader#3694见 consensus/parlia、为 BidBlock 增加验证指标#3736。2.3 清理与重构v1.7.6 移除了大量历史包袱删除 pathdb 的 legacy 字段JournalFilePath#3670、移除可选交易 gas limit cap#3678、移除 BEP-592 非共识区块访问列表#3690、删除 multidb 代码#3716、清理 bep-592 bal key#3720、移除 txpool overflowpool#3722、移除 fake-beacon op-stack shim#3728并将 bid/block mev 信息提取为 builder 子包#3739。三、v1.7.6 升级前的弃用标志检查清单重点v1.7.6 的 MetaInfo 明确要求Mandatory Update Required: Yes面向所有 BSC 测试网用户。升级前必须逐项核对以下 CLI 标志与 TOML 配置确认移除后不影响自身节点再执行二进制替换即可。3.1 CLI 标志Flag变化说明--journalfile弃用无效果需从启动脚本移除#3670源码中 cmd/utils/flags.go 已输出--journalfile is deprecated and has no effect警告对应 legacy 标志定义见 cmd/utils/flags_legacy.go--miner.txgaslimit弃用无效果单交易 gas 上限改由 EIP-7825Transaction Gas Limit Cap强制移除前确认 EIP-7825 行为符合预期#3678--enablebal弃用无效果BEP-592 区块访问列表已删除可安全移除#3690--multidatabase移除单数据库模式是唯一选项需确认数据目录兼容#3716--txpool.overflowpoolslots弃用无效果overflow pool 已移除若依赖过它请复核 txpool 容量设置#3722--fake-beacon/--fake-beacon.addr/--fake-beacon.port移除fake-beacon op-stack shim 已删除#3728回退 #26783.2 配置文件TOML字段字段变化说明[Eth] EnableBAL移除——若保留将导致加载错误升级前必须从 config.toml 删除该字段#3690[TxPool] OverflowPoolSlots弃用——静默忽略可保留但建议删除以保持配置整洁#3722操作建议升级前先用grep -i journalfile\|txgaslimit\|enablebal\|multidatabase\|overflowpool\|fake-beacon config.toml自检配置文件再检查启动脚本中的对应标志确认无误后直接替换二进制无需重启数据目录。四、v1.7.0–v1.7.5Osaka/Mendel 硬分叉与维护期4.1 v1.7.2主网 Osaka/Mendel2026-04-28对应 BEP-658硬分叉时间 2026-04-28 02:30:00 AM UTC与 params/config.go 中主网OsakaTime MendelTime 1777343400一致。本版本包含两项关键修复miner 为 bids 支持 blob sidecar 验证#3597、eth 延迟 p2p 消息解码#3590、core 拒绝 DA 检查中的未来 chasing heads#3601。4.2 v1.7.1Chapel Osaka/Mendel2026-03-24测试网先行落地params/config.go特性包括BEP-655 bid block 大小检查#3529、BEP-652 mev bid gas 检查#3528、禁用 eip-7918#3531、BEP-657 按区块号限制 Blob 交易包含#3533。修复了 super-instruction 系列问题#3582、#3584与 rlp listIterator 解析错误死循环#3586等。4.3 v1.7.0上游代码同步geth v1.16.2 v1.16.7v1.7.0-alpha 为预览版核心价值是同步 go-ethereum v1.16.7带来的 Osaka 系列 EIP 直接解释了后续版本的硬分叉能力EIP-7823MODEXP 设置上限EIP-7825交易 gas limit capv1.7.6 中--miner.txgaslimit弃用的依据EIP-7883ModExp gas 成本上调EIP-7918Blob base fee 由执行成本约束EIP-7934RLP Execution Block Size LimitEIP-7939CLZ 操作码EIP-7951secp256r1 曲线预编译同时引入eth_sendRawTransactionSync同步交易提交、TriePrefetcher 按账户并行预取、基于文件的状态日志state journal等性能与架构优化。4.4 v1.7.3–v1.7.5维护期v1.7.3修复在线区块修剪#3653 修复 freeze header-number shadowing与 kvdb 异常持续增长#3633 将SlowFreezerBatchLimit从 100 提升到 200新特性--history.transactions#3624——归档节点默认禁用交易去索引由该标志指定交易历史范围history.logs默认值设为 576000#3634见 eth/ethconfig/config.go 中LogHistory: 576000。v1.7.4 / v1.7.5维护发布MetaInfo 为 Mandatory Update: No直接二进制替换即可。五、MEV 出块机制从 BEP-652/655 到 Pasteur 盲签CHANGELOG 中反复出现的 “bid / MEV / builder” 是 bsc 近几个版本的核心演进方向源码集中在 miner 与 miner/bid_block.goBidBlock 数据结构#3739 将 bid 与 block mev 信息抽离为 builder 子包core/types/buildersetBidMevInfo依据isBidBlock写入BlockMevInfoVersionBidBlockminer/bid_block.go。投标选择selectBidBlock会比较本地模拟出块奖励与 builder 出价只有 builder 出价高于本地模拟奖励才采纳miner/bid_block.go并配合revokeBidBlockBuilder惩罚无效 builder。Blob 校验v1.7.2 #3597 为 bids 增加 blob sidecar 验证validateBidBlockBlobTxs检查 sidecars 与系统交易起始位置miner/bid_block.go。盲签名v1.7.6 #3691 支持 builder 提议区块由 validator 盲签prepareBidBlockTask在准入阶段先由 validator 通过SetExtraData定稿 Extra再在 Seal 阶段填充miner/bid_block.go。相关演进#3121 模拟前丢弃过期 bids、#3145 为 bids 模拟预取状态、#3204 仅在无错误时重新提交 bids、#3160/#3736 增加 mev/bid 模拟指标、#2971 过晚不中断本地出块。六、快节奏出块BEP-520/524/619与网络层限流BSC 的短区块间隔演进是版本节奏的重要驱动BEP-5201.5sv1.5.9、BEP-5240.75sv1.5.13、BEP-6190.45sv1.6.2。配合极短出块间隔网络层做了大量限流与稳定性改造GetBlocksByRange 响应上限#3671 将每请求块数限制为 64、软响应上限 8MBeth/protocols/bsc/handler.go防止超大响应拖垮磁盘查询与带宽。投票按数量限流#3672 按投票数而非包数计费限流eth/protocols/bsc/handler.go 附近的注释说明了这一设计配套 peer 侧maxKnownVotes/voteBufferSize配置eth/protocols/bsc/peer.go。延迟 p2p 消息解码#3590与 450ms 块时序参数调优#3626都是为了压榨出块节奏的边际性能。七、Fast Finality 与投票机制BSC 的快速最终性BEP-126v1.2.0 引入贯穿多版本v1.2.11 在 ethclient 增加FinalizedHeader/Block接口。v1.2.10 增加 RPCGetFinalizedHeader/Block简化快速最终性使用。v1.6.2 落地 BEP-590扩展投票规则提升稳定性并设置kAncestorGenerationDepth 3。v1.7.6 修复NewVotes/NewFinalizedHeaders订阅竞态#3689。代码层面投票组装与校验集中在 consensus/parlia如assembleVoteAttestation、updateAttestation投票池在 core/votev1.3.3 修复 votepool 停止客户端时的死锁。八、状态存储演进PBSS、Pebble、多数据库到单数据库v1.3.1激活 PBSSpath-based state scheme并配套hbss2pbss转换工具v1.6.1 移除。v1.4.3翻转 hash→path 状态方案Pebble 成为默认 kvdb。v1.4.6/v1.4.16支持区块数据分离数据库multidatabase并在 v1.4.16 修复其问题。v1.5.18-v1.6.x逐步收窄 multidatabase#3208 禁用 multidatabase 的 blockstore。v1.7.6彻底移除 multidb 代码#3716同时移除--multidatabase标志与 pathdb 的JournalFilePathlegacy 字段——单数据库时代正式到来。九、常见升级操作速查MetaInfo 汇总版本强制升级目标用户操作v1.7.6是全部 BSC 测试网用户先核对弃用标志/配置见第三节后替换二进制v1.7.5 / v1.7.4否全部主网/测试网直接替换二进制v1.7.3否全部主网/测试网直接替换二进制从 v1.6.x 升级需确保配置无JournalFileEnabled字段v1.7.2硬分叉版本主网在 2026-04-28 前完成升级v1.7.1硬分叉版本Chapel 测试网在 2026-03-24 前完成升级通用原则硬分叉版本必须在时间戳前完成二进制替换维护版本可直接替换任何跨大版本升级如 v1.6.x → v1.7.x建议先检查配置文件中是否有已移除字段。十、结语与进一步阅读通过 CHANGELOG 可以完整复盘 BSC 客户端从 v1.0 到 v1.7.6 的演进上游 geth 同步v1.5.x/v1.6.x/v1.7.0、EIP/BEP 落地Osaka/Mendel/Pasteur、出块间隔不断压缩1.5s→0.75s→0.45s、MEV 出块从试验到盲签正式化、存储从多数据库回归单数据库。若需深入某一机制可按以下路径继续阅读仓库源码链配置与硬分叉时间查看 params/config.go 与 params/network_params.goParlia 共识查看 consensus/parliaMEV/BidBlock查看 miner/bid_block.go 与 miner/miner_mev.go系统合约升级管线查看 core/systemcontracts/upgrade.goBSC 扩展协议与限流查看 eth/protocols/bsc/handler.go状态存储查看 triedb/pathdb 与 ethdb/pebble【免费下载链接】bscA BNB Smart Chain client based on the go-ethereum fork项目地址: https://gitcode.com/GitHub_Trending/bs/bsc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

汽车嵌入式与传统嵌入式核心差异解析:技术栈、工具链与转行指南 2026/9/18 6:21:32

汽车嵌入式与传统嵌入式核心差异解析:技术栈、工具链与转行指南

周末接了个电话,一个做传统裸机开发的朋友跟我说,他去面一家做车身控制器的 Tier1 岗位,两轮就被刷了。他自己一脸懵:我写过 STM32,玩过 FreeRTOS,甚至自己画过板子,怎么对方问的东西我根本没听…

阅读更多 →
oh-my-openagent 缺陷 6376 修复实战:打包器内联导致的 import.meta.url 路径解析错位与完整 QA 证据链 2026/9/18 6:21:32

oh-my-openagent 缺陷 6376 修复实战:打包器内联导致的 import.meta.url 路径解析错位与完整 QA 证据链

oh-my-openagent 缺陷 #6376 修复实战:打包器内联导致的 import.meta.url 路径解析错位与完整 QA 证据链 【免费下载链接】oh-my-openagent OmO: Just type "mass ulw" keyword with your prompt. Now you are the master of graph engineering. 项目地…

阅读更多 →
Open Headunit FocusCycleLever 焦点循环节奏器:连接焦点如何有序轮转的完整指南 2026/9/18 6:21:32

Open Headunit FocusCycleLever 焦点循环节奏器:连接焦点如何有序轮转的完整指南

Open Headunit FocusCycleLever 焦点循环节奏器:连接焦点如何有序轮转的完整指南 【免费下载链接】open-headunit Headunit App for displaying Android Auto 项目地址: https://gitcode.com/GitHub_Trending/he/open-headunit Open Headunit 是一款把 Andro…

阅读更多 →
Pirate Voice 2026/9/18 6:21:32

Pirate Voice

Pirate Voice 【免费下载链接】agents Build and deploy AI Agents on Cloudflare 项目地址: https://gitcode.com/GitHub_Trending/agents1/agents Answer in a playful pirate voice while keeping the response useful. Style Use light nautical phrasing such a…

阅读更多 →
GyroFlow Windows 启动失败?三档排查把程序修回来 2026/9/18 6:21:32

GyroFlow Windows 启动失败?三档排查把程序修回来

GyroFlow Windows 启动失败?三档排查把程序修回来 【免费下载链接】gyroflow Video stabilization using gyroscope data 项目地址: https://gitcode.com/GitHub_Trending/gy/gyroflow GyroFlow 是一款基于陀螺仪数据做视频防抖的开源工具。本文只解决一个问…

阅读更多 →
STM32智能温控系统:从Proteus仿真到LCD抗干扰实战 2026/9/18 6:18:32

STM32智能温控系统:从Proteus仿真到LCD抗干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞