NFT:Vitalik Buterin:如何使用内积参数 (IPA) 进行数据可用性抽样(DAS)_TAL

原文作者:VitalikButerin

当前的数据可用性抽样计划使用KZGcommitments完成。KZG承诺的优点是它们非常易于使用,并且具有一些非常好的代数性质:

一个评估证明具有恒定的大小,并且可以在恒定的时间内进行验证。这里存在一种算法来计算所有证明,这些证明在O(N?log(N))时间内在N个单位根的每一个都会评估deg<N您可以线性组合承诺以获得这个线性组合的承诺:com(P)+com(Q)=com(P+Q)您可以线性组合证明:Proof(P,x)+Proof(Q,x)+Proof(P+Q,x)第一点是良好的效率保证。第二点确保生成可以进行DA采样的blob很容易:如果生成所有证明需要O(N2)这么长的时间,则需要高度中心化的参与者或复杂的分布式算法才能使其准备好DAS。

第三点和第四点对于2D采样非常有价值,并且可以实现分布式区块生产者和高效的自我修复:

Vitalik:跨链证明是实现跨链社交恢复钱包的关键,ZK-SNARK等是可行选择:6月20日消息,以太坊联合创始人VitalikButerin在最新文章《更深入探讨钱包和其他用例的跨L2读取》中指出,实现跨链社交恢复钱包的一个可行方案是维护一个存放在特定位置的密钥库,以及多个不同位置的钱包,这些钱包可以读取密钥库来更新自身的验证密钥视图或在每次交易验证过程中。跨链证明是实现这个功能的关键,需要对其进行深度优化,可能的方案包括零知识证明(ZK-SNARK)、等待Verkle证明或自定义KZG解决方案。

从长远看,我们需要实现聚合协议,通过生成聚合证明来打包所有用户提交的操作,以此来降低成本。这可能需要将其集成到ERC-4337生态系统中,可能需要对ERC-4337进行一些修改。同时,为了减少从L2内部读取L1状态的延迟,L2应被优化。

钱包不只可以放在L2上,也可以放在与以太坊连接程度较低的系统上,如L3或只同意包含以太坊状态根的独立链。然而,密钥库应放在L1或高安全性的ZK-rollupL2上。尽管这样会增加复杂性,但从长期来看,可能在L2上设置密钥库才是成本更低的方案。在这个过程中,我们也需要致力于提供保护隐私的解决方案,并确保我们的方案可以与隐私保护方案兼容。[2023/6/21 21:50:47]

区块生产者只需要知道原始的M承诺即可使用一种按照曲线的FFT来“扩展列”并生成在同一deg<M多项式上的2M承诺。您不仅可以进行每行重建,还可以进行每列重建:如果列上的某些值和证明丢失,您可以执行FFT来恢复丢失的值和证明。然而,KZG有一个弱点:它依赖于复杂的配对密码学和受信任的设置。配对密码学已经被研究使用了20多年,受信任的设置是N中的1个信任假设,N是数百名参与者,因此实践中的风险很高,作者认为继续使用KZG是完全可以接受的。但是,值得提出一个问题:如果我们不想支付KZG的成本,我们可以使用内积参数来代替吗?

Vitalik Buterin(V神)突然现身基辅科技峰会:金色财经报道,以太坊联合创始人Vitalik Buterin(V神)突然现身基辅科技峰会,Buterin 在基辅现身特别值得注意,因为目前距离以太坊备受期待的合并只有几天的时间。作为峰会闭幕发言人之一,Buterin表示区块链、以太坊、加密世界中的很多人在关心和支持乌克兰,其他峰会发言人包括Binance乌克兰总经理 Kiril Khomiakov、NEAR Protocol 联合创始人Illia Polosukhin和乌克兰创业基金董事 Pavlo Kartashov。(coindesk)[2022/9/11 13:22:08]

有关IPA的解释,请参阅这篇文章的前半部分。

IPA具有以下特性:

评估证明具有对数大小,可以在线性时间内验证没有已知的有效的多重证明生成算法。承诺是椭圆曲线点,您可以像KZG承诺一样将它们线性组合没有已知的线性组合证明的方法。因此,我们保留了一些属性,也丢失了一些属性。事实上,我们失去的足够多,以至于我们生成、分发和自我修复证明的“当前方法”不再可能。这篇文章描述了一种替代方法,虽然有点笨拙,但仍然可以实现目标。

Vitalik Buterin登上《时代》周刊封面:金色财经消息,据《时代》周刊杂志官方公布,以太坊创始人Vitalik Buterin成为《时代》周刊封面人物。

