欧博会员开户(www.aLLbetgame.us):数据可用性问题对以太坊的影响

手机新2管理端

www.9cx.net)实时更新发布最新最快最有效的手机新2管理端网址,包括新2手机网址,新2备用网址,皇冠最新网址,新2足球网址,新2网址大全。

,

在这篇文章中,我们深入研究了数据可用性问题的细节以及它若何影响以太坊的扩展。

什么是数据可用性问题?

数据可用性(DA)问题:区块链网络中的节点若何确保新提议区块的所有数据现实上是可用的?若是数据不能用,则该块可能包罗被块生产者隐藏的恶意生意。

举个例子,假设 Alice 是 ZK-Rollup (ZKR) 的运营商。她在以太坊上提交了经由验证的 ZK 证实。若是她没有在以太坊上提交所有生意数据,只管她的证据证实rollup中举行的所有状态转换都是有用的,但rollup的用户仍然可能对其当前账户余额一无所知。由于提交的证实的零知识性子,提交的证实没有说明当前状态。

Optimistic Rollup (OPR) 设置中有一个类似的例子,Alice 在以太坊上提交了一个断言,但 OPR 的任何介入者都不能挑战它,由于生意数据不能用,因此他们无法重新盘算或挑战该断言 .

为了应对上述情形,OPR 和 ZKR 的设计都要求operator将以太坊上的所有生意细节作为“calldata”提交。虽然这使他们在短期内阻止了 DA 问题,但随着rollup内部生意数目的增进,需要提交的数据量也会增添,从而限制了这些rollup可以提供的扩展量。

这对现在的区块链有何影响?

为了回覆这个问题,让我们首先回首一下类似以太坊的区块链的一样平常区块结构以及任何区块链网络上存在的客户端类型。

一个块可以分为两个主要部门:

在传统的区块链协议中,所有节点都被视为同步整个区块并验证所有状态转换的完整节点。所有节点破费大量资源来检查生意有用性并存储区块。从好的方面来说,这些节点不会接受任何无效的生意。

可能另有另一类节点没有(或不想破费)资源来验证每笔生意。相反,他们主要对领会区块链的当前状态以及与他们相关的某些生意是否包罗在链中感兴趣。这些轻客户端依赖全节点来检查所有生意是否有用。因此,在平安性方面,它们依赖于可信的全节点。

然则若是区块生产者没有透露区块背后的所有数据呢?这可以防止全节点验证所有生意。这反过来又阻止了轻节点绝对确定它所看到的由所有正当生意支持的区块头。

为领会决这个问题,我们需要一种轻客户端机制来验证数据可用性。这将确保区块生产者无法通过说服轻客户端来隐藏数据。它还将迫使区块生产者公然部门数据,使整个网络以协作的方式接见整个区块。

让我们借助一个例子更深入地探讨这个问题。假设区块生产者 Alice 用生意 tx1、tx2、……、txn 组织了一个区块 B。让我们假设 tx1 是恶意生意。若是 tx1 被广播,任何完整节点都可以验证它是恶意的,并将其发送给轻客户端,轻客户端会立刻知道该块是不能接受的。然则,若是 Alice 想隐藏 tx1,她会显示标头和除 tx1 之外的所有生意数据。全节点无法验证 tx1 的准确性。让轻节点查询随便一笔生意,平均随机。轻客户端查询 tx1 的概率为 1n。因此,Alice 能够以压倒性的可能性诱骗轻客户端接受恶意生意。由于不能归因的性子,全节点无法以任何方式证实 tx1 不能用。

欧博会员开户

欢迎进入欧博会员开户(www.aLLbetgame.us),欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

那么,我们该怎么办呢?

该问题的解决方案在于在块中引入冗余。总的来说,有大量关于编码理论的文献,稀奇是擦除编码,可以辅助我们解决这个问题。

简而言之,纠删码允许我们将任何 n 个数据块扩展为 2 个数据块,其中 2n 个数据块中的任何一个都足以重修原始数据块(参数是可调的,但为了简朴起见,我们在这里思量了这一点)。

若是我们强制区块生产者擦除生意 tx1、tx2、...、txn 的代码,然后隐藏单个生意,则需要隐藏 n+1 个生意,由于任何足以构建整个生意集的生意。在这种情形下,恒定数目的查询使轻客户端足以确信底层数据确实可用。

哇,原来云云?

不。虽然这个简朴的技巧使隐藏事情变得加倍难题,但区块生产者仍有可能有意以错误的方式执行擦除编码。然而,一个完整的节点可以验证这个擦除编码是否准确完成,若是没有,它可以向轻客户端证实这一点。这被称为诓骗证实。有趣的是,轻客户端需要有一个忠实的全节点邻人才气确定若是编码错误,那么它将收到诓骗证实。这确保了轻客户端以极高的概率接见没有恶意生意的链。

然则存在一个问题!若是简朴地实现,诓骗证实的巨细可以根据块自己的巨细排序。但我们对轻客户端的资源预设阻止我们使用这样的设计。通过使用多维擦除编码手艺,可以在这方面有所改善,该手艺以可接受的巨细削减诓骗证实的巨细。为精练起见,我们不涉及这些,但该文献(https://arxiv.org/abs/1809.09044)对其举行了详细剖析。

基于诓骗证实的解决方案的问题在于,轻客户端永远无法完全确定尚未收到诓骗证实的任何块。此外,他们一直信托其全节点对等方是忠实的。还需要激励忠实的节点不停保持审计区块。

有没有设施阻止诓骗证实?

最近,向量答应重新引起了区块链领域的关注。这些向量答应,尤其是对多项式的恒定巨细的 KZG/Kate 答应,可用于设计精练的 DA 方案,而无需诓骗证实。简而言之,Kate 答应允许我们使用单个组元素提交多项式。此外,该方案支持我们证实在某个点 i 使用恒定巨细的见证,多项式评估为(i)。答应方案在盘算上是隐藏和绑定的,也是同态的,使我们能够巧妙地阻止诓骗证实。

我们强制块生产者获取原始生意数据并将其排列在巨细为 n,m 的二维矩阵中。它使用多项式插值将巨细为 n 的每一列扩展为巨细为 2n 的列。对于这个扩展矩阵的每一行,它都市天生一个多项式答应,并将这些答应作为区块头的一部门发送。下面给出了该块的示意图。

轻客户端查询这个扩展矩阵的任何单元格以获得见证,这使它能够立刻凭证块头验证它。恒定巨细的成员证实使抽样异常有用。答应的同态性子确保只有在准确组织块的情形下才验证证实,而且多项式插值确保乐成样本的恒定数目意味着数据以异常高的概率可用。

其他选择是什么,以及进一步换取是什么?

更高维的擦除代码和 Kate 答应并不是解决 DA 问题的唯一方式。我们在这里跳过了其他方式,如编码默克尔树、编码交织树、基于 FRI 和 STARK 的方式,但每种方式都有其优点和瑕玷。

添加回复:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。