DA=数据发布≠历史数据检索

中级2/28/2024, 10:05:58 AM
本文着重探讨到底什么是数据可用性。
  • 转发原文标题:对数据可用性的误解:DA=数据发布≠历史数据检索

导语:到底什么是数据可用性?可能绝大多数人第一印象是“可以获取某个时刻的历史数据”,但这其实是对DA概念最大的误解。近期L2BEAT联创与Danksharding提出者、Celestia创始人都对这一误区做出了澄清,他们指出,Data Avalibity实际上应该指“数据发布”,但大多数人把DA理解成了“历史数据可检索”,而后者实际上涉及到数据存储问题。


比如,前一阵子Dankrad曾提到了Layer2的强制提款/逃生舱机制,他指出,Validium的强制提款需要获取最新的L2状态来构造Merkle Proof,但Plasma只需要7天以前的(这和两者的合法Stateroot判定方式有关)。

借此,Dankrad明确指出,Validium需要DA保障用户资金安全,而Plasma不需要。在此处,Dankrad用案例指出了DA和历史数据可检索的不同之处,即DA往往只涉及新发布的数据。


在L2BEAT那里,数据可用性DA与数据存储DS的区别被进一步加强。L2BEAT的Bartek多次强调,DA和数据存储/历史数据可查是两码事,而用户能够获取到自己需要的L2数据,只是因为那些提供数据的节点“对你足够好”。此外,L2BEAT还计划把“是否有权限开放的数据存储节点”当做DA之外的一个测评Rollup的新指标。



以太坊社区/以太坊基金会成员的上述言辞,表明了他们要在未来对Layer2相关概念进行规范化的梳理,并对Layer2本身进行更详实的定义。因为围绕着Rollup和L2的很多名词其实都没有被很好的解释清楚,比如多久前的数据算“历史数据”——有人认为,因为智能合约只能调用256个block内的过往区块数据,所以256个区块(50min)前的数据都算“历史数据”。

而Celestia和以太坊基金会口中的“Rollup”,严格来说都是两种东西。本文旨在澄清DA概念和数据存储的区别,从DA的来源、数据可用性采样、Rollup的DA实现方式,来为大家解释到底什么才是数据可用性——数据发布。

DA概念的来源

关于“数据可用性”问题到底指什么,Celestia创始人Mustafa如此解释:DA就是,当区块生成者提出新block时,如何确保区块里的所有数据都发布到了网络中?如果区块生成者不Release区块中的所有数据,就无法检测区块里是否包含错误交易。

Mustafa还指出,以太坊Rollup简单地将L2区块数据发布到以太坊链上,并依赖ETH来保障数据可用性。

而在以太坊官网,有关于DA的如下概括:可以把数据可用性难题概括为一个问题:“我们如何验证一个新区块的数据是否可用?”……对于轻客户端来说,数据可用性问题是指在无需下载整个区块的情况下,验证区块的可用性。

以太坊官网还明确区分了数据可用性与可检索性的区别:数据可用性是指区块被提出时,节点下载区块数据的能力。换句话说,数据可用性与区块尚未达成共识时相关……数据可检索性是指节点从区块链中检索历史信息的能力……虽然存档可能需要区块链历史数据,但节点无需使用历史数据就可以验证区块并处理交易。

在Celestia中国贡献者——W3Hitchhiker合伙人任泓毅看来,Layer2事先假设Ethereum足够安全和去中心化,排序器可以放心大胆的把DA数据发到以太坊,这些数据会无阻碍的传播给所有以太坊全节点。而L2全节点本身就要运行Geth客户端,算是以太坊全节点的子集,所以可以接收到Layer2的DA数据。

而在EthStorage的创始人Qi Zhou博士眼里,DA的定义是没有人可以把用户提交到网络里的交易数据扣留住。对应的信任模型是,我们只需要信任L1的协议本身,不需要再引入其他信任假设。

Qi Zhou指出,现在以太坊的DA实现方式其实就是P2P广播(gossip流言协议),每个全节点都会下载并传播新block,并存储Rollup的数据。当然,以太坊全节点并不会永久存储历史区块,在4844上线后可能会自动删除一段时间前的数据(貌似是18天)。存放全部历史数据的档案节点,现在全世界也没有多少,EthStorage则打算填补以太坊体系的这一空白,并助力Layer2设置自己专属的数据永存节点。

