北京时间2月14日情人节当晚,以太坊创始人VitalikButerin联合以太坊基金会研究人员DankradFeist一起举办了一场关于扩容解决方案“Danksharding”的教育研讨会,如果你想了解区块链如何在增加“去中心化”和“安全性”属性的同时大规模实现扩容,那么这场研讨会就是一个好的切入点。
注:关于“Danksharding”对以太坊的意义,建议读者先阅读一下《一文了解以太坊的“扩容杀手锏”danksharding》这篇文章。
以下内容来自DankradFeist提供的《Dude,what’stheDankshardingsituation??》PPT,如果你想观看完整的研讨会视频,可以访问以太坊基金会的官方youtube频道?。
概述
1、什么是旧的:
数据分片;
使用KZG承诺的数据可用性;
使用分离分片方案进行原始数据分片;
2、什么是新的:
提议者-构建者分离(PBS);
crList;
2D方案;
V神:我预计加密货币不会接管世界,但会作为替代资产发挥关键作用:6月16日消息,以太坊联合创始人Vitalik Buterin:我预计加密货币不会接管世界,但会作为替代资产发挥关键作用。(金十)[2022/6/16 4:33:00]
建议的架构
3、总结优点和缺点
什么是旧的
数据分片
为Rollup和其他扩容解决方案提供数据可用性;
数据的含义由应用层定义;
以太坊基础共识除了确保数据可用外不承担任何责任;
为什么没有执行分片?与原生执行相比,rollup二层网络的效率要高100倍,很难看出执行分片会有什么需求;
目标:提供约1.3MB/s的数据可用性层和完整的分片功能;
自2019年底以来,数据分片一直是以太坊的目标;
数据可用性采样
想知道通过O(1)工作获得的O(n)数据是可用的;
思路:将数据分布到n个chunk分块中;
每个节点下载k个chunk分块;
V神:矿池对BCHA进行51%攻击似乎是为了摧毁它:矿工voluntarism.dev发推称,“ABC从BCH偷来的价值与我们的支出相比相形见绌。我们是一群守旧的矿工和巨鲸。我们可以做很多年。下一次你分叉的时候:使用你自己的创世区块,你自己的PoW算法,并建立你自己的社区。BCH受到保护。”
V神转发并评论称 ,矿池对BCHA进行51%攻击似乎是为了摧毁它。这将是第一次真正的重生扎营(spawn camp)对PoW链的攻击吗?但他们的推文需要对此处进行修改:“下次你分叉的时候,*请使用PoS*算法”,这样您就不会受到无追索权的不间断攻击。
根据昨晚发布的Reddit帖子,最新Coinbase文本显示,“不管黑哈希白哈希,能维护矿工利益的就是好哈希。voluntarism.dev:6174 x/x”。11月27日,voluntarism.dev发推称,“ABC违反了NAP与9个月的内战。免费搭车者必须向ABC支付全部区块奖励。我们将孤立所有没有这样做的区块。一旦ABC合并此变更,我们也将支付100%。”4个孤立块(前几天有2个碰撞,今天起有2个区块重组);新的2个区块重组发生在UTC时间12:00左右。[2020/11/28 22:25:42]
纠删码
V神:以太坊可能是将全球社会凝聚在一起的粘合剂:金色财经报道,以太坊创始人V神今日在Ethereal峰会谈到了加密货币在冠状病后的世界中的作用。V神称,以太坊可能是将支离破碎的全球社会凝聚在一起的粘合剂。不过,他目前并未预测全球会有大量资金涌入加密货币市场。当被问及他是否认为当前的量化宽松和大型技术审查浪潮会吸引更多的人使用加密货币时,V神同意这些因素有一定的影响,但强调了现在和12年前的金融差异。他表示,关于审查、隐私和制度的担忧都是非常真实的。Tor、Bittotorrent等确实存在着较早的对审查制度的抵制。到2020年,我们肯定会看到(与2008年)相同的一些主题,但在金融方面将较少。[2020/5/7]
使用?Reed-Solomon编码扩展数据;
例如,在编码率r=0.5时,这意味着任何50%的区块都足以重建整个数据;
现在采样变得高效
但是,我们需要确保编码是正确的;
KZG承诺
多项式
承诺C(f)
评估y=f(z)
证明者可以计算证明π
使用C(f),π,y以及z,验证者可以确认f(z)=y
声音 | V神:以太坊区块链几乎已满,可拓展性仍是一大瓶颈:以太坊创始人Vitalik Buterin在接受The Star采访时表示,以太坊区块链几乎已满,对以太坊生态系统感兴趣的大型组织面临的障碍仍然是区块链可扩展性这一棘手问题。至于如何改善可拓展性,V神表示,网络需要从每台计算机都需要验证每一笔交易演变为一种新的模型,即一台计算机平均只验证区块链上的一小部分交易。V神声称改进后的可扩展性将使成本降低100多倍。虽然在某种程度上这样会牺牲了安全,但妥协是相当温和的。(Cointelegraph)[2019/8/19]
C(f)以及π是一个椭圆曲线元素
KZG承诺作为数据可用性根
将“KZG根”想象成类似于Merkle根的东西;
不同之处在于“KZG根”承诺了一个“多项式”;
分离分片提案
声音 | V神:以太坊计划在2019年开始动手削减能源浪费:据人民网报道,以太坊创始人Vitalik Buterin近日在接受采访时表示,以太坊的耗电量惊人,这不仅造成了巨大的能源浪费,导致了污染和二氧化碳等环境问题,也将真正的消费者排挤在外。他表示,以太坊计划在2019年开始动手削减能源浪费,据目前开发人员预计,到 2019 年底,用以太坊新代码来交易,耗电量可望大幅减少 99% 。[2019/2/3]
什么是新的
提议者-构建者分离(PBS)
被发明用来对抗MEV导致的中心化趋势;
MEV意味着更成熟的参与者可以比普通验证者提取更多的价值,这对大型矿池而言意味着优势;
PBS在一个独立的角色中“包含”了这种复杂性/中心化,并具有诚实的少数假设;
提议者=验证者,诚实的多数假设意味着高度的去中心化要求;
数据生成者=单独的角色,诚实的少数假设,意味着去中心化只需要确保一个诚实的数据生成者;
审查阻力方案–crList
PBS的危险之处:一个高效的构建者可以永久审查一些交易;
crLists允许提议者指定构建者必须包含的tx列表,从而恢复旧的平衡;
crList
KZG2d方案
为什么不在KZG承诺中编码所有内容?
需要一个超级节点来构建和重建以防失败的情况;
我们希望避免这种假设的有效性;
目标:在d个KZG承诺中编码m个分片blob;
如果我们天真地去这样做,那就需要m*k个样本,这样数据就太多了;
相反,我们可以再次使用Reed-Solomon编码将m个承诺扩展到2*m个承诺;
KZG2d方案属性
所有样本都可以直接根据承诺进行验证;
恒定数量的样本确保概率数据可用性;
如果75%+1的样本可用:
所有数据都可用;
它可以从只观察行和列的验证器中重构;
不需要节点观察所有的情况;
组合在一起就是Danksharding
执行区块和分片区块是一起构建的;
我们以前需要分片委员会,因为每个分片blob可能无法单独使用;
现在,数据生成者的责任是使执行区块有效,并且所有分片blob都可用;
?验证可以是聚合的;
Danksharding诚实多数验证
每个验证者选择s=2随机行和列;
仅证明分配的行/列是否可用于整个epoch时期;
一个不可用的区块不能获得超过2^(-2s)=1/16的证明;
Danksharding重构
每个验证者都应该重构他们遇到的任何不完整的行/列;
这样做时,他们应该将丢失的样本转移到正交线;
每个验证器可以在行/列之间传输4个缺失的样本
DankshardingDA采样
未来升级
每个全节点检查方块矩阵上的75个随机样本;
这确保了不可用区块通过的概率<2^(-30);
带宽75*512B/16s=2.5kb/s;
总结优点和缺点
优点
简单的设计:
不需要分片委员会基础设施;
不需要跟踪分片blob确认;
没有额外的构建者基础设施
可以使用现有的执行层费用市场基础设施;
执行链和分片之间的紧密耦合:
使得rollup设计更简单;
zkRollup和执行链之间的同步调用是可能的;
分片不需要单独的PBS;
随着数据立即被验证者集的1/32确认,并在一个epoch时期内增加到完整的验证者集,抗贿赂的能力增强了;
得益于2d方案,全节点将能通过75个样本确保数据可用性,而不是30*64=1920个样本;
新的挑战
增加了数据生成者要求:
构建32MB数据的KZG证明
需要2.5GBit/s的互联网连接来分发样本;
为数据生成者提供了更多权力,因为他们充当了执行+数据层服务提供商;
需要通过crList缓解;
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。