在这篇文章中,我们深入研究了数据可用性问题的细节以及它如何影响以太坊的扩展。
什么是数据可用性问题?
数据可用性问题:区块链网络中的节点如何确保新提议区块的所有数据实际上是可用的?如果数据不可用,则该块可能包含被块生产者隐藏的恶意交易。
举个例子,假设Alice是ZK-Rollup(ZKR)的运营商。她在以太坊上提交了经过验证的ZK证明。如果她没有在以太坊上提交所有交易数据,尽管她的证据证明rollup中进行的所有状态转换都是有效的,但rollup的用户仍然可能对其当前账户余额一无所知。由于提交的证明的零知识性质,提交的证明没有说明当前状态。
OptimisticRollup(OPR)设置中有一个类似的例子,Alice在以太坊上提交了一个断言,但OPR的任何参与者都不能挑战它,因为交易数据不可用,因此他们无法重新计算或挑战该断言.
OpenSea Pro集成数据可视化工具Bubblemaps:金色财经报道,OpenSea Pro宣布已集成数据可视化工具Bubblemaps,允许用户查看某一系列的前150名巨鲸持有者之间的可视化关系,继而更轻松地跟踪持有者的行为并提高项目的整体透明度。[2023/5/5 14:43:37]
为了应对上述情况,OPR和ZKR的设计都要求operator将以太坊上的所有交易细节作为“calldata”提交。虽然这使他们在短期内避免了DA问题,但随着rollup内部交易数量的增长,需要提交的数据量也会增加,从而限制了这些rollup可以提供的扩展量。
这对如今的区块链有何影响?
为了回答这个问题,让我们首先回顾一下类似以太坊的区块链的一般区块结构以及任何区块链网络上存在的客户端类型。
一个块可以分为两个主要部分:
高通CEO安蒙:5G将助力AI扩展,使数据可与其他设备及云端共享:3月25日消息,高通公司总裁兼CEO安蒙在中国发展高层论坛2023年会“推进数字经济与实体经济融合”专场上演讲称,5G是实现数字社会的重要基础设施,此外,5G还将助力AI扩展,为边缘计算和端侧人工智能带来诸多益处。
安蒙认为,数字化转型将实现人与万物智能互联。这也意味着超高速、可靠连接随时随地、始终连接到云端,具有嵌入式处理器和人工智能(AI)的一系列设备,以及数字孪生的普及。(澎湃)[2023/3/25 13:26:29]
区块头:一个小区块头包含与区块中包含的交易相关的摘要和元数据。
块体:它包含所有交易数据并占块大小的大部分。
在传统的区块链协议中,所有节点都被视为同步整个区块并验证所有状态转换的完整节点。所有节点花费大量资源来检查交易有效性并存储区块。从好的方面来说,这些节点不会接受任何无效的交易。
博斯蒂克:更多强劲数据可能促使美联储加息75个基点:8月25日消息,美联储博斯蒂克表示,美联储在今年仍有一段时间要提高利率,并警告称现在说通胀飙升已经见顶还为时过早,不过他指出,在结束通胀飙升上出现一些好迹象。他说,作为政策制定者,我们都明白,通胀是一个大问题,也是一个挑战,我们将尽一切努力来应对。博斯蒂克说还没有决定美联储是应该在下个月的政策会议上加息50个基点还是75个基点。他说:在这一点上,我会在这两者之间抛硬币决定。
博斯蒂克指出,在会议召开之前,仍有一些关键的就业和通胀报告即将出炉,如果数据依然强劲,通胀没有明显放缓,那么,你知道,这可能会让美联储再加息75个基点。(金十)[2022/8/25 12:47:56]
可能还有另一类节点没有资源来验证每笔交易。相反,他们主要对了解区块链的当前状态以及与他们相关的某些交易是否包含在链中感兴趣。这些轻客户端依靠全节点来检查所有交易是否有效。因此,在安全性方面,它们依赖于可信的全节点。
Arweave使互联网档案馆数据可永久“容错”地访问:金色财经报道,去中心化数据存储平台Arweave的开发人员已与互联网档案馆(Internet Archive)合作进行了一个项目,使该档案馆的访问永久“容错”。据悉,互联网档案馆是一个非盈利性的数字内容图书馆,其内容范围包括网站、音乐甚至软件。Arweave创始人Sam Williams表示,这种“惊人的资源”从根本上是中心化的。因此,该项目的目标是为添加到档案中的内容创建容错记录,并“确保以分布式方式而不是通过中心化服务器访问数据”。[2020/7/14]
但是如果区块生产者没有透露区块背后的全部数据呢?这可以防止全节点验证所有交易。这反过来又阻止了轻节点绝对确定它所看到的由所有合法交易支持的区块头。
为了解决这个问题,我们需要一种轻客户端机制来验证数据可用性。这将确保区块生产者无法通过说服轻客户端来隐藏数据。它还将迫使区块生产者公开部分数据,使整个网络以协作的方式访问整个区块。
研究人员称Zcash元数据可能存在隐私性漏洞 但暂未对区块链构成威胁:5月13日消息,近日隐私协议Hush开发人员发布一份报告称,Zcash的元数据中可能存在漏洞,使得攻击者可能利用该协议而使用其中某些程序。研究称,如果有足够多的资金,攻击者可以分析源自Zcash协议的短时数据和交易输出,从而形成可链接的漏洞,该漏洞可以将交易与某些用户行为联系起来,进而可以联系到用户个人身份。而其他诸如比特币分叉币和基于MimbleWimble协议的加密货币也面临着类似的威胁。
但同时研究指出,Zcash的zk-snark协议仍然是可靠的,并且在数学上不会对区块链构成重大威胁。不过,不良行为者可能会潜在地利用该机制,特别是其共识规则和事务格式协议来发掘用户的信息并取消匿名。(CryptoSlate)[2020/5/13]
让我们借助一个例子更深入地探讨这个问题。假设区块生产者Alice用交易tx1、tx2、……、txn构造了一个区块B。让我们假设tx1是恶意交易。如果tx1被广播,任何完整节点都可以验证它是恶意的,并将其发送给轻客户端,轻客户端会立即知道该块是不可接受的。但是,如果Alice想隐藏tx1,她会显示标头和除tx1之外的所有交易数据。全节点无法验证tx1的正确性。让轻节点查询任意一笔交易,均匀随机。轻客户端查询tx1的概率为1n。因此,Alice能够以压倒性的可能性轻客户端接受恶意交易。由于不可归因的性质,全节点无法以任何方式证明tx1不可用。
那么,我们该怎么办呢?
该问题的解决方案在于在块中引入冗余。总的来说,有大量关于编码理论的文献,特别是擦除编码,可以帮助我们解决这个问题。
简而言之,纠删码允许我们将任何n个数据块扩展为2个数据块,其中2n个数据块中的任何一个都足以重建原始数据块。
如果我们强制区块生产者擦除交易tx1、tx2、...、txn的代码,然后隐藏单个交易,则需要隐藏n+1个交易,因为任何足以构建整个交易集的交易。在这种情况下,恒定数量的查询使轻客户端足以确信底层数据确实可用。
哇,原来如此?
不。虽然这个简单的技巧使隐藏工作变得更加困难,但区块生产者仍有可能故意以错误的方式执行擦除编码。然而,一个完整的节点可以验证这个擦除编码是否正确完成,如果没有,它可以向轻客户端证明这一点。这被称为欺诈证明。有趣的是,轻客户端需要有一个诚实的全节点邻居才能确定如果编码错误,那么它将收到欺诈证明。这确保了轻客户端以极高的概率访问没有恶意交易的链。
但是存在一个问题!如果简单地实现,欺诈证明的大小可以按照块本身的大小排序。但我们对轻客户端的资源预设禁止我们使用这样的设计。通过使用多维擦除编码技术,可以在这方面有所改进,该技术以可接受的大小减少欺诈证明的大小。为简洁起见,我们不涉及这些,但该文献对其进行了详细分析。
基于欺诈证明的解决方案的问题在于,轻客户端永远无法完全确定尚未收到欺诈证明的任何块。此外,他们一直相信其全节点对等方是诚实的。还需要激励诚实的节点不断保持审计区块。
有没有办法避免欺诈证明?
最近,向量承诺重新引起了区块链领域的关注。这些向量承诺,尤其是对多项式的恒定大小的KZG/Kate承诺,可用于设计简洁的DA方案,而无需欺诈证明。简而言之,Kate承诺允许我们使用单个组元素提交多项式。此外,该方案支持我们证明在某个点i使用恒定大小的见证,多项式评估为。承诺方案在计算上是隐藏和绑定的,也是同态的,使我们能够巧妙地避免欺诈证明。
我们强制块生产者获取原始交易数据并将其排列在大小为n,m的二维矩阵中。它使用多项式插值将大小为n的每一列扩展为大小为2n的列。对于这个扩展矩阵的每一行,它都会生成一个多项式承诺,并将这些承诺作为区块头的一部分发送。下面给出了该块的示意图。
轻客户端查询这个扩展矩阵的任何单元格以获得见证,这使它能够立即根据块头验证它。恒定大小的成员证明使抽样非常有效。承诺的同态性质确保只有在正确构造块的情况下才验证证明,并且多项式插值确保成功样本的恒定数量意味着数据以非常高的概率可用。
该方案的更精细细节以及进一步的优化和成本估算超出了本文的范围。
其他选择是什么,以及进一步变更是什么?
更高维的擦除代码和Kate承诺并不是解决DA问题的唯一方法。我们在这里跳过了其他方法,如编码默克尔树、编码交错树、基于FRI和STARK的方法,但每种方法都有其优点和缺点。
我们在Polygon,一直在使用Kate承诺开发数据可用性解决方案。在后面的文章中,我们将介绍实现细节、您现在可以如何使用它以及我们如何致力于转变DA问题空间。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。