IST:Vitalik 科普的“Danksharding”到底是什么?_KED

翻译:洒脱喜

北京时间2月14日情人节当晚,以太坊创始人VitalikButerin联合以太坊基金会研究人员DankradFeist一起举办了一场关于扩容解决方案“Danksharding”的教育研讨会,如果你想了解区块链如何在增加“去中心化”和“安全性”属性的同时大规模实现扩容,那么这场研讨会就是一个好的切入点。

注:关于“Danksharding”对以太坊的意义,建议读者先阅读一下《一文了解以太坊的“扩容杀手锏”danksharding》这篇文章。

以下内容来自DankradFeist提供的《Dude,what’stheDankshardingsituation??》PPT,如果你想观看完整的研讨会视频,可以访问以太坊基金会的官方youtube频道?。

概述

1、什么是旧的:

数据分片;

使用KZG承诺的数据可用性;

Aave社区已投票通过将Aave V3部署在Gnosis Chain上的温度检查提案:8月28日消息,Aave社区已投票通过将Aave V3部署在Gnosis Chain上的温度检查提案。该提案建议在Gnosis Chain上部署Aave V3池,考虑的资产包括wETH、wstETH、GNO、USDX、wxDAI与EURe。

此外,Aave Chan Initiative将在中期奖wGHO与sDAI添加到Gnosis Chain V3池中。[2023/8/28 13:00:36]

使用分离分片方案进行原始数据分片;

2、什么是新的:

提议者-构建者分离(PBS);

crList;

2D方案;

建议的架构

3、总结优点和缺点

一、什么是旧的

1、1数据分片

1、为Rollup和其他扩容解决方案提供数据可用性;

EraLend:将部署经派盾审计的新版本协议,旧协议更名为EraLend Classic:8月8日消息,此前遭遇黑客攻击的借贷协议Eralend发文宣布,将部署经派盾(PeckShield)审计的新版本协议,新协议将按原计划进行开发升级,此前受攻击影响的旧版本协议将更名为EraLend Classic。今后,EraLend将继续努力追踪并收回被盗资金,直到完全追回。EraLend将聘请慢雾(SlowMist)作为安全顾问,后者将在追赃以及后续产品安全方面为Eralend提供支持。 Eralend将逐步引入其他还款来源,包括筹款、潜在的zkSync空投和多元化的平台收入等等。新版协议EraLend将取消SyncSwap LP代币作为抵押品,且所有费用收入均将用来赔偿受害者。旧版协议EraLend Classic则将从UTC时间8月8日00:00开始停止所有贷款功能,还款及提款功能将继续开放,直到所有用户退出。[2023/8/8 21:32:13]

2、数据的含义由应用层定义;

以太坊基础共识除了确保数据可用外不承担任何责任;

为什么没有执行分片?与原生执行相比,rollup二层网络的效率要高100倍,很难看出执行分片会有什么需求;

3、目标:提供约1.3MB/s的数据可用性层和完整的分片功能;

4、自2019年底以来,数据分片一直是以太坊的目标;

1、2数据可用性采样

1、想知道通过O(1)工作获得的O(n)数据是可用的;

2、思路:将数据分布到n个chunk分块中;

3、每个节点下载k个chunk分块;

1、3纠删码

1、使用?Reed-Solomon编码扩展数据;

2、例如,在编码率r=0.5时,这意味着任何50%的区块都足以重建整个数据;

3、现在采样变得高效

4、但是,我们需要确保编码是正确的;

1、4KZG承诺

1、多项式

2、承诺C(f)

3、评估y=f(z)

证明者可以计算证明π

使用C(f),π,y以及z,验证者可以确认f(z)=y

4、C(f)以及π是一个椭圆曲线元素

1、5KZG承诺作为数据可用性根

1、将“KZG根”想象成类似于Merkle根的东西;

2、不同之处在于“KZG根”承诺了一个“多项式”;

1、6分离分片提案

二、什么是新的

2、1提议者-构建者分离(PBS)

1、被发明用来对抗MEV导致的中心化趋势;

2、MEV意味着更成熟的参与者可以比普通验证者提取更多的价值,这对大型矿池而言意味着优势;

3、PBS在一个独立的角色中“包含”了这种复杂性/中心化,并具有诚实的少数假设;

提议者=验证者,诚实的多数假设意味着高度的去中心化要求;

数据生成者=单独的角色,诚实的少数假设,意味着去中心化只需要确保一个诚实的数据生成者;

2、2审查阻力方案–crList

1、PBS的危险之处:一个高效的构建者可以永久审查一些交易;

2、

3、crLists允许提议者指定构建者必须包含的tx列表,从而恢复旧的平衡;

crList

2、3KZG2d方案

1、为什么不在KZG承诺中编码所有内容?

需要一个超级节点来构建和重建以防失败的情况;

我们希望避免这种假设的有效性;

2、目标:在d个KZG承诺中编码m个分片blob;

如果我们天真地去这样做,那就需要m*k个样本,这样数据就太多了;

相反,我们可以再次使用Reed-Solomon编码将m个承诺扩展到2*m个承诺;

2、4KZG2d方案属性

1、所有样本都可以直接根据承诺进行验证;

2、恒定数量的样本确保概率数据可用性;

3、如果75%+1的样本可用:

所有数据都可用;

它可以从只观察行和列的验证器中重构;

不需要节点观察所有的情况;

三、组合在一起就是Danksharding

1、执行区块和分片区块是一起构建的;

我们以前需要分片委员会,因为每个分片blob可能无法单独使用;

现在,数据生成者的责任是使执行区块有效,并且所有分片blob都可用;

2、?验证可以是聚合的;

3、1Danksharding诚实多数验证

1、每个验证者选择s=2随机行和列;

2、仅证明分配的行/列是否可用于整个epoch时期;

3、一个不可用的区块不能获得超过2^(-2s)=1/16的证明;

3、2Danksharding重构

1、每个验证者都应该重构他们遇到的任何不完整的行/列;

2、这样做时,他们应该将丢失的样本转移到正交线;

3、每个验证器可以在行/列之间传输4个缺失的样本

3、3DankshardingDA采样

1、未来升级

2、每个全节点检查方块矩阵上的75个随机样本;

3、这确保了不可用区块通过的概率<2^(-30);

4、带宽75*512B/16s=2.5kb/s;

四、总结优点和缺点

优点:

1、简单的设计:

不需要分片委员会基础设施;

不需要跟踪分片blob确认;

没有额外的构建者基础设施

可以使用现有的执行层费用市场基础设施;

2、执行链和分片之间的紧密耦合:

使得rollup设计更简单;

zkRollup和执行链之间的同步调用是可能的;

3、分片不需要单独的PBS;

4、随着数据立即被验证者集的1/32确认,并在一个epoch时期内增加到完整的验证者集,抗贿赂的能力增强了;

5、得益于2d方案,全节点将能通过75个样本确保数据可用性,而不是30*64=1920个样本;

新的挑战:

1、增加了数据生成者要求:

构建32MB数据的KZG证明

需要2.5GBit/s的互联网连接来分发样本;

2、为数据生成者提供了更多权力,因为他们充当了执行+数据层服务提供商;

需要通过crList缓解;

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

区块博客

[0:0ms0-4:305ms