- 转发原文标题:对数据可用性的误解:DA=数据发布≠历史数据检索
导语:在区块链领域,数据可用性(DA)这个概念经常被误解。很多人第一反应认为DA就是”能够获取历史数据”,但实际上这是一个普遍存在的认知偏差。近期L2BEAT联合创始人、Danksharding提出者以及Celestia创始人都对此进行了澄清,强调Data Availability本质上是指”数据发布”功能,而非”历史数据可检索”这种涉及数据存储的概念。
举例来说,Dankrad最近在讨论Layer2的强制提款机制时指出,Validium需要获取最新的L2状态来构造Merkle Proof,而Plasma则只需要7天前的数据。这个差异源于两者对合法Stateroot的判定方式不同。通过这个案例,Dankrad清晰地展示了DA与历史数据检索的区别——DA主要关注新发布的数据。
L2BEAT团队进一步强化了数据可用性(DA)与数据存储(DS)的区分。Bartek多次强调,DA和能够查询历史数据是完全不同的概念。用户能够获取L2数据,很大程度上依赖于数据提供节点的善意。为此,L2BEAT计划将”是否有开放的数据存储节点”作为评估Rollup的新指标,与DA分开考量。
以太坊社区和基金会成员的这些讨论表明,他们正在对Layer2相关概念进行系统性梳理,试图给出更精确的定义。目前围绕Rollup和L2的许多术语都缺乏清晰界定,比如”历史数据”的时间范围——有人认为由于智能合约只能调用256个区块内的数据,因此50分钟前的数据就算”历史数据”。
值得注意的是,Celestia和以太坊基金会对”Rollup”的定义也存在差异。本文旨在澄清DA与数据存储的区别,通过追溯DA的起源、解析数据可用性采样技术、分析Rollup的DA实现方式,帮助读者理解数据可用性本质上就是数据发布功能。
DA概念的起源
Celestia创始人Mustafa这样解释”数据可用性”:当区块生产者提出新区块时,如何确保区块中的所有数据都已发布到网络?如果区块生产者不完整发布区块数据,就无法检测区块中是否包含无效交易。
Mustafa指出,以太坊Rollup简单地将L2区块数据发布到以太坊链上,依赖ETH来保证数据可用性。以太坊官网对DA的定义是:”如何验证新区块的数据是否可用?”特别是对于轻客户端来说,DA问题是指在无需下载整个区块的情况下验证区块可用性。
以太坊官网明确区分了数据可用性与可检索性:DA关注的是区块提出时节点下载数据的能力,与尚未达成共识的区块相关;而数据可检索性是指从区块链中检索历史信息的能力。虽然存档可能需要历史数据,但节点验证区块和处理交易时并不需要这些历史数据。
Celestia中国贡献者任泓毅认为,Layer2基于以太坊的安全性和去中心化假设,排序器可以放心地将DA数据发布到以太坊,这些数据会无障碍传播给所有以太坊全节点。由于L2全节点本身运行Geth客户端,属于以太坊全节点的子集,自然能够接收Layer2的DA数据。
EthStorage创始人Qi Zhou博士则将DA定义为:确保用户提交的交易数据不会被扣留。对应的信任模型是只需信任L1协议本身,无需引入额外信任假设。Qi Zhou指出,当前以太坊的DA实现方式是P2P广播协议,每个全节点都会下载并传播新区块,存储Rollup数据。不过以太坊全节点不会永久存储历史数据,在EIP-4844实施后可能会自动删除18天前的数据。目前全球存储完整历史数据的档案节点很少,EthStorage正致力于填补这一空白,帮助Layer2建立专属的永久数据存储节点。
关于DA的早期讨论可以追溯到Vitalik 2017年的推文和github文档。当时他认为,要保证区块链的可扩展性和高效率,就需要提高全节点的硬件配置。但这样会增加运行成本,可能导致区块链中心化。
Vitalik提出可以设计一种方案,解决高性能全节点中心化带来的安全隐患。他计划引入纠删码和数据随机抽样,使低配置的轻节点无需获取完整区块也能确认区块的有效性。这个想法源自比特币白皮书中的概念:轻节点可以不接收完整区块,当区块有问题时,诚实全节点会发出警报。这个思路后来发展为欺诈证明,但仍无法确保诚实全节点总能获得足够数据,也无法判断区块提议者是否扣留了数据。
例如,节点A可能发布欺诈证明,声称从节点B收到了不完整区块。但无法判断这个不完整区块是A伪造的还是B发送的。Vitalik提出可以用数据可用性采样(DAS)解决这个问题,这表明DA本质上与数据发布相关。
Vitalik在《A note on data availability and erasure coding》一文中讨论了这些问题及其解决方案,指出DA证明实质上是对欺诈证明的补充。
数据可用性采样技术
DA概念并不容易解释,Vitalik的github文档前后修改了18次。最后一次更新是在2018年9月25日。就在前一天,Celestia创始人Mustafa与Vitalik联合发表了著名论文《欺诈与数据可用性证明:在不诚实多数情况下最大化轻客户端安全性和扩展区块链》。
有趣的是,这篇论文的第一作者是Mustafa而非Vitalik。文中提出了欺诈证明概念,解释了DAS原理,初步设计了结合DAS、二维纠删码和欺诈证明的混合协议。论文明确指出,DA证明系统是对欺诈证明的必要补充。
从Vitalik的角度看,这套协议的作用可以概括为:假设一条公链有N个高性能共识节点(Validator),虽然TPS高,但节点数量少,中心化程度高,串谋风险大。但只要至少1/N的Validator是诚实的,能够检测无效区块并在必要时广播欺诈证明,轻节点或诚实Validator就能发现安全问题,通过惩罚恶意节点或社会共识分叉使网络恢复正常。
但如前所述,如果诚实全节点收到不完整区块并发布欺诈证明,很难判断是区块提议者未发布完整数据,还是其他节点扣留了数据,或者是发布证明的节点自导自演。此外,如果多数节点串谋,1/N的诚实Validator可能被孤立,无法获取新区块,形成数据扣留攻击。此时诚实节点难以区分是网络问题还是多数节点串谋。
因此需要一种方法,确保诚实Validator极大概率能获取验证区块所需数据,并能识别数据扣留攻击的来源。这种安全模型比普通PoS链的”诚实多数假设”提供更多保障,数据可用性抽样(DAS)就是具体实现方式。
假设网络中有大量轻节点(如10N个),每个都连接多个Validator。这些轻节点会向Validator发起多次数据抽样请求,每次只请求区块的一小部分数据(如1%)。然后将获取的数据片段传播给缺少这些数据的Validator。只要轻节点足够多且抽样足够频繁,即使部分请求被拒绝,也能确保所有Validator最终获得验证区块所需的足够数据,从而抵消非提议者节点的数据扣留影响。
(图源:W3 Hitchhiker)
如果多数Validator串谋拒绝轻节点请求,人们很容易发现链出问题(因为网络问题不会导致大规模请求失败)。因此该方案能极大概率检测多数串谋行为,虽然这种情况本身就很少发生。
这样就能解决非提议者的不确定性因素。如果区块提议者扣留数据(比如使用二维纠删码时,区块包含2k×2k个片段,还原原始数据至少需要约k×k个片段,占1/4。提议者要让其他人无法还原数据,至少需要扣留(k+1)×(k+1)个片段),最终会被诚实Validator检测到并广播欺诈证明。
据Vitalik和Mustafa表示,他们整合了已有的想法并进行了创新。从构思出发点和实现方式看,”数据可用性”关注的是验证最新区块所需的数据是否被完整发布并被验证者接收,这与”历史数据可检索性”有本质区别。
以太坊Rollup的DA实现方式
理解了上述内容后,再看以太坊Rollup的DA实现就清晰多了:Rollup中的区块提议者是排序器(Sequencer),它定期在以太坊上发布验证Layer2状态转换所需的数据。具体来说,就是向指定合约发起交易,在自定义参数中嵌入DA数据,最终记录到以太坊区块中。由于以太坊的去中心化特性,可以确信排序器提交的数据会被”验证者”接收。不同Rollup网络中”验证者”的角色各不相同。
(Arbitrum排序器向以太坊合约提交的交易批次,合约本身不验证数据,只触发事件通知L2全节点)
具体而言,ZK Rollup使用以太坊上的验证者合约作为”验证者”。ZKR最少只需发布状态变化(State Diff)和有效性证明(Validity Proof),验证者合约会检查有效性证明是否与状态变化匹配。验证通过后,排序器发布的L2区块就被视为有效。
(来源:前Polygon Hermez白皮书)
乐观Rollup需要在以太坊上发布更多数据,因为它依赖L2全节点下载数据并验证区块有效性。因此至少需要披露每笔L2交易的数字签名(通常使用聚合签名)、合约调用的输入参数、转账地址和防重放攻击的Nonce值等。虽然比完整交易数据有所精简,但仍比ZK Rollup更臃肿。
相比ZK Rollup,乐观Rollup的DA成本更高。ZKR只需披露交易执行后的最终状态变化和简洁的有效性证明,而OPR需要让所有交易在其他全节点上重新执行。W3hitchhiker曾估算,在不考虑EIP-4844和blob的情况下,ZKR的扩容效果可达OPR的数倍。如果考虑ERC-4337智能钱包(用生物特征替代私钥签名),ZKR的优势会更明显,因为它不需要将生物特征数据发布到以太坊,而OPR需要。
至于Validium和Plasma/Optimium,它们使用以太坊链下的DA层实现数据可用性。例如采用有效性证明的ImmutableX建立了数据可用性委员会(DAC)专门发布DA数据;Metis使用Memlabs;Rooch和Manta则采用Celestia。目前来看,凭借DAS和欺诈证明系统,Celestia是以太坊之外最可信的DA层项目之一。
<img src="https://s3.ap-northeast-1.amazonaws.com/gimg.gateimg.com/learn/
声明:文章不代表CHAINTT观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险 自担!转载请注明出处:https://www.chaintt.cn/11914.html