而以太坊基金会关于数据可用性Data availability的早期讨论,可见于Vitalik在2017年的推文与github文档。当时他认为,如果要保证区块链可拓展/高效率,就要抬高全节点的硬件配置(全节点就是下载完整block并验证其有效性的节点,做共识的Validator是全节点的子集)。但如果提高全节点硬件配置,就会提升运行成本,导致区块链变得中心化。

关于这一点,Vitalik说,可以设计一种方案,解决高性能全节点趋于中心化带来的安全隐患。他打算引入纠删码和数据随机抽样来设计一套协议,使得低配硬件的轻节点即便不获知完整的block,也可以得知block没有问题。

他最开始的想法其实和比特币白皮书里提到的idea有关。这个idea说,轻节点可以不接收完整block,而当block有问题时,诚实全节点会发出“警报”,通知轻节点。这个思路可以引申到后来的欺诈证明,但不能保证诚实全节点始终可以获得足够数据,也无法事后判断区块提议者是否扣留了某些数据没发布。

比如,某个节点A可以发布欺诈证明,声称从节点B那收到了不完整的block。但此时无法判断,这个不完整的block是A自己伪造的,还是B发出去的。Vitalik指出可以用数据可用性采样DAS解决这个问题(显然数据可用性实质涉及数据发布问题)。

Vitalik在”A note on data availability and erasure coding”一文中对这些问题及其解决方案进行了粗略讨论。他指出,DA证明实质是对欺诈证明的一种“补完”。

数据可用性采样

但显然,DA概念不是那么好解释的,因为Vitalik的这篇github文档前前后后进行了18次更正。记录显示,最后一次更正提交于2018.9.25。而就在前一天的2018.9.24,Celestia创始人Mustafa与Vitalik联名发表了日后声名大噪的论文——Fraud and Data Availability Proofs: Maximising Light Client Security and Scaling Blockchains with Dishonest Majorities.

有趣的是,这篇论文第一作者是Mustafa而不是Vitalik(另一名作者现在是Sui公链的研究员)。文中提到了欺诈证明Fraud Proof的概念,并解释了数据可用性采样DAS的原理,粗略设计了一套DAS +二维纠删码+欺诈证明的混搭协议。论文中则明确提到,DA证明系统实质是欺诈证明之上的必要补充。

如果我们从Vitalik的视角出发的话,这套协议的作用可以概括如下:

假设一条公链有N个高配硬件的共识节点Validator,它们的数据吞吐量很大,效率很高。这样的区块链虽然TPS高,但共识节点数量N比较少,是比较中心化的,节点串谋概率高。

但是,N个共识节点中起码会有1个是诚实的。只要至少1/N的Validator诚实,检查出block无效,并愿意在必要时刻广播欺诈证明,轻节点或诚实Validator都能知道网络出现了安全问题,并可以通过Slash恶意节点、社会共识分叉等方式让网络恢复正常。

可是,就像之前Vitalik提到的,如果诚实全节点接收到一个block且发现它缺乏某些部分,并发布欺诈证明,此时不好判断出是block提议者没发布这部分数据,还是中途被其他节点扣留了,亦或是发布欺诈证明的节点自导自演。

此外,如果多数节点串谋,1/N的诚实Validator被孤立,可能无法获取新的block,这算是一种数据扣留攻击场景。需要注意的是,此时诚实节点不知道是网络状况不好,还是其他人串谋搞数据扣留,他也不知道其他节点是否也被孤立,不好判断多数人是否已经串谋搞数据扣留。

综上,要有一种办法,以极高概率保证诚实Validator能获取到验证block所需的数据;同时,要能判断出是谁在搞数据扣留攻击——是block提议者没发布足量数据,还是说被其他节点扣留了,亦或是多数节点在搞串谋。显然,这种安全模型比普通POS链的“诚实多数假设”多了很多保障,而数据可用性抽样DAS就是具体的实现方式。

我们现在假设,网络中轻节点很多,可能是10 N,每个轻节点都连接了多个Validator(为了方便分析,假设每个轻节点都连接了全部N个Validator)。这些轻节点会向Validator多次发动数据抽样,每次随机请求一小部分数据(假设只占一个block的1%)。随后,它们会把抽到的碎片传播给没有这些数据的Validator。只要轻节点足够多,且数据抽样次数足够频繁,即便某些请求可能被拒绝,但只要大部分被响应,就可以保证所有Validator最终都能获取到验证block所需的足量数据。这样可以抵消掉Block提议者以外的其他节点扣留数据的影响。

