完整案例:协议升级
本受控试点集成说明 Luvion 如何保护一次代理合约升级。当前本地实现已包含规范化升级对象、 职责分离审批状态机、受认证 HTTP API、Luvion 授权证书、Lit/PKP 门控授权契约、持久 sidecar、 证据导出和本地 UUPS 执行门测试。
协议升级专用 Lit Action 已完成真实 Chipotle 授权执行。8 月 9–10 日记录覆盖旧版不可变 PKP Gate 和 BSC 测试代理的精确排程/执行及独立取消流程,使用内部 1-of-1 沙盒授权证书,不代表下述示意 3-of-5 设计已端到端部署。新 signer epoch / PKP 轮换 Gate 已有本地测试;本次核对记录中,该版本的公共测试网部署和轮换验证仍待完成。
Lit 验证后,HTTP API 进入 gate_authorized。调用者随后只能提供交易哈希;固定配置的观察器会
独立核验链、Gate 运行时代码哈希、成功回执、精确事件、区块时间、确认数和操作绑定,才会记录
scheduled、executed 或 cancelled。服务也可以使用私有持久区块游标,从固定 Gate 自动发现
已确认事件。只有当范围内所有匹配事件通过完整回执核验且状态转换完成持久化后,扫描游标才会推进。
旧 Gate 的 BSC 测试网记录已包含主 RPC 故障回退和强制终止后的进程恢复;整机运维演练和合作方验收仍待完成。不同版本及环境的边界参见当前实现状态。
场景
以下是合作方验收的示意设计,不是已部署主网集成的报告;所有地址均为占位符。
某协议准备把 eip155:1 上的代理 0xProxy 升级到已审核实现 0xImplementationV2。操作必须使用 upgrade-mainnet-v3 策略,获得一次协议审批、一次安全审批和 3-of-5 授权,才能由时间锁执行。
1. 构造规范意图
适配器绑定:
- 链和代理合约地址;
- 新实现地址;
- 完整调用数据及其哈希;
- 代码哈希或已审核构建标识;
- 策略版本和审批上下文哈希;
- 时间锁延迟和授权有效期;
- nonce、请求 ID、参与者集合和密钥时期。
修改实现地址、初始化参数、调用数据、链或策略都会产生不同摘要,并使此前审批失效。
2. 评估策略
策略检查允许升级的代理、实现地址或代码哈希、角色分离要求、维护窗口、时间锁延迟,以及外部风险或审查证据。任何缺失、篡改、过期或冲突数据都会失败关闭。
3. 收集审批和授权
合格的协议与安全审查人批准同一摘要。角色门限满足后,分布式签名参与者验证请求并生成绑定意图的授权证书。协调者单独无法创建有效证书。
4. 在执行边界强制检查
已验收执行模块必须核验授权及精确调用。受控 UUPS Gate 路径使用 Lit/PKP 门控授权;Safe 模块、通用时间锁验证器和其他管理适配器,在完成实现与验收前仍属于具体集成的参考设计。
完整保护会把所有代理管理员路径纳入同一验证边界,包括旧 Owner 和紧急密钥路径。
5. 执行并保留证据
适配器使用稳定请求 ID 提交或对账操作。最终证据包绑定策略决定、审批、授权证书、时间锁交易、链上回执、实现地址、代码哈希和见证回执。
受控试点可以在门控授权后导出证据。只有观察器核验匹配且已确认的交易后才记录链上状态, 否则报告会明确说明尚无链上排程或执行。
验收测试
| 测试 | 预期结果 |
|---|---|
| 与审查结果完全一致的升级 | 授权并在时间锁后执行 |
| 修改实现地址或初始化参数 | 执行前拒绝 |
| 缺少安全审批 | 无法生成授权 |
| 重复使用授权证书 | 作为已消费或重放而拒绝 |
| 超出有效期 | 拒绝并记录为过期 |
| 协调者重启 | 同一请求继续,不混合不同会话记录 |
| 执行响应丢失 | 按请求 ID 对账,不盲目重提 |
| 旧 Owner 可直接执行 | 不可绕过性验收失败 |
相同授权原则可用于设计签名人轮换、增发/销毁、跨链桥管理和紧急控制。但每项扩展仍需独立威胁模型、策略、适配器实现和执行边界验收;仅替换操作标识不等于完成新集成。