木星链 木星链
Ctrl+D收藏木星链
首页 > 瑞波币 > 正文

COL:干货 | 以太坊分片:overview and finality

作者:

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

原地址:https://medium.com/@icebearhww/ethereum-sharding-and-finality-65248951f649

在EthereumCasper101中,JonChoi对Casper做了一个很棒很清晰的综述,并解释了为什么显式最终确定性对于可扩展性大有裨益。本文旨在给出一个以太坊分片的设计概览,并阐释显式最终确定性如何有助于区块链分片。为了完全理解以太坊分片机制提案的技术规范,我强烈推荐深入研究Vitalik写的shardingdoc.区块链可扩展性问题

不断增长的交易。目前的块生成过程导致可扩展性受限。区块的gaslimit束缚了区块的计算容量。无论是提高区块的gas上限,还是大大降低区块时间,都会导致高陈腐率,并削弱网络对抗攻击的能力。并行不足。首先,现有的EVM按先后顺序依次处理交易。其次,出于安全和去中心化的考虑,每个全节点会执行每一笔交易,并存储整个的状态树。进阶阅读:并行执行交易EIP648?—?Easyparallelizability术语

首先,让我们来看一下在主链和分片链上不同层次的对象区别:

-表格1.术语-可以简单地这么认为,交易都会被装入“collation”。与区块类似,一个collation也会指向它在链上的parentcollation。成为一个“collator”,就意味着你有资格在POS分片链上提名一个新的collation。

Poolz Finance的Locked Deal合约遭到攻击,损失约50万美元:金色财经报道,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控显示,ETH、BSC和Polygon链上Poolz Finance的LockedDeal合约遭到了攻击,损失约50万美元。攻击者调用了LockedDeal合约中存在漏洞的函数CreateMassPools,并且在参数_StartAmount中触发了整数溢出的漏洞。攻击者除了获得了大量的poolz token以外还获得了其他代币,请相关项目提高警戒。 此前,Beosin EagleEye监控到Poolz Finance相关代币$POOLZ暴跌90%[2023/3/15 13:05:25]

-图片1.Collation基本数据结构一瞥-基本的二次分片

分片链的共识依赖于主链

与侧链类似,collation只有一小部分的证明必须记录在主链上--这也是我们如何扩展区块链的基本想法:分片链上的交易处于自己独立的空间中,分片验证人只需要验证他们所关注的分片。分片链也通过POS机制依附于主链,以获得更高层次的共识。验证人管理员合约

数据:2023年前两个月比特币ATM机减少超400台:3月1日消息,Coin ATM Radar数据显示,在2023年的前两个月,全球安装的加密货币ATM机净减412台。自2014年以来,加密ATM机的总数稳步上升。在2020年12月至2022年1月的一年中,每个月安装超过1000台加密货币和比特币ATM机。然而,熊市对其增长产生了直接影响。

2022年9月,加密ATM机总数首次出现净下降。而2023年加密ATM安装总量连续两个月下降,创下新低。(Cointelegraph)[2023/3/1 12:36:25]

为了将分片链加入到主链中,在主链上需要有一个叫做验证人管理员合约的特殊合约。VMC是这个分片机制的核心。VMC的目的可以概括如下:权益证明系统。如果验证者表现不端,其权益将会被剥削。伪随机采样。通过将当前块哈希作为种子,采样出合格的collator。基本上,验证者将它们的保证金存入VMC,然后他们的验证代码地址将会被记录在一个VMC内部的全局验证人列表。系统将会从验证人列表中采样出一个分片链的验证人,并将其指定为指定“时期”内,指定分片的验证人。这种方式使得验证者无法提前预测他们何时会成为验证者,也无法预测会成为哪个分片的验证人。Collationheader验证。VMC有一个addHeader(bytescollationHeader)函数,该函数用=来验证collationheader,并记录有效的collationheaderhash。这个函数提供了即时的链上验证。跨分片通信。利用UTXO模型,并通过在主链上进行交易和创建一个receipt,用户可以将以太存入一个指定分片。分片链上的用户可以给定receiptID创建一个消费receipt的交易,来花费该receipt。链上治理。将VMC作为议会,使得验证人可以在链上进行投票。如何在分片内提名Collation?

BAYC:Dookey Dash分数为“N/A”的用户有机会在蟾蜍模式中赢得“召唤”参与资格:2月22日消息,Bored Ape Yacht Club(BAYC)在推特上宣布,下水道将于2月22日重新开放,Sewer Pass持有者可以跳回下水道玩Dookey Dash:蟾蜍模式。用户在该模式中获得前500名或前2000名可为他们的能量源发挥独特的伙伴特征。