(图源:W3 Hitchhiker)

而如果多数Validator搞串谋,拒绝响应大多数轻节点的请求,此时人们很容易意识到链出了问题(因为就算一部分人的网速不好,也不至于差到大部分轻节点的请求都被拒绝)。所以前述方案可以极高概率判断出多数串谋行为,当然这种情况本身极少发生。

到了这里,我们可以解决掉来自Block提议者之外的不确定性因素。如果Block提议者搞数据扣留,比如他没有在block里发布验证区块所需要的足量数据(引入二维纠删码后,一个区块里包含2k2k个片段,而还原出区块的原始数据至少需要约kk个片段,占1/4。提议者想让其他人不能还原出原始数据,最少需要扣留k+1*k+1个片段),最终肯定会被诚实Validator检测出来,而后者会广播欺诈证明警告其他人。


按照vitalik和mustafa的说法,他们其实是把此前就有人提出的想法结合了起来,并在此之上做出了一定的创新。而从整个构思的出发点与实现方式来看,显然所谓的“数据可用性”指的是验证最新block所需的那些数据,是否都有被区块提议者发布出去,且能不能被验证者们接收到。这关乎“数据是否完整发布”而不是“历史数据是否可以被检索到”。

以太坊Rollup的DA怎么实现

有了前面的论断,我们再来看以太坊Rollup的DA实现方式,其实就比较清晰了:Rollup里的区块提议者就是排序器Sequencer,它每隔一段时间就会在以太坊上发布验证Layer2状态转换所需要的数据。准确的说,是向指定的合约发起一笔Transaction,在自定义的输入参数里塞进DA所涉及的数据,并最终被记录进以太坊区块里。由于以太坊足够去中心化,可以确信定序器提交的数据会被“验证者”顺利接收到。但不同Rollup网络中充当“验证者”角色的东西是不同的。


(Arbitrum排序器向以太坊上某合约post的交易批次,合约本身不验证这些数据,只抛出一个事件让L2全节点来监听,让后者知道排序器发布了交易批次)

具体而言,ZK Rollup采用以太坊上的Verifier合约充当“验证者”。ZKR最少只需要发布State Diff + Validity Proof,也就是状态变化情况+有效性证明,Verifier合约会检测有效性证明,判断它能否和State Diff对上号。验证通过后,定序器发布的L2 Block/Batch就被认作有效。

(来源:前Polygon Hermez白皮书)

而乐观Rollup要在以太坊发布更多数据,因为它只能靠L2全节点去下载数据并验证Block有效性。这样的话,至少要披露 每笔L2交易的数字签名(现在一般用聚合签名)、如果有调用合约的话,还要披露输入参数,此外还要披露交易转账地址、防重放攻击的Nonce值等。但相较于完整的Transaction data,还是有一些修剪。

相比于ZK Rollup,乐观Rollup的DA成本更高,因为ZK Rollup只需要披露一批交易执行后的最终状态变化,附带一个有效性证明,利用到了ZK SNARK/STARK的简洁性;而乐观Rollup只能采用最笨重的方式,让所有交易都在其他L2全节点身上重新执行一遍。

此前W3hitchhiker曾粗略估算过,不考虑未来的4844和blob,ZKR的扩容效应可以达到OPR的数倍,而如果考虑到4337相关的智能钱包(用指纹、虹膜数据取代私钥签名),ZKR的优势会更明显,因为它不需要把指纹、虹膜的二进制化数据post上以太坊,而乐观Rollup需要)。

至于Validium和Plasma/Optimium,其实是用以太坊链下的DA层来实现DA。比如,采用了有效性证明系统的ImmutableX自己搭建了一组DAC节点(数据可用性委员会),专门发布DA涉及的数据;Metis则在Memlabs上发布DA数据,Rooch 和Manta则采用Celestia。而目前看来,由于有DAS和欺诈证明系统的存在,Celestia是以太坊之外可信度最高的DA层项目之一。

声明:

  1. 本文转载自[极客 Web3],原文标题《对数据可用性的误解:DA=数据发布≠历史数据检索》,著作权归属原作者[Faust,极客web3],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。

DA=数据发布≠历史数据检索

