首页 > 头条 > Vitalik科普的“Danksharding”到底是什么?
路安  

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

摘要:翻译:洒脱喜北京时间2月14日情人节当晚,以太坊创始人Vitalik Buterin联合以太坊基金会(EF)研究人员Dankrad Feist一起举办了一场关于扩容解决方案"Danksharding"

翻译:洒脱快乐

以太坊创始人北京时间2月14日情人节当晚Vitalik Buterin联合以太坊基金会(EF)研究人员Dankrad Feist一起举办扩容解决方案Danksharding在教育研讨会上,如果你想知道区块链如何在大规模扩张的同时增加分散和安全属性,那么这个研讨会是一个很好的起点。

数据

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

以下内容来自Dankrad Feist提供的《Dude,what’s the Danksharding situation?》PPT,如果您想观看完整的研讨会视频,请访问以太坊基金会的官员youtube频道。

概述

1.什么是旧的:

(1)数据分片;

(2)使用KZG 承诺的数据可用性;

(3)原始数据分片采用分离分片方案;

2.什么是新的:

(1)提议者-构建者(数据生成者)分离 (PBS);

(2)crList;

(3)2D方案;

(4)建议架构

总结优缺点

一、什么是旧的

1、1 数据分片

1、为Rollup与其他扩容解决方案一起提供数据可用性(DA);

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

(1)以太坊基本共识(全节点和验证者)除保证数据可用外不承担任何责任;

(2)为什么不执行分片?与原生执行相比,rollup二层网络的效率是100 倍,很难看出执行分片的需求;

目标:提供约 1.3 MB/s 数据可用性层和完整的分片功能(最大数据容量为10倍,正常容量为200倍);

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

1、2 数据可用性采样(DA sampling)

想知道通过 O(1)取得 工作O(n) 数据可用;

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

3.每个节点下载 k 个(随机选择)chunk分块;

数据1、3 纠删码(Erasure coding)

数据1、使用Reed-Solomon 编码(多项插值)扩展数据;

例如,在编码率 r=0.5 时,这意味着任何 50% 块(d0 到 e4)足以重建整个数据;

3.现在采样变得高效(比如查询30个随机块,如果全部可用,超过50%不可用的概率为2 ^ (-30))

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

1、4 KZG承诺(KZG Commitments)

1、多项式

数据2、承诺 C(f)

3、评估 y = f(z)

(1)证明人可以计算证明 π(f,z)

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

4、C(f)以及 π(f,z) 是椭圆曲线元素(每个48 字节)

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

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

2.之处在于2KZG 根承诺了一个多项式(所有点都保证在同一个多项式上Merkle根不能保证这一点);

1.6 分片提案

数据

二、 什么是新的?

2、1 提议者-构建者(数据生成者)分离 (PBS)

1、被发明用来对抗 MEV 集中趋势;

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

3、PBS 在一个独立的角色中包含这种复杂性/集中性,并有一些诚实的假设;

(1)提议者(Proposer)= 验证者,大多数诚实假设意味着高度分散的要求;

(2)数据生成者(Builder)= 单独的角色,诚实的少数假设,意味着分散只需要确保一个诚实(非审查)的数据生成者;

数据二、二 审查阻力方案 – crList

1、PBS危险:高效的构建者(Builder)一些交易可以永久审查(以一定的经济成本);

2.[注:在今天的贿赂模型中,审查交易的成本是永久贿赂所有提议人而不包括在内的成本;]

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

crList(“混合 PBS”设计)

数据2、3 KZG 2d 方案

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

(1)需要一个超级节点(构建者)来构建和重建以防止失败;

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

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

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

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

数据2、4 KZG 2d 方案属性

1.所有样品均可根据承诺直接验证(无欺诈证明)!);

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

3.如果样75% 1 样本可用:

(1)所有数据都可用;

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

(3)无需节点观察所有情况;

三、组合在一起就是Danksharding

数据

数据数据

1.执行区块与分片区块共同构建;

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

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

2、? 验证可以聚合;

3、1 Danksharding 诚实多数验证

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

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

3.一个不可用的块(<75% 可用)不能超过 2^(-2s) = 1/16 的证明;

数据3、2 Danksharding 重构

1.每个验证者都应重构任何不完整的行/列;

2.这样做时,应将丢失的样本转移到正交线;

3.每个验证器可以在行/列之间传输4个缺失的样本(约55000个在线验证器可以完全重构)

数据3、3 Danksharding DA 采样(恶意安全多数)

1、未来升级

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

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

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

数据

四、总结优缺点

优点:

1、设计简单:

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

(2)无需跟踪分片 blob 确认;

(3)没有额外的构建者基础设施(执行层的同步支付取代了这一点)

(4)现有的执行层费用市场基础设施可用;

2.执行链与分片之间的紧密耦合:

(1)使得rollup设计简单;

(2)zkRollup 可以同步调用执行链;

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

4.确认数据立即被验证者收集的 1/32(而不是旧分片方案中的 1/2048),并在一个epoch在此期间,抗贿赂能力增强到完整的验证者集;

5、得益于2d全节点(无需操作验证器)将能够通过75 样本(2).5 kb/s)而不是 30,保证数据的可用性*64=1920 样本(60 kb/s);

新的挑战:

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

(1)构建32MB数据的KZG证明(需要100核,但目前正在研究中CPU实现)

(2)需要2.5 GBit/s互联网连接分发样本;

由于他们充当了 数据层服务提供商,因此为数据生成者提供了更多的权力;

(1)需要通过crList缓解;

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:msy2134。