此前金色财经报道,BAYC表示,Dookey Dash分数非零用户可参与新篇章“召唤”,分数需提前与Sewer Pass绑定。[2023/2/22 12:21:16]

在阶段1,VMC将会维护100个分片。每个分片并行执行,分片i的客户端只需要验证分片i上的交易。“时期”被定义为一个区块时间的准备窗口,比如PERIOD_LENGTH=5意味着每个周期有5个块。这表明在每个周期内,对于每个分片只有不超过1个有效的collation。

-图片2(a).二次分片。分片状态的证明将被记录在主链VMC上。-一旦验证人被采样为合格的collator来提案一个新的collation,collator必须对最近的collation进行验证,并发送一笔交易来调用addHeader函数。注意,如果collator周期10被采样到提交一个新的collation,这意味着addHeader交易必须被包含在周期10里面,也就是说,交易必须在区块号10*PERIOD_LENGTH到区块号(10+1)*PERIOD_LENGTH-1之间.

DeFi借贷协议Euler部署至BNB Chain的提案已投票通过:2月8日消息,DeFi借贷协议Euler Finance社区已投票通过将项目部署至BNB Chain的提案。该提案由AdamBNB代表BNB Chain基金会提交,83.05%的投票者支持该提案。[2023/2/8 11:54:26]

-图片2(b).对于一个片来说,一个period只有一个collation;一个区块可以包含不同片的多个addHeader交易-collationheaderhash必须被记录在VMC上,以证明它的header全局有效。此外,分片的所有其他验证人必须时刻检测VMC以获得最新状态,然后验证交易是否也有效。分片链的分叉选择规则

在基本分片中,分叉选择规则依赖于最长主链。给定一个分片,它的有效headcollation不是简单的“最长有效分片链”的headcollation,而是“在最长有效主链里面的最长有效分片链”。Figure3(a)中有个例子,主链上有两个分叉,在下图中第二条链是最长有效主链。因为blockB3是headblock,很容易看出collationC3是headcollation。

-图片3(a)-然后Figure3(b)中blockB3'到了。假设blockB3的得分高于blockB3',那么上面的链仍然是最长主链:

数据:近24小时全网爆仓2.48亿美元,以太坊爆仓1.15亿美元:金色财经报道,据Coinglass数据,近24小时全网爆仓2.48亿美元,其中比特币爆仓4320.01万美元,以太坊爆仓1.15亿美元。[2022/11/5 12:19:34]

-图片3(b)-最后Figure3(c)到了block4。注意到,对于这个分片,虽然collationC3的得分比collationC2更高,但是下方的链是最长有效主链,所有现在collationC2是headcollation:

-图片3(c)-更多内容:另一个设计--VladZamfir的shardedforkchoicerule

-一个精巧的设计,保证区块链可以在它们被最终化(finalized)之前原子化-可扩展性与安全性之权衡对于去中心化,可扩展性和安全性这三个属性,区块链系统最多只能三选其二。—BlockchainTrilemmainShardingFAQ出于对系统安全的保证导致了可扩展性受限3。当为了提高TPS将交易分配到各分片的同时,我们随之也减少了每笔交易的计算资源。分片的其中一个重要机制就是,如何在链上生成随机数。collator被选中的几率,应该仅与验证者的保证金相关,且成比例。如果验证人能够预测,或是任意选择他们想要参与的分片,那么不诚实的验证人既可以相互共谋,展开一个适应性攻击。如果采样不能以较高的随机性进行选择,那么攻击者很可能在分片中展开1%攻击:如果有100个分片,攻击者可以专注于攻击某一个分片,他们只需要1%的hashrate(POW)/deposit(POS)就可以控制分片.

-图片4.传统的多数攻击-

-图片5.分片上的1%攻击-分片的区块链显式最终确定性隐式最终确定性v.s.显式最终确定性

首先,我必须声明,分片机制应该同时能够应用于POW与POS的链。即使如此,显式最终确定性这个小物件也跟Casper一样,可以使得分片更加健壮。在一般的POW链中,最终确定性是概率性,隐式的。简单来说,即使区块获得了数以千次的确认,仍有可能对链进行重写。相反,将CaspertheFriendlyFinalityGadget(“FFG”)加密经济机制应用于POS,显式地在协议内强制保证对我们来说,是否是最终确定(we-can-check-if-its-finalized-for-us)。协议内显式最终确定性阈值有个经济风险:它在2/3+1和1/3+1之间创造了一个理想的卡特尔大小。相应地,任何不在2/3+1同盟节点,其最终确定性的边际贡献就将为0。主链最终确定性依赖

