一文读懂数据可用性赛道的发展现状
数据可用性(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)。
- 星际资讯
免责声明:投资有风险,入市须谨慎。本资讯不作为投资建议。