搜索

矿视界译文:以太坊2.0的分片是如何工作的?

2021-07-21 15:31:31
11390 0 1

什么是分片?

        分片(Sharding)指的是将整个以太坊网络分成许多个小部分(Shards)。每个分片都包含独立的状态、完整的账户系统和智能合约。

        分片绝对是最复杂的以太坊扩展解决方案,因此它也被放在了以太坊2.0路线图中的最后一阶段,给开发者充足的时间开发和在生产环境中测试。

        在进入分片的技术细节之前,我们首先需要了解节点在以太坊网络中扮演的角色。节点负责验证链上交易并确保交易都遵守区块链共识规则。要做到这一点,最好的方法就是让每个节点都保留一份以太坊交易账本的完整副本,用以验证交易的真实性和完整性。但是以太坊的链上数据一直在快速增长,目前的数据大小已经超过1TB,对于普通人来说保存完整的数据副本是不切实际的。

以太坊的瓶颈

        这就导致了一个大问题:如果以太坊全节点的运营成本过高,运营全节点的人数就会越来越少,网络将更容易受到中心化的影响。

        同时,如果每笔交易都需要通过所有节点验证,那以太坊也将难以实现可拓展性,分片将是这些问题的终极解法。

        分片与状态通道和plasma等拓展解决方案不同的是,分片不会将任何交易数据放到链下处理。分片只是将链上数据分成很多个部分,节点就不需要处理网络上的所有交易,而只要处理某一个片区的交易。分片也引发了一个讨论,分片后还能保障区块链的安全吗?

分片的优势

        迄今为止,还没有任何区块链网络可以同时实现以下三个特性:去中心化、可扩展性、安全,这被称为区块链不可能三角。所以,分片可以看做是在这个三难困境前提下,相对牺牲了一部分安全性的情况下,解决以太坊可拓展性的解决方案。

        在每一个分片中,将会周期性地随机挑选出一批公证人(Notaries)用于验证区块,相当于PoW链中矿工的角色。然后以太坊主链上将会有一个委员二次检验这些区块的真实性(Validity)。每个分片的出块方式和块之间的排列方式与主链是完全一样的。

        每个分片都以默克尔树的形式与以太坊主链相关联,两者之间的链接也是加密的。每个分片都可以充当独立的区块链。每个分片上的用户都有自己的账户余额,与以太坊主链无关,只能用于与用一个分片上用户间交易。

        对于以太坊分片最简单的理解方式就是,想象以太坊链被分裂成数千座岛屿,每个岛屿有自己的特色,也是主权独立的。如果他们想联系其他岛屿,将需要使用某种特定协议。每个分片独立存储了该分片上的交易信息,但是在需要时又可以随时返回主链。

分片的挑战

        虽然分片在理论上听起来很不错,但也存在许多潜在的攻击途径。一种特定的攻击是单分片接管攻击(Single-shard takeover attack)。这种攻击的方式是,攻击者接管了某一分片中的大多数出块者,创建了一个提交不实交易信息的恶意分片。

        以太坊核心开发人员提出了随机抽样检查的应对方法,这个解决方案目前还在积极开发中。

        分片在权益证明链上比在工作量证明链上更容易实现。因为权益证明链上本来就已经有活跃的验证者,这些验证者可以被进一步随机指派到不同的分片中去。而在工作量证明中则无法阻止矿工向特定分片贡献算力。如果矿工可以选择他们想要验证的分片,他们就可以联合起来共谋作恶。



作者 | district0x

翻译&校对 | 林芒果

本文由矿视界(奇迹摩尔)翻译整理编辑,如需转载,请标明出处


热门回帖
热帖推荐
牛头大哥
牛头大哥
管理员 船龄 1.9年
【提问有奖】Neo 从2.0到N3,是版本迭代还是蜕变飞跃?
2020年,我们迎来了“DeFi之夏”;2021年,我们见证了NFT出圈。与此同时,DAO、存储、DID等领域也产生了许多落地应用,让市场逐渐看到了区块链的价值。区块链从早期的炒作阶段到如今的落地盛年,底层基础设施公链也随之不断迭代、升级和创新。除了要支撑大规模交易量外,链上应用对公链的功能特性要求越来越高。为了保证去中心化和安全性,链上治理也成为了当下公链的探索方向。关于Neo:Neo是一个由社区驱动的开源平台。利用区块链技术与数字身份,开发者可以通过智能合约实现资产管理数字化与自动化。Neo致力于通过分布式网络建设下一代互联网基础设施,为区块链技术大规模落地奠定基础,以实现智能经济的宏大愿景。自2016年上线至今,Neo主网已稳定运行超过四年。NeoN3预期于2021年发布,将提供更高吞吐量、更强稳定性与安全性,并带来优化的智能合约系统及功能丰富的基础设施集合,旨在赋能开发者并加速企业级区块链创新。Neo官网:https://neo.org本期嘉宾:王佳超,Neo生态拓展总监毕业于澳大利亚MonashUniversity,曾任埃森哲战略咨询顾问,多次成功创业经历,2017年加入Neo,目前主要负责NEO生态发展相关工作。AMA时间:7月29日,周四,下午3点简而言之,N3版本在原来的基础上做了哪些升级?存储、预言机为、DID放在N3的第一层还是第二层?为什么这样考虑?N3网络上线之后,生态发展的重点方向是哪里?Defi?NFT?还是存储?任何与NEO有关的问题,欢迎来聊!提问有奖:AMA结束后嘉宾将选取“优质提问奖”10名,奖励为每人100元微信现金红包。如何参与AMA?在本主题帖下直接回帖提问即可参与,嘉宾将在活动开始后上线回答,欢迎大家围观讨论!如何进群交流?微信扫下方二维码添加小助手(微信号:ljdwudi5520),回复“AMA”,小助手直接邀请进群,快进群跟小伙伴们一起交流探讨吧!
1 天前 | AMA 87999 93
比特币中本聪聪
比特币中本聪聪
副船长 船龄 2.2年
从1000万两周陪到2万是什么体验
前一段时期我经历了人生最大的考验!这时候我天天上班,对单位非常不满,天天气急败坏,用手打墙,五年从没玩过合约,急功近利赌气玩了一周币币合约,想顺势干到7000万,我做多了。小仓位爆仓了,拿现货去补从1000万陪的就剩2万了!最多519那天赔了650万。519当天手一直发抖多少次心如死灰,多少次感觉醉生梦死,多少次想一觉睡死。这种感觉持续了好长时间,幸好这这1000万是我这四年挣的,也没借高利贷,实际本金只有100万。我媳妇也没当回事,一句没责怪我,说就当买个教训了。给大家晒晒图其中有我玩fil3从5万最多到530万,回调到370万提现的图。最后我搞了50万的子弹,这波子弹我能通过我的经验,在这波牛顶能达到500万最低。最低的!拭目以待。还有我这辈子不会玩合约了!
11 小时前 | 区块链社区 27926 51 0
400刀买的bsv
400刀买的bsv
水手 船龄 1个月
涨得太急了
很明显这只是爆一波空军,马上跌回来了
12 小时前 | 区块链社区 34850 26 0