一文读懂数据可用性赛道的发展现状

IOBC Capital 阅读 1448 2022-11-10 14:56:16

现有的这些数据可用性解决方案是探路人,但我总感觉这些方案还是差些兴奋点。

作者:0x1,IOBC Capital 

数据可用性(Data Availability)主要存在于轻客户端节点相对全节点的语境下。对于轻客户端节点的数据可用性问题,行业内已经达成共识——采用纠删码(erasure codes)来解决。

不仅轻客户端节点有数据可用性问题,Layer1+Layer2 的叙事也好,Modular Blockchain 的叙事也罢,都会存在数据可用性问题。

目前来看,行业里针对数据可用性问题,主要有以下三个方面的方案:

一、在 L1 链上存放数据的降成本方案——EIP-4488 和 EIP-4844

以太坊用 Rollup 扩容时做一笔交易,主要有三类费用:执行费用(网络中所有节点执行交易并且验证其有效性的费用)、存储/状态费用(更新新状态的费用)、数据可用性费用(将数据发布到 L1 的费用)。其中,数据可用性费用占大头。

目前 Rollup 上传数据到 L1 是以 Calldata 的形式,这种方式非常贵。所以提出了 EIP-4488,可以将每个非 0 字节的 Calldata 成本从 16Gas 降低到 3Gas,但其实这个费用仍然挺高的。

然后,又提出了 EIP-4844 提案,即 Proto-Danksharding。引入了一种称为 Blob carrying Transactions 的交易格式。这种交易格式与普通的交易格式相比,多了一个 Blob 的位置可以用来存放 L2 的数据。而且,Blob 数据在一个月后会被节点删除,从而大幅节省了存储空间。

Blob 这种交易格式能够提供比 Calldata 更廉价的数据可用性。主要有两方面原因:一方面,Callda 存在于 Execution Payload 中,而 Blob 数据存储于 Prysm 节点或者 Lighthouse 节点中(而不是在 Geth 中),相比而言 Calldata 需要被合约读取时所消耗的资源要多很多;另一方面,Blob 数据是短期存储,一个月后节点会删除 Blob 数据。

总而言之,这可以理解为 Ethereum 在 L1 链上降低数据可用性成本的一个方案。

另外,也提了一个配套的验证数据可用性的方案——数据可用性抽样(DAS,Data Availability Sampling),节点通过 DAS 检查,可以只下载一些随机选择的块来验证一个块是否已发布。由于 DAS 可以对区块数据做并行化验证,所以未来数据分片(Data Sharding)的数量即使很多,也不会增加单个验证节点的负担,反而会刺激更多验证节点加入,从而保证验证节点的充分去中心化。为了实现 DAS,引入了纠删码技术;同时为了确保纠删码被正确编码,又引入了 KZG 多项式承诺(KZG Polynomial Commitments)。

上述一系列解决方案之后,Ethereum 节点(或者轻客户端)只需要随机下载一部分数据块,就能验证所有数据是可用的。

二、执行层 Rollup 推出的数据可用性方案

目前头部的执行层 Rollup 也有自己的数据可用性解决方案,以 StarkEx、zkSync2.0、Polygon zkEVM 等为例。

StarkEx

StarkEx 是一个用于创建许可的、特定于应用程序的扩容解决方案框架。目前有包括 dYdX、Immutable、Sorare、DeversiFi、Reddio 等项目采用 StarkEx 解决方案。

StarkEx 具有多种数据可用性模式:Rollup、Validium、Volition。这三种模式都是基于有效性证明。在 Rollup 模式中,所有数据都在链上提交(data on-chain);在 Validium 模式中,数据保持在链外(data off-chain),只有对最近状态的承诺以及该状态的有效性证明提交到链上;Volition 模式是一种混合模式,在这种模式下用户可以自行选择单个交易粒度的数据存储模式是链上还是链下。

由于 Validium 的数据保持在链外,只需要把最近状态的承诺和证明提交上链,所以 Validium 交易费用更低,同时 TPS 也更高,但代价是 StarkEx Validium 的运营商(Operators)可以冻结用户的资金。StarkEx 引入了一个获得许可的数据可用性委员会(DAC,Data Availability Committees),DAC 必须通过其法定人数对状态的每次更新进行签名来确认它已收到数据。目前在 StarkEx 中,DAC 由 8 名参与者组成。

zkSync

zkSync2.0 引入了一个新的整体架构,提供 zkRollup 和 zkPorter 两种账户的混合。但这两部分也是可组合和可互操作的:zkRollup 端的合约和账户能够与 zkPorter 端的账户无缝交互,反之亦然。从用户的角度来看,唯一明显的区别是 zkPorter 账户的费用便宜 100 倍。

免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:从理财产品到信贷市场再到交易所,Ribbon 能否扩张成 DeFi 帝国? 下一篇:Circle:守住兵家必争的稳定币,剑指新金融基础设施

您可能感兴趣