Foresight Ventures:EIP-4844全面解析,以太坊迈向Full sharding的第一步_ING:rushAI价格

原文作者:YihanXu

最近社区参与度超标的?KZGCeremony?都刷到了吧,这个仪式到底在干什么?

简单概括,KZGCeremony?是实现?EIP-4844?不可绕过的一个初始化环节,而?EIP-4844?是实现以太坊?sharding?过程中的先行版本。

Sharding?从数据可用性角度扩容,而?rollup?主要从执行层面扩容,一起缓解主网拥堵问题;我认为?sharding?可能是突破区块链不可能三角的一次尝试。

下面这张以太坊区块大小的走势图可以从另一个角度说明数据层面扩容的必要性。从创世区块开始,以太坊从底层架构到上层应用都在不断地快速迭代,但平均区块大小仍为?90?Kb?左右,最高点也没有质的突破。虽然?Rollup?从计算层切入,解决以太坊拥堵问题,但性能仍然受制于?layer1?的数据存储能力。

由于实现过程的复杂度和安全性考虑,以太坊开发团队将?sharding?分成了多个阶段,其中就包括最近提到的?proto-danksharding?和?danksharding。整个过程将会是一个历时数年的更新;

在目前的以太坊的数据存储模式下,只有少数特定高配置的机器可以加入网络成为节点,而?fullsharding?之后?ethereum?不再需要每个节点都保存全部数据,在降低主网数据存储成本的同时加强了安全性。

二、EIP-4844:短期高回报,Sharding?的精简先行版

EIP-4844=Proto-Danksharding;

Proto?来自以太坊研究者的名称

由于实现?danksharding的复杂度很高,开发周期至少是以年为单位的。因此?proto-danksharding?是实现?danksharding?前对以太坊的扩容方案,主要实现了?danksharding?中的交易格式、precompile?等设计;

每个?transaction?最多挂?2?个?blob;

每个?block?理想状态包含?8?个?blob,约为?1?MB,最多包含?16?个?blob,约为?2?MB;

Blob?不需要像?calldata?一样作为?historylog?被永久存储;

FATF发布关于极端右翼组织涉及加密货币融资的报告:6月30日消息,全球反监督机构金融行动特别工作组(FATF)发布了一份关于极端右翼团体融资方式的报告,其中有一节涉及加密货币。

FATF题为 \"以种族或族裔为动机的恐怖主义融资 \"的报告指出,像比特币这样的虚拟资产已经被极端分子使用,该报告还强调,一些极右翼团体已转向所谓的“隐私币”,允许用户在进行区块链交易时保持完全匿名。(CoinDesk)[2021/7/1 0:18:31]

相比?danksharding,节点还是需要对完整的?DA?进行验证。

2.Blob-carryingtransaction?解读

给?transaction?挂上?blob

作用

参考?Vitalik?在提案中给出的图,Datablob?和当前的?calldata?相似,rollup?可以将交易、证明等数据通过?blob?上传到?layer1?来保证?dataavailability。

成本

Datablob?的设计初衷是支持?rollup高通量的交易,相比同等大小的?calldata,blob?的成本将会降低很多。因此,rollup?在维持数据可用性上花费的?gas?相比之前会显著降低。

容量

每个?blob?的大小约为?125?kB。

3.Blob-carryingtransaction?的价值和挑战

价值

可以把?blob?看成一种缓存,rollup?提交的交易数据从此以缓存的形式存在。降低对存储硬件的要求,为以太坊提供额外的数据扩容并降低?gas?成本。

挑战:对以太坊节点硬件性能的要求

Ethereum?当前平均区块大小只有~?90?kB,但是一个?blob?就有~?125?kB

根据?EIP-4844?的设计,每个?slot?正常情况下约为?1MB,因此每年增加的数据量为:?1MB/block*5block/min*43200min/month*12month/year=?2.47TBperyear

每年增加的数据大小远超过了以太坊数据总量,这样的存储方案显然是不高效的。

