跳到正文

数据可用性委员会(DAC)风险

一份以验证为先的指南,涵盖 DAC 见证、q-of-n 接受规则、实际数据持有与检索、相关故障域、密钥轮换、保留、回退和退出风险。

更新于

仅供教育用途,不构成投资或安全建议。DAC 证书可能符合合约规则,但数据保管、检索、治理、回退、恢复或退出仍可能失败。

直接答案

数据可用性委员会是一个成员范围有限的集合,其签名或见证可以满足协议对链下数据可用性主张的接受规则。证书只能证明已配置的密钥集和门限按这些规则接受了某个特定的签名对象。它不能独立证明每位签名者都取得了完整字节、保留了耐久副本、当前向用户提供数据、验证了执行,或使结算达到最终性。

安全性与活性并不相同。若合约接受 q-of-n 个签名,控制 q 把有效密钥便可能使一个不可用对象满足该接受规则,除非另有检查阻止。少于 q 名愿意签名且可联络的成员通常无法生成新证书,更新因而停止或改用有文档说明的回退路径。实际恢复还取决于诚实的签名前检查、独立副本、保留期限、服务容量、密钥与治理历史,以及可执行的重建和退出软件。

运作方式

  1. 锁定部署:链、协议模式与版本、结算和可用性验证合约、批次与数据对象、编码、承诺、密钥集、门限 q、成员数 n、强制签名者、启用、到期、撤销及治理权限。
  2. 重建确切的签名主张和接受逻辑。验证域、链与合约绑定、批次标识符、承诺或状态根、到期时间、签名者位图或聚合、重放保护,以及合约实际采用的门限计算。成员标志或 API 响应并不是接受规则。
  3. 要求每位成员在签名前取得完整对象,验证其承诺与编码,进行解码,并保存独立派生状态或用户退出所需的数据。记录成员究竟见证什么,以及协议能否证明这些检查确已进行。
  4. 绘制独立故障域,而不是只数名称。识别法律实体、实益控制方、云账户与区域、DNS 与网络、软件与数据库栈、密钥保管、存储后端、运维及司法管辖区。处于同一控制平面后的镜像或端点并非独立成员。
  5. 测试持有与检索。绕过运营方 API,从多个成员取得近期和历史批次,验证哈希与根,重建状态或提现证明,衡量保留期与出口带宽,并区分证书生成、当前检索、执行有效性、共识最终性和归档耐久性。
  6. 演练生命周期与恢复:成员和密钥轮换、历史密钥集、到期与撤销、低于门限的可用成员、门限密钥失陷、选择性服务、运营方停机、回退为发布完整数据、冻结或逃生模式、强制纳入、独立归档,以及实际退出所需的 Gas 与时间。
  7. 监控已接受证书的签名者位图、证书延迟、检索成功率、字节完整性、存储时长、密钥集与门限变更、升级、暂停和回退容量。归档证书、数据与合约状态;若证书仍被接受但独立检索或恢复已经失效,应停止增加风险敞口。

示例

  • 门限活性与安全性并不相同。 在一个简化的 5-of-7 委员会中,两名成员不可用时仍有 5 名签名者,可以形成新证书;三名成员不可用时仅剩 4 名,因为 4 < 5,除非适用有文档说明的回退机制,否则证书生成会停止。反过来,控制 5 把被接受的密钥可以满足门限规则;证书仍不能证明字节当前可检索或执行有效。
  • 成员独立在线模型。 仅作为 IID 演示模型,假设 7 名成员各自以 0.95 的概率独立可用,证书至少需要 5 名。此时 P(quorum) = sum(C(7,k) * 0.95^k * 0.05^(7-k), k=5..7) = 0.9962429570,模型中的停摆概率为 1 - 0.9962429570 = 0.0037570430。共享云、软件、运营方、法律或密钥依赖会使这一二项分布估计失效。
  • 存储副本与服务能力是两回事。 一个批次大小为 120 MB。七份完整且独立的副本将占用 120 * 7 = 840 MB;如果实际上只有三名成员持久保存,存储字节仅为 120 * 3 = 360 MB,即使有五把密钥签名也是如此。向 100 clients 各提供该对象一次会传输 120 * 100 = 12,000 MB,因此签名数量既不是副本数量,也不是出口容量指标。
  • 重建门限。 一个简化对象含 1,024 records,分成 16 chunks,每块含 64 records,规定的恢复门限为 12 chunks。十一块可呈现 11 * 64 = 704 records,但由于 11 < 12,依照该规则无法重建对象。有效的委员会证书不能替代缺失的数据块,也不能改变恢复门限。

风险

  • 检查了错误的链、合约、部署、批次或协议版本。
  • 重建了错误的签名主张、域、承诺或到期时间。
  • 接受了跨链、合约、版本或历史密钥集的重放。
  • 使用无效、陈旧、过期或已撤销的密钥集。
  • 误读 qn、强制签名者、位图或聚合签名。
  • 签名者或合约验证实现中的漏洞被利用。
  • 尚未取得完整数据、检查完整性并持久保存就签名。
  • 接受不完整、格式错误或编码错误的数据。
  • 因门限密钥失陷或串通而失去安全性。
  • 因可签名成员少于门限而失去活性。
  • 把相关的实体、云、区域或运营方视为彼此独立。
  • 共用 DNS、TLS、软件、数据库或存储控制平面。
  • 遭受日蚀攻击、选择性服务或依赖私有网关。
  • 签名后或退出窗口结束前删除或修剪数据。
  • 成员变动或密钥轮换破坏历史检索。
  • 治理可以替换成员、降低门限或绕过延迟。
  • 引用陈旧、不安全或已重组的结算承诺。
  • 把有效性证明或已最终确认的根视为当前数据可检索。
  • 发现回退、冻结、强制纳入或退出无法执行。
  • 低估存储、出口、恢复、回退、费用和容量成本。

常见误区

  • 委员会成员越多,独立故障域自然越多。
  • q 个签名证明存在 q 份耐久完整副本,且公众可以检索。
  • 有效性证明消除了验证 DAC 数据可用性的必要性。
  • 一份旧的有效证书保证当前可检索并永久归档。
  • 有一名诚实或官方成员,便能保证每位用户始终可以退出。

相关主题

来源

导航

搜索知识库...