月亮链 月亮链
Ctrl+D收藏月亮链

ING:深度解读 EIP-4844:Sharding 的一小步,以太坊扩容的一大步_HARD

作者:

时间:1900/1/1 0:00:00

撰文:YihanXu,ForesightResearch

在这篇报告中你可以了解到:

EIP-4844;

Proto-danksharding;

Danksharding;

KZGCommitment;

KZGCeremony;

Dynamicstatesharding;

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

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

一、Sharding:以太坊扩容的长久之计

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

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

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

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

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

EIP-4844=Proto-Danksharding;

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

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

1.Proto-danksharding概述

Proto-Danksharding主要引入了一种新的transactiontype,也就是blob-carryingtransaction。至此,Rollup的数据通过blob的形式以更低的成本向layer1传输,并作非永久存储。同时,blob远大于现在的calldata,可以更好地支持rollup上的高TPS。

《新时代的中国网络法治建设》白皮书:积极推行区块链等现代科技在诉讼服务等领域的深度应用:3月16日消息,国务院新闻办公室16日发布的《新时代的中国网络法治建设》白皮书指出,中国积极探索司法活动与网络技术深度融合的新路径、新领域、新模式,让社会正义“提速”。

白皮书指出,中国积极推行大数据、云计算、人工智能、区块链等现代科技在诉讼服务、审判执行、司法管理等领域的深度应用,先行先试构建中国特色的网络司法模式。鼓励各地法院因地制宜,结合当地互联网产业发展情况和网络纠纷特点,探索具有地域特色的新型互联网审判机制。[2023/3/16 13:08:29]

关于blob:

每个transaction最多挂2个blob;

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

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

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

2.Blob-carryingtransaction解读

给transaction挂上blob

作用

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

成本

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

容量

每个blob的大小约为125kB。

3.Blob-carryingtransaction的价值和挑战

价值

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

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

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

根据EIP-4844的设计,每个slot正常情况下约为1MB,因此每年增加的数据量为:

1MB/block*5block/min*43200min/month*12month/year=?2.47TBperyear

现场丨中国银行业协会首席信息官高峰:大数据、区块链、5G等多种技术生态融合有利于金融深度和广度发展:金色财经报道,在上海举办的外滩大会上,中国银行业协会首席信息官高峰现场进行主题分享《生态银行让金融更普惠》指出,5G为生态银行带来了新的机遇,5G主要是为移动场景下云计算、大数据、区块链这些技术的基础提供了环境,多种技术的生态融合,有利于金融的深度和广度发展,场景能不能做成生态,关键是深度有多深,有多深才会有多宽。[2020/9/26]

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

解决方案

从短期扩容效果看,由于每个节点仍然需要储存全量历史数据,在实现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协议中有很广泛的应用。

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

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

KZGcommitment的流程如下:

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

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

HBTC霍比特与TRON波场达成深度合作:据HBTC霍比特(原BHEX)交易所官方消息,HBTC霍比特已与TRON波场达成深度合作,双方将携手共创DeFi和匿名生态的发展。目前,HBTC霍比特已上线TRX和BTT,并且在未来将陆续上线WIN、JST、USDJ。

HBTC霍比特交易所是100%持币者共享的交易平台,由火币、OKEx等56家优质资本共同投资。经过近两年时间的平稳运行,HBTC霍比特能够为客户提供币币、合约、期权等业务,并且平台上主流币及合约交易拥有行业顶级的流动性和深度。

波场TRON致力于为去中心化互联网搭建基础设施。旗下的TRON协议是全球最大的基于区块链的去中心化应用操作系统协议之一,为协议上的去中心化应用运行提供高吞吐,高扩展,高可靠性的底层公链支持。波场TRON还通过创新的可插拔智能合约平台为以太坊智能合约提供更好的兼容性。[2020/7/7]

KZGCommitment的优势

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

成本

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

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

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

安全

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

更兼容

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

5.KZGCeremony(trustedsetup)

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

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

KZGCeremony的流程

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

trustsetup

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

云南省省长:推动区块链等信息技术与实体经济深度融合:3月5日,云南省全省加大投资促进发展电视电话会议在昆明召开。省委副书记、省长阮成发指出,要抓好数字经济投资,抢抓疫情催生线上新业态发展的机遇,加快5G网络基础设施建设,推动互联网、大数据、人工智能、区块链等信息技术与实体经济深度融合,大力培育新业态、新动能。(云南发布)[2020/3/5]

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