在基本分片中,分片链锚定与主链之上。对于分片验证人,我们希望分片,区块链容量在阶段1扩容100倍,因此这100个分片的所有验证人,都将需要监测VMC状态来获得正确有效的headcollation。对于验证人来说,重要的一点是,要尽快确信他们是否是collator。对于普通用户而言,如果我们在阶段2应用跨分片交易,普通用户也将需要在VMC上检索他们的保证金信息。显式最终确定性,将会有助于缓解主链与大量分片链之间同步的不确定性。显式最终确定性有助于无状态客户端

无状态客户端的基本原则是,它不存储整个状态树,相反,无状态客户端只存储状态树根。归档客户端存储整个状态树,并提供给定collation所需的Merkle分支。有了这些Merkle分支,无状态客户端就能够构建部分的状态树,并验证collation。一旦完成验证人采样并再混洗,就会立刻触发同步。有了无状态客户端机制,再混洗的成本低至0,因为它们只需要验证最新的collation来同步分片。

-图片6.无状态客户端模型Figure6.Statelessclientmodel-因为同步过程可能非常快,无状态客户端模型就可能在每个collation之间再混洗成。这不仅会减轻存储压力和开销,也会使系统更安全,因为频繁采样能够获得适应性攻击的抵抗能力。CasperFFG将会提供显式最终确定性阈值afterabout2.5“epochtimes”,也就是说,125个区块时间。如果在再混洗期间,验证人能够验证超过125/PERIOD_LENGTH=25collation,分片系统能够从显式最终确定性中受益,确信从现在起的前25个collation可以最终确定。当然了,如果在同步时有更多collation得到验证,就会更加安全。结束语

希望我已经对当前以太坊的分片设计概念作出了简单介绍,以及显式最终确定性如何有益于分片机制。如果想要深入了解协议设计,请访问ETHResear.ch和shardingdoc。如有任何错误,或是表述不清,欢迎指正!特别感谢VitalikButerin的杰出工作,JonChoi督促我写下这篇文章,Dr.Chang-WuChen修缮,BrianChen给予反馈以及VladZamfir的分享。

标签:COLLATIONHEADCloud ProtocolLAT币有未来吗ZionTopiaHEADBANGERS价格

瑞波币热门资讯
区块链:港版支付宝上线基于区块链的跨境汇款服务

6月25日,港版支付宝AlipayHK上线基于区块链的电子钱包跨境汇款服务。AlipayHK的用户可以用手机向菲律宾钱包Gcash实现基于区块链技术的转账.

1900/1/1 0:00:00
COB:代币的网络效应如何制造出赢家通吃的市场?

编者按:本文来自链闻,星球日报经授权转载。MichaelKarnjanaprakorn撰写的此篇关于「网络效应」的文章,实际上指明了评估当今任何一个区块链项目最核心的价值:是否能让该参与者们联合.

1900/1/1 0:00:00
BLI:给散户项目ICO名额,「Republic」获币安、Neo领投1200万美元融资

一个加密货币项目的ICO价格是很低的,尤其是对于一些优质项目来说。但这些众筹的份额几乎都被机构拿走了.

1900/1/1 0:00:00
区块链:香港区块链创业孵化平台SmartUp获500万美元风险投资

总部位于香港的区块链创业孵化平台SmartUp宣布获得了一笔500万美元的风险投资,投资方为BlockchainJapan.

1900/1/1 0:00:00
CEN:提供区块链开发工具、经验与资金支持,「Centrality」在用平台模式帮助创企协同增长

Odaily星球日报近期接触的新西兰区块链公司Centrality创建于2016年。联合创始人兼CEOAaronMcDonald认为,在“中心化”世界中,商业垄断严重,科技公司巨头市占率高,而中.

1900/1/1 0:00:00
区块链:加密猫游戏热度下降,区块链游戏还有很长的路要走

去年12月,加密猫的火热曾点燃了人们对区块链游戏的热情,随后加密猫项目又在三个月后内获得1200万美元的种子轮融资。但伴随着加密猫的热度下降,人们意识到,区块链游戏还有很长的路要走.

1900/1/1 0:00:00