动态 | 法院撤销关于Blockvest的违约判决:Tommy和Christine Garrison夫妇提起针对Blockvest的诉讼,他们声称该项目违反了证券法,从事了非法的商业行为。两人已经对Rosegold Investments和项目背后的Master Investment Group公司提起了诉讼,并将Rasool Abdul Rahim El列为被告。Ringgold自行回应了诉讼,但两家公司未能对诉讼做出回应,并于2019年9月25日因缺乏反方意见而被追究违约责任。1月21日,法院撤销了此判决。法院文件显示,撤回的理由是所有三个实体密切相关。Ringgold是两家公司的创始人兼董事总经理,但他并非违约判决的一部分。此前消息,2018年10月,SEC叫停Blockvest的ICO。Blockvest此前宣称其ICO获得SEC的批准,并称其加密基金也获得执照和SEC的认可,而SEC则表示这完全是捏造,且违反了证券法。2019年2月,美国法官Gonzalo Curiel对Blockvest及其创始人Ringgold发出禁令,认定被告违反了证券法。(Cointelegraph)[原文链接][2020/1/23]

解决方案

从短期扩容效果看,由于每个节点仍然需要储存全量历史数据,在实现?EIP-4844?的同时,对一段时间窗以外的?blob进行自动删除;

从?sharding?的长期利益看,实现?EIP-4444?,即节点不需要存储全量历史数据,而是只需要参照?historyexpiry,存储特定时间之后的数据;

这两种解决方案从不同程度上缓解了?blob-carryingtransaction?在存储空间上的?tradeoff。

4.KZGCommitment

KZGCommitment?是?EIP-4844?中采用的多项式承诺方案

解析?KZGcommitment

KZG?是作者?AniketKate,GregoryM.Zaverucha?和?IanGoldberg?姓氏的缩写,他们在?2010?年发表了多项式承诺方案论文“Constant-SizeCommitmentstoPolynomialsandTheirApplications”,并且这个方案在?plonk-style?的?zk-snark?协议中有很广泛的应用。

关于“比特币已经死了”的文章超过250亿篇:从加密货币诞生之初全球的媒体一直在散播比特币已经死了的言论。关于“比特币已经死了”的文章超过了250亿篇,而且还在不断增加。然而那些末日论者们一次又一次地错了。[2018/3/31]

参考?DankradFeist?演讲中的示意图,KZGroot?类似?Merkleroot,区别在于?KZGroot?承诺一个多项式,即所有?position?都在这个多项式上。基于?proto-danksharding?的场景,KZGroot?承诺了一堆数据,其中的任何一个数据都可以被验证属于这个整体。

这也是为什么?KZGcommitment?在兼容性上对后面实现?DAS?更友好。

KZGcommitment?的流程如下:

Prover:提供证明,计算?data?的?commitment,prover?无法改变给定的多项式,并且用于证明的?commitment?只对当前这一个多项式有效;

Verifier:接收?prover?发送的?commitmentvalue?并进行验证,确保?prover?提供了有效的证明。

KZGCommitment?的优势

我认为主要出于对成本和安全性的思考,可以归纳但不局限于以下几点:

成本

KZGcommitment?具备快速验证、复杂度相对更低、简洁的特点;

不需要提交额外的?proof,因此成本更低、更省?bandwidth;

数据触达所需的?Pointevaluationprecompile?可以获得更低的成本。

安全

假设出现了?failure,也只会影响?commitment?对应的?blob?中的数据,而不会其他深远的影响。

更兼容

纵观?sharding?的整体方案,KZGcommitment?对?DAS?方案兼容,避免了重复开发的成本。

5.KZGCeremony(trustedsetup)

KZGCeremony?是为?KZGCommitment?提供?trustsetup,目前吸引了超过?20,?000participants?的参与和贡献,已经成为历史上最大规模的?trustsetup。

日本九州工业大学将开设关于区块链技术课程:根据日本经济新闻报道,日本九州工业大学将于今年夏天实施区块链技术相关课程。据悉,九州工业大学与和近畿大学一起开发区块链的HAW International公司一起合作并将与6月进行区块链技术相关课程,这是日本国内首个区块链技术相关的课程。[2018/3/19]

最近社区参与热情高涨的?KZGCeremony?就是为?EIP-4844?采用的?KZGcommitment?提供?trustsetup;

KZGCeremony?的流程

