浅析区块链中的数据可用性采样技术(DAS)

任何一条区块链中,数据可用性都是一个必不可少的关键性内容。在当今区块链主流采用的欺诈证明的乐观系统或有效性证明系统中,都需要“数据可用性”进行验证,确保系统活跃性。

在早期的区块链项目中,用户需要下载整个数据块来确保数据可用性。简答来说,就是用户下载成功了,它就是可用的,而下载不成功,便不可用。这是一种十分简单但却笨拙的方式,我们在测试数据可用性时,希望不用下载大量的数据就可以实现,从而从精力和成本上都得到改善。数据可用性采样技术(DAS)就是基于这一需求而诞生的。

DAS 的基础模型

这里有一个小黑屋模型来解释 DAS 的基础模型。由于区块链独特特点,我们将区块生产者存放数据的空间设定为一个拥有公告板的小黑屋,区块生产者会在这个小黑屋中写下一些信息。现在,区块生产者将他写下的内容中的一小部分告诉给验证者。验证者手中有一个可以照亮很小一部分空间的手电筒,并且这个手电筒电量很低,不能使用太久。这意味着验证者只能在小黑屋中看到局限的内容,而验证者的目标就是根据区块生产者提供的那小部分内容来进行验证,确保自己能够相信生产者。

这个基础模型中存在一个很大的问题,那就是区块生产者是否完整地写下了所有的数据信息。这个问题对于仅仅只检查一小部分的验证者而言,是无法判别的。因此,在这个基础模型上,DAS 还需要进一步完善。

利用纠删码的解决方案

为了防止区块生产者作恶,开发者们发现利用纠删码的方式是一种很好的解决方案。纠删码的工作原理主要是:由 k个信息块组成向量的方式不断的增加,最终被编码成一个更长的 n 个编码块的向量,编码速率 R=k/n 。在这个编码后形成的编码块中,我们可以通过某些子集解码原始信息块。

基于纠删码的这个原理,区块生产者就不用写下原始的数据文件,而是将文件分成 K 个块,并利用纠删码编码。由于纠删码的存在(假设编码速率 R=k/n-1/2),验证者可以从 n 2k 个编码块中提取 k 个来恢复原始文件,因此,如果生产者依然想要作恶,使文件不可用,那么区块生产者写入的数据文件数量最多为 k-1 个,这意味着整个文件中,将有超过 n-2k 个编码块的一半数量的文件将丢失。如此大量的数据丢失,验证者是很容易就能发现文件不可用这一事实的。

因此,基于纠删码的存在,区块生产者作恶的情况将大幅减少,即使出现,也能很快发现,DAS 也在这一一个组合中,真正完成了数据可用性验证。

猜你喜欢

转载自blog.csdn.net/xfilesystem/article/details/126710704
今日推荐