Vitalik科普的“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)无需节点观察所有情况;
三、组合在一起就是Danksharding1.执行区块与分片区块共同构建;
(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。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。