此外,《时代》周刊发文表示,以太坊已成为仅次于比特币的第二大加密货币,为与Visa相媲美的万亿美元生态系统提供动力。以太坊已将全球数千名无银行账户的人带入金融系统,允许资本不受阻碍地跨境流动,并为企业家提供基础设施,以构建各种新产品。[2022/3/18 14:05:24]

一种替代方法

首先,我们生成一棵证明树,而不是为deg<N多项式生成2N独立证明,这看起来如下:

我们以评估形式解释数据,将其视为一个向量:

声音 | Vitalik:以太坊基金会年预算3000万美元 资金可持续 6 年:近日,社区有声音表示以太坊基金会计划在明年停止对大部分内部团队的资助,因此出现了以太坊基金会可能资金不足的猜测。对此,Vitalik本人在以太坊2.0的中文社区中回应称:停止资助是基金会筛选的结果,目前资金充足。V神表示,这不是没有钱的问题,基金会目前年预算仍然是 3000 万美元,足够持续6年。最近在筛查内部资助的团队,有一些自然被剔除了,这是因为不想资助他们。(区块律动)[2019/12/8]

,其中多项式

证明树中的每个节点都是对该部分数据的承诺,以及该承诺实际上“在界限内”的证明。例如,

Vitalik Buterin发布新的概念验证:本周一以太坊设计者Vitalik Buterin发布了一个新的概念验证,演示了如何将分片扩展解决方案“栓在”Ethereum主链上。并发推表示“分片即将来临”。该演示遵循Ethereum联合创始人最近推出的“最小分片协议”计划,旨在显着提高以太坊区块链的事务吞吐量和可扩展性。[2018/5/1]

节点将包含承诺

。将有一个IPA证明,

实际上是这些点的线性组合,没有其他点。

我们生成两棵树,第一棵用于

,第二棵用于

,对一条数据的“完整”承诺由C和C组成。为了证明一个特定的值xi,我们只需提供一个对列表,涵盖整个范围0...N?1或N....2N?1,不包括i,以及一个i不属于的顶级承诺是正确构建的证明。例如,如果N=8且i=3,则这个证明将包含C、C2、C及其证明,以及一个C被正确构造的证明。该证明将通过验证各个证明并检查承诺加起来是否构成完整承诺来进行验证。

蓝色:chunk3,黄色:chunk3的证明。

注意,为了提高效率,每个chunk不需要是一个单独的评估;相反,我们可以裁剪树,例如一个chunk是一组16个评估。鉴于证明的组合大小无论如何都会比这大,像这样使chunk变大,我们损失很少。

生成这些证明需要O(N?log(N))时间。验证证明需要O(N)时间,但请注意,可以批量验证许多证明:验证IPA的O(N)步骤是椭圆曲线线性组合,我们可以使用随机线性组合检查其中的许多。每个证明仍然需要O(N)场域操作,但这只需要<1毫秒。

扩展:扇出出大于2

我们可以有一个更高的扇出,而不是每一步都有2扇出,例如8扇出。每个承诺我们将有7个证明,而不是每个承诺一个证明。例如,在底层,我们将有一个证明{1,2,3,4,5,6,7},{0,2,3,4,5,6,7},{0,1,3,4,5,6,7}等。这将总证明生成工作增加了

,但它将证明大小减少了3倍。

证明大小

假设我们正在处理大小为32的N=128chunk和一个(4x,4x,8x)的扇出。单个分支证明将包含3个IPA,总大小为2?(7+9+12)=56个曲线点加上chunk的512字节。今天256字节或512字节chunk拥有48字节证明。

生成证明总共需要2?8192?(3?2+7)次曲线乘法,或总共~212992次乘法。因此,这需要一台功能强大的计算机快速完成,或者需要一个分布式过程,其中不同的节点专注于为不同的chunk。

验证证明很容易,因为可以批量验证证明,并且只完成一个椭圆曲线乘法。因此,它不应该比使用KZG证明慢很多。

自我修复

无法逐列有效地进行自我修复。但是我们能否避免要求单个修复拥有所有数据?

假设单行完全丢失。很容易使用任何列来重建该列中缺失行中的值。但是如何证明呢?

最简单的技术是加密经济学:任何人都可以简单地发布一个声明一个值的债券,然后有人可以将该声明与证明不同值的分支证明一起使用,以削减该验证者。只要有足够的合法声明可用,该行子网上的某个人就可以将声明组合在一起并重建承诺和证明。甚至可能要求验证者针对分配给他们的样本索引发布此类声明。

一种没有加密经济学但在技术上更复杂且速度更慢的替代方案是传递沿该列的值的M分支证明,以及证明正确验证的Halo式证明?。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-4:66ms