中级2/28/2024, 10:05:58 AM
本文着重探讨到底什么是数据可用性。
  • 转发原文标题:对数据可用性的误解:DA=数据发布≠历史数据检索

导语:到底什么是数据可用性?可能绝大多数人第一印象是“可以获取某个时刻的历史数据”,但这其实是对DA概念最大的误解。近期L2BEAT联创与Danksharding提出者、Celestia创始人都对这一误区做出了澄清,他们指出,Data Avalibity实际上应该指“数据发布”,但大多数人把DA理解成了“历史数据可检索”,而后者实际上涉及到数据存储问题。


比如,前一阵子Dankrad曾提到了Layer2的强制提款/逃生舱机制,他指出,Validium的强制提款需要获取最新的L2状态来构造Merkle Proof,但Plasma只需要7天以前的(这和两者的合法Stateroot判定方式有关)。

借此,Dankrad明确指出,Validium需要DA保障用户资金安全,而Plasma不需要。在此处,Dankrad用案例指出了DA和历史数据可检索的不同之处,即DA往往只涉及新发布的数据。


在L2BEAT那里,数据可用性DA与数据存储DS的区别被进一步加强。L2BEAT的Bartek多次强调,DA和数据存储/历史数据可查是两码事,而用户能够获取到自己需要的L2数据,只是因为那些提供数据的节点“对你足够好”。此外,L2BEAT还计划把“是否有权限开放的数据存储节点”当做DA之外的一个测评Rollup的新指标。



以太坊社区/以太坊基金会成员的上述言辞,表明了他们要在未来对Layer2相关概念进行规范化的梳理,并对Layer2本身进行更详实的定义。因为围绕着Rollup和L2的很多名词其实都没有被很好的解释清楚,比如多久前的数据算“历史数据”——有人认为,因为智能合约只能调用256个block内的过往区块数据,所以256个区块(50min)前的数据都算“历史数据”。

而Celestia和以太坊基金会口中的“Rollup”,严格来说都是两种东西。本文旨在澄清DA概念和数据存储的区别,从DA的来源、数据可用性采样、Rollup的DA实现方式,来为大家解释到底什么才是数据可用性——数据发布。

DA概念的来源

关于“数据可用性”问题到底指什么,Celestia创始人Mustafa如此解释:DA就是,当区块生成者提出新block时,如何确保区块里的所有数据都发布到了网络中?如果区块生成者不Release区块中的所有数据,就无法检测区块里是否包含错误交易。

Mustafa还指出,以太坊Rollup简单地将L2区块数据发布到以太坊链上,并依赖ETH来保障数据可用性。

而在以太坊官网,有关于DA的如下概括:可以把数据可用性难题概括为一个问题:“我们如何验证一个新区块的数据是否可用?”……对于轻客户端来说,数据可用性问题是指在无需下载整个区块的情况下,验证区块的可用性。

以太坊官网还明确区分了数据可用性与可检索性的区别:数据可用性是指区块被提出时,节点下载区块数据的能力。换句话说,数据可用性与区块尚未达成共识时相关……数据可检索性是指节点从区块链中检索历史信息的能力……虽然存档可能需要区块链历史数据,但节点无需使用历史数据就可以验证区块并处理交易。

在Celestia中国贡献者——W3Hitchhiker合伙人任泓毅看来,Layer2事先假设Ethereum足够安全和去中心化,排序器可以放心大胆的把DA数据发到以太坊,这些数据会无阻碍的传播给所有以太坊全节点。而L2全节点本身就要运行Geth客户端,算是以太坊全节点的子集,所以可以接收到Layer2的DA数据。

而在EthStorage的创始人Qi Zhou博士眼里,DA的定义是没有人可以把用户提交到网络里的交易数据扣留住。对应的信任模型是,我们只需要信任L1的协议本身,不需要再引入其他信任假设。

Qi Zhou指出,现在以太坊的DA实现方式其实就是P2P广播(gossip流言协议),每个全节点都会下载并传播新block,并存储Rollup的数据。当然,以太坊全节点并不会永久存储历史区块,在4844上线后可能会自动删除一段时间前的数据(貌似是18天)。存放全部历史数据的档案节点,现在全世界也没有多少,EthStorage则打算填补以太坊体系的这一空白,并助力Layer2设置自己专属的数据永存节点。