必要性

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

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

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

6.EIP-4844带来的变化

Rollup

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

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

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

降低对区块空间的占用

安全性

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

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

成本

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

同时EIP-4844引入了blobfee;

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

声音 | 人民法院报:区块链等固证存证手段在司法领域深度运用:今日,人民法院报刊文指出,智慧法院建设给司法带来深刻变化。如互联网诉讼平台建设,包括在线诉讼的当事人身份认证、在线立案、在线庭审、电子证据认证、电子送达、电子签名、电子笔录、电子档案等,其中运用可信时间戳、哈希值校验、区块链等固证存证手段都表明了前沿技术在司法领域的深度运用。[2018/11/1]

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,每个区块可以平均额外获得1MB的缓存空间。Danksharking实现后,每个区块额外16MB,最大允许32MB。

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)和共识的设计(ProofofStake+ProofofQuorum),以提升可扩展性为第一目标,保证更高程度的去中心化和安全性。

进度

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

五、对sharding的思考和展望

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

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

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

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

Reference

https://notes.ethereum.org/@dankrad/kzg_commitments_in_proofs

https://notes.ethereum.org/@dankrad/new_sharding

https://vitalik.ca/general/2022/03/14/trustedsetup.html

https://notes.ethereum.org/@vbuterin/proto_danksharding_faq#Why-use-the-hash-of-the-KZG-instead-of-the-KZG-directly

https://ethresear.ch/t/easy-proof-of-equivalence-between-multiple-polynomial-commitment-schemes-to-the-same-data/8188

https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html

https://notes.ethereum.org/@dankrad/new_sharding

https://eips.ethereum.org/EIPS/eip-4844

https://www.eip4844.com/

https://biquanlibai.notion.site/Data-Availability-caa896aae59d489b98f2448f17b01640

https://docs.google.com/presentation/d/1-pe9TMF1ld185GL-5HSWMAsaZLbEqgfU1sYsHGdD0Vw/edit#slide=id.g1150d91b32e_0_474

https://ethresear.ch/t/a-design-of-decentralized-zk-rollups-based-on-eip-4844/12434

标签:INGSHASHARDHARDFishingTownGilTokenSHIBSHABU价格Crypto Gladiator ShardsCrypto Gladiator Shards

fil币价格今日行情热门资讯
区块链:Balancer 发现一问题后督促部分池的 LP 尽快提取流动性_NuriFootBall

据Balancer发推称,“部分Balancer池的协议费用已设置为0,以避免即将公开披露的一个问题,该问题已得到缓解。该举措是由紧急多重签名完成的.

1900/1/1 0:00:00
TER:获推特创始人认可、基于社媒协议 Nostr 的 Damus,有望引爆 Web3 新社交吗?_AVASTR价格

作者:Logicrw,Blockbeats「PuraVida」。1月1日,前TwitterCEOJackDorsey在自己的Twitter上打出了这组词,点赞无数.

1900/1/1 0:00:00
BSV:BSV Claims Limited 向四家交易所提起涉及 24.3 万人的集体诉讼,索赔 99 亿英镑_gusd币暴涨

据彭博社报道,BSVClaimsLimited向包括币安和Kraken在内的四家加密货币交易所提起集体诉讼,本次诉讼将代表在2019年4月至2022年7月期间持有BSV的英国居民.

1900/1/1 0:00:00
CVX:Curve 生态热度再起,这个 DAO 开发的项目一定要关注_LEV

撰文:Jack,BlockBeats最近,关于Curve的讨论非常火热,随着生态的不断扩充和发展,Curve以及Convex的「乐高玩法」也越来越多.

1900/1/1 0:00:00
NFT:a16z Crypto 总法律顾问:Kraken 与 SEC 达成和解不会影响其他交易平台_TCAN币

a16zCrypto总法律顾问MilesJennings针对“Kraken与SEC达成和解”一案发表评论称:“质押对生态系统来说非常重要,质押即服务项目既合法,也允许更多人参与区块链技术.

1900/1/1 0:00:00
TOK:Syndicate vs. TokenTable:Alameda 崩溃后,Web3 需要怎样的投资基础设施?_KEN

作者:ChainCatcher由于链上交易的特殊性和长期以来监管政策的不明确,加密公司很难找到完美兼容业务的投资管理工具或基础设施.

1900/1/1 0:00:00