跳到正文

数据可用性

一份以验证为先的指南,涵盖数据发布、可检索性、承诺、有效性、最终性、采样、保留、归档、Rollup 状态派生与可执行恢复。

更新于

仅供教育用途,不构成投资或安全建议。数据可用性取决于协议参数、网络、软件、运营方、归档与恢复路径,而这些因素都可能失效或变更。

直接答案

数据可用性是指:协议规定的足量数据在要求的时间窗口内发布,并可由预期参与者取得,以便验证、派生或重建相关状态。所需对象可能是交易输入、状态差异、编码分片或其他明确定义的批次格式;网站、RPC 端点或项目 API 在线,并不等同于数据可用。

必须把四类主张分开。可用性关注数据是否及时发布给协议的使用者;可检索性关注特定一方能否在当前或日后取回字节;有效性关注状态转换是否符合规则或证明约束;最终性关注共识是否仍能通过正常协议流程替换该承诺。具有约束力的承诺、KZG 证明、有效性证明或已最终确认的纳入,本身都不能同时证明这四项;短期可用也不等于永久归档。

运作方式

  1. 先定义主张,再进行衡量:明确具体批次、Blob、命名空间或编码数据对象;协议及版本;预期使用者;所需的派生、验证或退出任务;以及可用、挑战与恢复窗口。“完整数据”是指按该协议足以完成任务的数据,而不是未经定义的每笔交易副本。
  2. 锁定发布路径和证据:结算链、专用 DA 链、calldata、Blob sidecar、外部承诺或委员会证书;区块、时隙与批次标识符;编码与压缩方式;承诺;以及实际使用该承诺的合约或跨链桥。发布在某处,并不能证明另一个验证者会检查它。
  3. 独立测试绑定关系与重建能力。绕过项目 API 获取字节,验证其哈希、KZG 或其他承诺及纳入引用,检查成帧与纠删编码,解码批次,并复现状态派生所需的输入。只有有效承诺而没有字节,不算成功重建。
  4. 梳理接受模型。记录完整节点是否下载对象、轻节点是否采样经认证的分片、验证者是否负有保管义务,或数据可用性委员会是否签署门限证书。说明采样、纠删编码、对等节点独立性、门限、质押、密钥和日蚀攻击假设,以及结算合约或跨链桥实际验证的内容。
  5. 分别跟踪不同状态与时钟:已提交、已纳入、在协议窗口内可用、独立客户端可检索、已解码或派生、执行有效、安全、已最终确认和已归档。有效性证明可以确认受约束的计算,但独立派生或运行所需的数据仍可能不可用。
  6. 衡量保留、引导同步与经济性。记录协议最低服务期、修剪行为、归档与快照提供方、新节点要求、原始及编码字节、开销、单位价格、证明及交易成本、容量上限、补贴与回退成本。临时 DA 到期后,长期检索还依赖额外设施。
  7. 演练故障。测试数据扣留、选择性服务、样本相关或受日蚀攻击、委员会失效、DA 停摆或分叉、结算重组、帧缺失、归档丢失、排序器审查和费用飙升。使用实际软件、数据和 Gas 验证安全停机、强制纳入、重试、回退、重建与退出,并保留承诺、收据及独立归档证据。

示例

  • 正确的数据成本单位。 一个批次含 400,000 bytes,覆盖 2,000 transactions,单位成本为 $0.00002 per byte。DA 数据费为 400,000 * $0.00002 = $8 per batch,即 $8 / 2,000 = $0.004 per transaction。若单位价格上涨十倍至 $0.00020 per byte,成本变为 $80 per batch$0.040 per transaction,而不是 $0.04 per batch。这些数字不含执行、证明、交易开销、归档和安全余量。
  • 协议服务窗口不等于归档承诺。 EIP-4844 的最低请求窗口为 4,096 epochs;按 32 slots per epoch12 seconds per slot 计算,即 4,096 * 32 * 12 = 1,572,864 seconds,或 1,572,864 / 86,400 = 18.2044444444 days。这是该模型中的协议下限,并不保证某个提供方会永久保存特定 Blob。
  • 简化的采样概率。 仅在一个演示模型中,假设攻击者扣留均匀抽取的扩展分片中的 50%,并进行 30 次相互独立、有放回的认证采样。所有样本都未触及扣留区域的概率为 0.5^30 = 0.0000000009313225746,因此发现概率为 99.9999999069%。这不是 PeerDAS 或其他网络的实际服务保证;对等节点相关性、采样偏差、编码参数和自适应攻击都会改变结果。
  • 委员会门限不等于当前可检索。 假设 DA 委员会要求 5-of-7 签名。若三名成员不可用,只剩 4 名,便无法生成新的门限证书。一份带有 5 signatures 的旧证书只能证明当时有足够成员按规则签署;它不能证明某位用户现在可取回字节、执行有效或结算已最终确认。

风险

  • 检查了错误的链、批次、Blob、命名空间或协议版本。
  • 把承诺或证书误当成底层字节。
  • 把从单一端点成功取回数据视为全协议可用。
  • 把数据可用性视为执行有效性的证明。
  • 把可用性或有效性视为共识最终性。
  • 引用了陈旧、不安全或已被重组的结算区块。
  • 尚未获取数据,协议保留窗口就已结束。
  • 依赖单一归档、快照、索引器或项目 API。
  • 接受了格式、压缩或纠删编码错误的数据。
  • 未验证哈希、KZG 或其他承诺。
  • 对既定威胁模型采样过少。
  • 实际样本、对等节点或保管组相关,却假设彼此独立。
  • 遭遇日蚀攻击、有偏的对等节点选择或选择性服务。
  • 使用与验证者不一致的纠删参数或重建门限。
  • 依赖相互勾结或不可用的数据可用性委员会。
  • 跨链桥或结算合约接受的对象弱于用户预期。
  • 因排序器扣留、审查或批次帧缺失而丢失数据。
  • 遭遇 DA 停摆、分叉、重组或不兼容的客户端升级。
  • 发现强制纳入、回退、恢复或退出实际上无法执行。
  • 低估容量限制、费用飙升、开销、归档成本或补贴到期的影响。

常见误区

  • 有效性证明消除了数据可用性的必要性。
  • 承诺或 KZG 证明可以证明完整字节曾可供取得。
  • 已最终确认的纳入意味着数据会永久可检索。
  • 链上、Blob、专用 DA 或采样等标签自然提供相同的安全性。
  • 单凭更多样本或更低成本,就能证明某种 DA 设计更优。

相关主题

来源

导航

搜索知识库...