Protocol Upgrade Compatibility Review: Binance staked ETH

本文为原文前 6,000 字符的节选翻译,完整内容请查看原文。

Protocol Upgrade Compatibility Review: Binance staked ETH

Target Protocol: Binance staked ETH (TVL: $8731.9M) Protocol Upgrade Compatibility Review – Binance Staked ETH (BETH) TVL: ≈ $8.73 B (Ethereum + L2) Prepared by: [Your Firm] – Senior DeFi Security Research & Auditing Team Date: 24 Oct 2026

1. Executive Summary Binance Staked ETH (BETH) is the liquid‑staking token issued by Binance for ETH that has been deposited into the Ethereum consensus layer via Binance’s validator infrastructure. The protocol consists of three on‑chain components:

  • BETH Token (ERC‑20): Mint/burn representation of staked ETH
  • Staking Manager (proxy): Coordinates validator deposits, reward distribution, and withdrawal requests
  • Upgrade Controller (Timelock + Multisig): Governs upgrades to the proxy implementation and critical parameters

协议升级兼容性审查:Binance 质押 ETH 目标协议:Binance 质押 ETH (TVL: $8731.9M) 协议升级兼容性审查 – Binance 质押 ETH (BETH) TVL: ≈ $87.3 亿美元 (以太坊 + L2) 编制:[您的公司] – 高级 DeFi 安全研究与审计团队 日期:2026 年 10 月 24 日

  1. 执行摘要 Binance 质押 ETH (BETH) 是币安为存入以太坊共识层(通过币安验证器基础设施)的 ETH 所发行的流动性质押代币。该协议由三个链上组件组成:
  • BETH 代币 (ERC‑20):质押 ETH 的铸造/销毁凭证
  • 质押管理器 (代理):协调验证器存款、奖励分配和提款请求
  • 升级控制器 (时间锁 + 多签):管理代理实现和关键参数的升级

The upgrade compatibility review focuses on the ability to safely upgrade the implementation contracts while preserving:

  • Asset integrity (no loss of the underlying 8.7 B USD of ETH)
  • Token accounting (1‑to‑1 peg between BETH and staked ETH)
  • Cross‑chain bridges (Ethereum ↔ BSC ↔ L2 rollups)
  • Governance continuity (no lock‑out of the Binance‑controlled multisig)

升级兼容性审查重点在于能否在安全升级实现合约的同时,确保以下方面:

  • 资产完整性(底层 87 亿美元的 ETH 不会损失)
  • 代币核算(BETH 与质押 ETH 之间保持 1:1 挂钩)
  • 跨链桥(以太坊 ↔ BSC ↔ L2 Rollups)
  • 治理连续性(币安控制的多签不会被锁定)

Overall, the architecture follows a standard Transparent Proxy pattern (EIP‑1967) with a 2‑step upgrade process (proposal → timelocked execution). The design is sound, but several compatibility‑related attack vectors arise from the interaction of the proxy with external bridge contracts, the handling of “withdrawal requests” that are fulfilled off‑chain, and the reliance on a single‑owner multisig for upgrade execution.

总体而言,该架构遵循标准的透明代理模式 (EIP‑1967),并采用两步升级流程(提案 → 时间锁执行)。设计是合理的,但由于代理与外部桥接合约的交互、链下完成的“提款请求”处理,以及升级执行依赖于单一所有者多签,从而产生了一些与兼容性相关的攻击向量。

Risk Score: 4 / 10 (Medium‑Low) – The protocol’s upgrade path is functional, but the identified vectors could lead to asset freeze, peg deviation, or loss of funds if exploited during a malicious or faulty upgrade. Mitigations are straightforward and cost‑effective.

风险评分:4 / 10(中低)– 协议的升级路径功能正常,但如果恶意或错误的升级利用了已识别的向量,可能导致资产冻结、挂钩偏离或资金损失。缓解措施简单且具有成本效益。

2. Identified Attack Vectors

  1. Proxy Storage Collision: The new implementation may introduce new state variables that overlap with existing storage slots.

  2. Upgrade Re‑entrancy via initialize(): An attacker could re‑enter the proxy during initialization to mint BETH.

  3. Timelock Bypass / Governance Takeover: If the multisig’s private key is compromised, an attacker can schedule and execute a malicious upgrade instantly.

  4. Bridge Compatibility Breakage: An upgrade that changes the ERC‑20 interface without updating the bridge can cause out‑of‑sync balances.

  5. Withdrawal Request State Desynchronisation: A faulty upgrade could reset or truncate the requestId mapping.

  6. 已识别的攻击向量

  7. 代理存储冲突:新的实现可能会引入与现有存储槽重叠的新状态变量。

  8. 通过 initialize() 进行升级重入:攻击者可能在初始化期间重入代理以铸造 BETH。

  9. 时间锁绕过 / 治理接管:如果多签私钥被泄露,攻击者可以立即安排并执行恶意升级。

  10. 桥接兼容性破坏:在不更新桥接的情况下更改 ERC‑20 接口的升级可能导致余额不同步。

  11. 提款请求状态不同步:错误的升级可能会重置或截断 requestId 映射。

3. Prioritized Technical Recommendations

  • Critical: Enforce a strict storage layout audit for every upgrade – use EIP‑1822 (UUPS) or EIP‑1967 slot verification tools and maintain a storage‑layout changelog.
  • Critical: Add a reinitializer(uint8 version) pattern to any new initialize function and lock the initializer after first use.
  1. 优先技术建议
  • 关键:对每次升级强制执行严格的存储布局审计 – 使用 EIP‑1822 (UUPS) 或 EIP‑1967 插槽验证工具,并维护存储布局变更日志。
  • 关键:在任何新的 initialize 函数中添加 reinitializer(uint8 version) 模式,并在首次使用后锁定初始化器。