而以太坊基金会关于数据可用性Data availability的早期讨论,可见于Vitalik在2017年的推文与github文档。当时他认为,如果要保证区块链可拓展/高效率,就要抬高全节点的硬件配置(全节点就是下载完整block并验证其有效性的节点,做共识的Validator是全节点的子集)。但如果提高全节点硬件配置,就会提升运行成本,导致区块链变得中心化。

关于这一点,Vitalik说,可以设计一种方案,解决高性能全节点趋于中心化带来的安全隐患。他打算引入纠删码和数据随机抽样来设计一套协议,使得低配硬件的轻节点即便不获知完整的block,也可以得知block没有问题。

他最开始的想法其实和比特币白皮书里提到的idea有关。这个idea说,轻节点可以不接收完整block,而当block有问题时,诚实全节点会发出“警报”,通知轻节点。这个思路可以引申到后来的欺诈证明,但不能保证诚实全节点始终可以获得足够数据,也无法事后判断区块提议者是否扣留了某些数据没发布。

比如,某个节点A可以发布欺诈证明,声称从节点B那收到了不完整的block。但此时无法判断,这个不完整的block是A自己伪造的,还是B发出去的。Vitalik指出可以用数据可用性采样DAS解决这个问题(显然数据可用性实质涉及数据发布问题)。

Vitalik在”A note on data availability and erasure coding”一文中对这些问题及其解决方案进行了粗略讨论。他指出,DA证明实质是对欺诈证明的一种“补完”。

数据可用性采样

但显然,DA概念不是那么好解释的,因为Vitalik的这篇github文档前前后后进行了18次更正。记录显示,最后一次更正提交于2018.9.25。而就在前一天的2018.9.24,Celestia创始人Mustafa与Vitalik联名发表了日后声名大噪的论文——Fraud and Data Availability Proofs: Maximising Light Client Security and Scaling Blockchains with Dishonest Majorities.

有趣的是,这篇论文第一作者是Mustafa而不是Vitalik(另一名作者现在是Sui公链的研究员)。文中提到了欺诈证明Fraud Proof的概念,并解释了数据可用性采样DAS的原理,粗略设计了一套DAS +二维纠删码+欺诈证明的混搭协议。论文中则明确提到,DA证明系统实质是欺诈证明之上的必要补充。

如果我们从Vitalik的视角出发的话,这套协议的作用可以概括如下:

假设一条公链有N个高配硬件的共识节点Validator,它们的数据吞吐量很大,效率很高。这样的区块链虽然TPS高,但共识节点数量N比较少,是比较中心化的,节点串谋概率高。

但是,N个共识节点中起码会有1个是诚实的。只要至少1/N的Validator诚实,检查出block无效,并愿意在必要时刻广播欺诈证明,轻节点或诚实Validator都能知道网络出现了安全问题,并可以通过Slash恶意节点、社会共识分叉等方式让网络恢复正常。

可是,就像之前Vitalik提到的,如果诚实全节点接收到一个block且发现它缺乏某些部分,并发布欺诈证明,此时不好判断出是block提议者没发布这部分数据,还是中途被其他节点扣留了,亦或是发布欺诈证明的节点自导自演。

此外,如果多数节点串谋,1/N的诚实Validator被孤立,可能无法获取新的block,这算是一种数据扣留攻击场景。需要注意的是,此时诚实节点不知道是网络状况不好,还是其他人串谋搞数据扣留,他也不知道其他节点是否也被孤立,不好判断多数人是否已经串谋搞数据扣留。

综上,要有一种办法,以极高概率保证诚实Validator能获取到验证block所需的数据;同时,要能判断出是谁在搞数据扣留攻击——是block提议者没发布足量数据,还是说被其他节点扣留了,亦或是多数节点在搞串谋。显然,这种安全模型比普通POS链的“诚实多数假设”多了很多保障,而数据可用性抽样DAS就是具体的实现方式。

我们现在假设,网络中轻节点很多,可能是10 N,每个轻节点都连接了多个Validator(为了方便分析,假设每个轻节点都连接了全部N个Validator)。这些轻节点会向Validator多次发动数据抽样,每次随机请求一小部分数据(假设只占一个block的1%)。随后,它们会把抽到的碎片传播给没有这些数据的Validator。只要轻节点足够多,且数据抽样次数足够频繁,即便某些请求可能被拒绝,但只要大部分被响应,就可以保证所有Validator最终都能获取到验证block所需的足量数据。这样可以抵消掉Block提议者以外的其他节点扣留数据的影响。

