矿视界译文:以太坊2.0的分片是如何工作的?
什么是分片?
分片(Sharding)指的是将整个以太坊网络分成许多个小部分(Shards)。每个分片都包含独立的状态、完整的账户系统和智能合约。
分片绝对是最复杂的以太坊扩展解决方案,因此它也被放在了以太坊2.0路线图中的最后一阶段,给开发者充足的时间开发和在生产环境中测试。
在进入分片的技术细节之前,我们首先需要了解节点在以太坊网络中扮演的角色。节点负责验证链上交易并确保交易都遵守区块链共识规则。要做到这一点,最好的方法就是让每个节点都保留一份以太坊交易账本的完整副本,用以验证交易的真实性和完整性。但是以太坊的链上数据一直在快速增长,目前的数据大小已经超过1TB,对于普通人来说保存完整的数据副本是不切实际的。
以太坊的瓶颈
这就导致了一个大问题:如果以太坊全节点的运营成本过高,运营全节点的人数就会越来越少,网络将更容易受到中心化的影响。
同时,如果每笔交易都需要通过所有节点验证,那以太坊也将难以实现可拓展性,分片将是这些问题的终极解法。
分片与状态通道和plasma等拓展解决方案不同的是,分片不会将任何交易数据放到链下处理。分片只是将链上数据分成很多个部分,节点就不需要处理网络上的所有交易,而只要处理某一个片区的交易。分片也引发了一个讨论,分片后还能保障区块链的安全吗?
分片的优势
迄今为止,还没有任何区块链网络可以同时实现以下三个特性:去中心化、可扩展性、安全,这被称为区块链不可能三角。所以,分片可以看做是在这个三难困境前提下,相对牺牲了一部分安全性的情况下,解决以太坊可拓展性的解决方案。
在每一个分片中,将会周期性地随机挑选出一批公证人(Notaries)用于验证区块,相当于PoW链中矿工的角色。然后以太坊主链上将会有一个委员二次检验这些区块的真实性(Validity)。每个分片的出块方式和块之间的排列方式与主链是完全一样的。
每个分片都以默克尔树的形式与以太坊主链相关联,两者之间的链接也是加密的。每个分片都可以充当独立的区块链。每个分片上的用户都有自己的账户余额,与以太坊主链无关,只能用于与用一个分片上用户间交易。
对于以太坊分片最简单的理解方式就是,想象以太坊链被分裂成数千座岛屿,每个岛屿有自己的特色,也是主权独立的。如果他们想联系其他岛屿,将需要使用某种特定协议。每个分片独立存储了该分片上的交易信息,但是在需要时又可以随时返回主链。
分片的挑战
虽然分片在理论上听起来很不错,但也存在许多潜在的攻击途径。一种特定的攻击是单分片接管攻击(Single-shard takeover attack)。这种攻击的方式是,攻击者接管了某一分片中的大多数出块者,创建了一个提交不实交易信息的恶意分片。
以太坊核心开发人员提出了随机抽样检查的应对方法,这个解决方案目前还在积极开发中。
分片在权益证明链上比在工作量证明链上更容易实现。因为权益证明链上本来就已经有活跃的验证者,这些验证者可以被进一步随机指派到不同的分片中去。而在工作量证明中则无法阻止矿工向特定分片贡献算力。如果矿工可以选择他们想要验证的分片,他们就可以联合起来共谋作恶。
作者 | district0x
翻译&校对 | 林芒果
本文由矿视界(奇迹摩尔)翻译整理编辑,如需转载,请标明出处
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum