结论先说
数据可用性(Data Availability,DA)回答一个朴素问题:区块里的所有数据,真的都能被任何人拿到吗?数据可用性采样(DAS)则是一种工程解法:节点不用下载全部数据,只需随机抽查一小部分,就能以高置信度判断”数据是全的”。没有 DA 保障,分片链和”数据外置”的 L2 都会留下一个致命漏洞——作恶方把部分数据藏起来,等发现时已经为时已晚。
“数据被隐藏”是一种攻击
设想一个分片场景:恶意出块者只广播区块头和一半数据,声称”另一半已发布”。没下载全的验证者无法发现异常,就会照常投票确认;等到少数人意识到数据缺失,作恶者可以拒绝补齐,依赖这份数据的应用(比如某个分片上的 L2)就失去了重建状态的能力。这种攻击叫数据可用性攻击,它的危险在于”事后才被发现”——区块已经最终化,损失无法回滚。所以”数据可得性”必须像交易有效性一样,在确认之前就被验证。
为什么随机抽查管用
直觉上,抽查一条数据发现不了大规模藏匿;但概率站在抽查方这边:如果作恶方藏掉了 1/k 的数据,每个随机抽查点命中的概率就是 1/k,抽查 s 个点全部躲过的概率是 (1-1/k)^s,随 s 增长指数下降。比如藏掉 1% 的数据,随机查 300 个独立点还全部躲过的概率极低。这要求三件事:抽查点必须真正随机(防作弊方预判)、抽查要分布在不同节点之间(单个节点查得少)、“数据缺失”要能被抽查方本地识别(不能只问’你在吗’)。
密码学承诺:让缺失变得可见
光靠”节点说没有”不够可靠。以太坊的做法是 KZG 承诺:数据以多项式形式被承诺成一个极短的证明对象(commitment),写入区块头;数据本身再编码成分块(blob)。多项式有个数学性质:一个低次多项式被少数点完全确定——抽查几个点即可验证它们与承诺一致;如果作恶方在承诺时只承诺了一部分数据,任何与承诺不符的点都会立刻暴露。承诺进区块头意味着全网对”应该有什么数据”有共同参照,抽查点不一致就是证据。EIP-4844 引入 blob 数据空间时已经部署了这套机制的早期形态。
对分片和 L2 的两层意义
对分片:验证者只深度跟踪部分分片,DAS 让”没跟的分片”也有全局数据监督能力,是分片安全模型能成立的前提。对 L2:Rollup 只需要把交易数据”可用地”发布,不要求全网为它长期存储执行状态;DA 越便宜越可靠,L2 成本越低、“可提现”的兜底越硬。独立 DA 层(如 Celestia)把这件事产品化,向任意链出售”可验证的数据发布”服务,是模块化区块链里专门做 DA 的一环。
使用时要注意什么
对研究者:DA 方案的安全参数(抽查数量、承诺方案、节点分布)是协议细节,比较不同链时应看其 DA 层是”以太坊原生 blob”、“独立 DA 链”还是”私有数据提交”,三者信任假设差异很大——这也对应 L2 分类里 Rollup 与 Validium 的分界。对用户:DA 风险通常不直接影响日常转账,但它决定了极端情况下”能不能把钱取回”,是评估一条 L2 长期可靠性的基础项之一。本文不引用具体安全参数数值,请以各协议文档最新版本为准。
小结
DAS 的核心逻辑是”随机性 + 密码学承诺 + 分布式抽查”:把’数据是否齐全’这个全局问题,转化为每个节点本地可验证的小问题。它是分片、模块化 DA 层和 Rollup 成本曲线背后共同的密码学地基。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。