参考?Vitalik?的流程图,任何人都可以作为?participants?贡献?secret?并与之前的结果进行混合产生一个新的?result,以此类推,通过套娃的形式获得最终的?SRS,并协助完成?KZGcommitment?的?trustsetup

trustsetup

EIP-4844?中采用了一种常见的?multi-participanttrustsetup,即?powers-of-tau;

遵循?1-of-N可信模型,不管多少人参与?generatingsetup?的过程,只要有一个人不泄漏自己的生成方式,可信初始化就是有效的;

必要性

KZGcommitment?的?trustsetup?可以简单理解为:生成一个在每次执行?cryptographicprotocol?时需要依赖的一个参数,类似于?zk-snark?需要可信初始化;

Prover?在提供证明时,KZGcommitmentC=f(s)g?1?。其中?f?是评估函数,s?就是?KZGtrustedsetup?最终获得的?finalsecret;

可以看出?finalsecret?是生成多项式承诺的核心参数,而作为获取这个核心参数的可信流程,这次?KZGCeremony?对于整个?sharding?的实现非常重要。

6.EIP-4844?带来的变化

Rollup

参考?ethresear?上给出的示意图,rollup?需要将?statedelta、KZGcommitment?的?versionedhash?包含在?calldata?中进行提交

dForce官方:去中心化金融将为数字黄金衍生品提供更多机会:7月27日早间,dForce官方发推称,数字黄金代币的好处是什么?数字黄金已成为直接投资黄金的另一种选择,同时避免了在传统金融市场持有实物黄金或其他黄金资产所带来的诸多挑战。与其物理属性相比,数字黄金提供了许多好处,包括高可伸缩性、互操作性和可编程性。此外,数字黄金在黄金投资方面更具吸引力。数字黄金可以在任何时候进行交易,费用低,存储方便。新兴的去中心化金融将为数字黄金衍生品提供更多的机会。[2020/7/27]

可以发现不同的是,calldata?只包含一些数据量小的,比如?statedelta、KZGcommitment,而将包含大量交易数据的?transactionbatch?放到了?blob?里。

有效降低成本,放?calldata?里很贵;

降低对区块空间的占用

安全性

Dataavailability:Blob?存储在信标链上,等同于?layer1?的安全性;

历史数据:节点不会只会将?blob?存储一段时间,需要?layer2rollup?做永久数据存储,因此安全性依赖于?rollup。

成本

Proto-Danksharding?引入了新的交易类型,低成本数据格式?blob?的加入无疑会让?rollup?的成本进一步降低,取决于实际链上应用和实现进展,优化后?rollup?的成本可能降低?x?10?甚至?x?50?;

同时?EIP-4844?引入了?blobfee;

Gas?和?blob?将会分别有可调节的?gasprice?和?limit;

Blob?的收费单元还是?gas,gasamount?随?traffic?变动,以此维持每个?block?平均挂?8?个?blob?的目标

Precompile?的实现

Blob?中的数据本身无法被直接触达,EVM?只能获取?datablob?的?commitment。因此需要?rollup?提供?precompile?来验证?commitment?的有效性.

下面分析两种?EIP-4844?中提到的?precompile?算法

Pointevaluationprecompile

证明多个?commitments?指向同一数据;

主要针对?zk-rollup,rollup?需要提供?2?种?commitments:1.KZGcommitment;2.zk-rollup?本身的?commitment;

对于?optimisticrollup,大多数已经采用了?multi-roundfraudproof?的机制,finalroundfraudproof?所需的数据量较小。因此,采用?pointevaluationprecompile?能达到更低的成本

Blobverificationprecompile

证明?versionedhash?和?blob?是有效对应的;

optimisticrollup?在提交欺诈证明时需要?access?全量数据,因此先验证?versionedhash?和?blob?合法,再进行?fraudproofverification

三、Danksharding:迈向?fullsharding?的重要一步

Danksharding?的命名来自以太坊研究员?DankradFeist

1.扩容:进一步扩充?Rollup?的缓存空间

在?proto-danksharding?实现后,由于新的交易格式引入了?blob,每个区块可以平均额外获得?1?MB?的缓存空间。Danksharking?实现后,每个区块额外?16?MB,最大允许?32?MB。

2.Data?availability:存储和验证策略更高效

相比?proto-danksharding?要求全节点下载全量数据,Danksharking?实现后以太坊节点只需要对?blob?抽样。Sampling?后的数据会分布在全网节点中,并可以组成完成的?datablob。

DAS:高效抽样检查

通过纠缠码帮助全网节点在下载部分数据的情况下更容易发现原始数据的丢失的概率,从而提升安全性

3.安全性:基本不变

由于每个节点不再保存全量历史数据,从数据可用性、备份和抽样检查的角度出发,安全性由至少一个节点保存全量数据变为多个节点存储部分数据,并最终还原完整数据。

虽然乍一看对单点的依赖安全性远高于对多点的依赖,但是以太坊网络中的节点数量够多,完全可以保证数据备份的需求,因此安全性并不会有很大变化。

4.新的挑战:对?blockbuilder?的要求提升

虽然验证者不需要下载并保留全量历史数据,对?bandwidth?和存储硬件的要求得到了缓解,但是区块创建者仍然需要上传包含全量?transactiondata?的?blob?数据。

这里简单介绍一下PBS(proposer/builderseparation),参考?Dankrad?给出?PBS?在?danksharding?方案中的应用图:

将负责出块负责人的角色拆分为?proposer?和?builder。最初是为了做?anti-MEV?设计的提案,在?danksharding?的设计中为了降低区块创建时对bandwidth?的要求。

四、其他?sharding?方案:Shardeum?的动态分片

Shardeum?是?EVM?兼容的?layer1?公链,与以太坊的?staticsharding?方案不同,shardeum?通过dynamicstatesharding的方案提升底层可扩展性和安全性,同时,天然地保证较高的去中心化程度;

1.Dynamicstatesharding

优势

Dynamicstatesharding?带来最直观的优势在于?linearscaling,接入网络的节点可以非常高效的被?sharding?算法动态分组,并快速响应,提升区块链网络的?TPS。在?dynamicstatesharding?的设计中,每个节点会覆盖不同?range?的?address,并且覆盖范围又会有冗余设计以保证高效的?sharding?和安全性。

场景内实现

抛开生态的复杂度,单从两种技术实现的角度看,dynamicstatesharding?的难度大于?staticsharding。可以看出?Shardeum?的技术团队在?sharding?的技术层面有很深的积累,团队之前在?Shardustechnology?上的研发也对这条公链的底层技术做出了很大贡献,甚至在项目早期阶段很好的展示了?dynamicstatesharding?所带来的?linearscaling。

2.Shardeum?综合归纳

产品

将节点划分到不同的?group,参考?divideandconquer?的思路,把计算和存储的?workload?进行分流,从而允许更高程度的并行处理。因此,可以容纳更多节点加入,进一步提升公链的?throughput?和去中心化程度。

团队

市场经验丰富,叙事能力超强,对动态分片研究很深。

技术

针对自己的场景设计了合适的?sharding?方案(dynamicstatesharding)和共识的设计(ProofofStakeProofofQuorum),以提升可扩展性为第一目标,保证更高程度的去中心化和安全性。

进度

将在?2023-02-02launchbetanet,值得关注。

五、对?sharding?的思考和展望

Sharding?是以太坊扩容的长久之计,也是一个价值巨大、意义深远的长期方案。实现?sharding?的过程中,现有所有方案都可能被不断迭代,包括现在提到的?proto-danksharding、danksharding?等,值得持续关注;

对?sharding?大方向的理解很重要,但是每一个实现?fullsharding?过程中的提案所采纳的技术方案同样值得关注,并且我相信也会涌现很多相关的优秀团队和项目;

Sharding?是对一种扩容技术的统称,但具体落地的方案并不是只有一种。需要认识到不同的公链会有适合自己场景的?sharding?方案。比如?danksharding?中的一些设计也只适合以太坊网络,安全性的?tradeoff?需要大量的节点来抵消;

Sharding?和其他扩容方案的合理结合对于可扩展性的提升?1?1>2?。目前的?Danksharding?并不是自成一派的扩容方案,而是和以太坊生态的其他实现相辅相成的。比如?Danksharding?和?rollup?一起,为以太坊扩容达成更好的效果。

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

金宝趣谈

[0:31ms0-3:131ms