(图源:W3 Hitchhiker)

而如果多数Validator搞串谋,拒绝响应大多数轻节点的请求,此时人们很容易意识到链出了问题(因为就算一部分人的网速不好,也不至于差到大部分轻节点的请求都被拒绝)。所以前述方案可以极高概率判断出多数串谋行为,当然这种情况本身极少发生。

到了这里,我们可以解决掉来自Block提议者之外的不确定性因素。如果Block提议者搞数据扣留,比如他没有在block里发布验证区块所需要的足量数据(引入二维纠删码后,一个区块里包含2k2k个片段,而还原出区块的原始数据至少需要约kk个片段,占1/4。提议者想让其他人不能还原出原始数据,最少需要扣留k+1*k+1个片段),最终肯定会被诚实Validator检测出来,而后者会广播欺诈证明警告其他人。


按照vitalik和mustafa的说法,他们其实是把此前就有人提出的想法结合了起来,并在此之上做出了一定的创新。而从整个构思的出发点与实现方式来看,显然所谓的“数据可用性”指的是验证最新block所需的那些数据,是否都有被区块提议者发布出去,且能不能被验证者们接收到。这关乎“数据是否完整发布”而不是“历史数据是否可以被检索到”。

以太坊Rollup的DA怎么实现

有了前面的论断,我们再来看以太坊Rollup的DA实现方式,其实就比较清晰了:Rollup里的区块提议者就是排序器Sequencer,它每隔一段时间就会在以太坊上发布验证Layer2状态转换所需要的数据。准确的说,是向指定的合约发起一笔Transaction,在自定义的输入参数里塞进DA所涉及的数据,并最终被记录进以太坊区块里。由于以太坊足够去中心化,可以确信定序器提交的数据会被“验证者”顺利接收到。但不同Rollup网络中充当“验证者”角色的东西是不同的。


(Arbitrum排序器向以太坊上某合约post的交易批次,合约本身不验证这些数据,只抛出一个事件让L2全节点来监听,让后者知道排序器发布了交易批次)

具体而言,ZK Rollup采用以太坊上的Verifier合约充当“验证者”。ZKR最少只需要发布State Diff + Validity Proof,也就是状态变化情况+有效性证明,Verifier合约会检测有效性证明,判断它能否和State Diff对上号。验证通过后,定序器发布的L2 Block/Batch就被认作有效。

(来源:前Polygon Hermez白皮书)

而乐观Rollup要在以太坊发布更多数据,因为它只能靠L2全节点去下载数据并验证Block有效性。这样的话,至少要披露 每笔L2交易的数字签名(现在一般用聚合签名)、如果有调用合约的话,还要披露输入参数,此外还要披露交易转账地址、防重放攻击的Nonce值等。但相较于完整的Transaction data,还是有一些修剪。

相比于ZK Rollup,乐观Rollup的DA成本更高,因为ZK Rollup只需要披露一批交易执行后的最终状态变化,附带一个有效性证明,利用到了ZK SNARK/STARK的简洁性;而乐观Rollup只能采用最笨重的方式,让所有交易都在其他L2全节点身上重新执行一遍。

此前W3hitchhiker曾粗略估算过,不考虑未来的4844和blob,ZKR的扩容效应可以达到OPR的数倍,而如果考虑到4337相关的智能钱包(用指纹、虹膜数据取代私钥签名),ZKR的优势会更明显,因为它不需要把指纹、虹膜的二进制化数据post上以太坊,而乐观Rollup需要)。

至于Validium和Plasma/Optimium,其实是用以太坊链下的DA层来实现DA。比如,采用了有效性证明系统的ImmutableX自己搭建了一组DAC节点(数据可用性委员会),专门发布DA涉及的数据;Metis则在Memlabs上发布DA数据,Rooch 和Manta则采用Celestia。而目前看来,由于有DAS和欺诈证明系统的存在,Celestia是以太坊之外可信度最高的DA层项目之一。

声明:

  1. 本文转载自[极客 Web3],原文标题《对数据可用性的误解:DA=数据发布≠历史数据检索》,著作权归属原作者[Faust,极客web3],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
Comece agora
Inscreva-se e ganhe um cupom de
$100
!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.