主页 > 苹果商城可以直接下载imtoken吗 > 以太坊分片技术分析与发展路线

以太坊分片技术分析与发展路线

这篇文章的目的是让人们更好地理解什么是分片,这是以太坊的企业区块链扩展解决方案之一。 以太坊提出了分片从第一阶段到第六阶段的分阶段发展路线图。 到目前为止,最明确的阶段(第 1 阶段)已经结束,而其他阶段正在按顺序开发。 (截至2018年6月8日)分片发展路线图如下:

图 1 显示。 在本文中,我将讨论分片阶段 1,以便提供分片的清晰概述。 有关分片的更多详细信息将在下一个分片问答中讨论。

碎片化背景

Sharding是以太坊公司为解决Plasma、莱顿网络等区块链的可扩展性问题而提出的解决方案。 Plasma 和 Layton 网络是链下解决方案,而分片是一种链上解决方案,通过改变主链本身的协议来提高主链的性能。

应用的链上解决方案需要对主网络进行硬分叉,而链下解决方案通过在主链之外添加其他系统来消除对硬分叉的需求。

此外,分片是基于权益证明(PoS)算法设计的,以支持从工作量证明(PoW)到以太坊设想的权益证明(PoS)的过渡。

关于分片

首先,分片是一种链上解决方案,它以部分顺序存储跨网络的交易。 然后并行处理这些交易以解决区块链可扩展性问题。 简而言之,数据被拆分并存储为单独的碎片以供处理。

“分片”的概念起源于数据库环境。 在数据库上下文中,分片是对表进行水平分区以处理和存储大量数据的过程。

siteqq.com 以太坊技术详解与实战_以太坊技术分析_以太坊源码分析

同时,Ethereum Shares 将主链拆分为 N 个区块。 每个分片并行处理网络上的所有交易。 因此,通过多个分片来提高网络的整体吞吐量,这与目前主链的交易处理机制形成了对比。 例如,假设有 100 个事务。 10条分片链,平均每条分片链可以同时处理10笔交易。

分片链的特点

为了更好地理解分片,必须了解分片链的组件和关键术语。 然而,随着对分片研究的不断深入,与分片相关的组成部分和术语也在发生着变化。 但同样,本文是对第一阶段规范的重新讨论。

排序:在分片链的主链中,排序与区块一样。 排序规则由事务列表组成。 将组成的信息整理并提交至主链,并由提议者签名。 这里的交易列表是指排序中的交易列表。

Proposer:Proposer主要负责收集交易,创建提案,然后提交给collat​​ors。 此外,该提案是未经验证的整理。

整理人:审查申请人提交的提案。 对于每个epoch,一个sorter被分配给一个shard,并且在某个epoch之前随机选择一个shard。

执行者:将整理后的数据传递到主链中的分片管理器合约(SMC)中。 这改变了分片链的实际状态。 (Executor出现在sharding phase 3)

以太坊技术分析_siteqq.com 以太坊技术详解与实战_以太坊源码分析

Period:分片链整理好的数据提交到主链的时间。 这里的单位是主链的区块数。 例如PERIOD_LENGTH = 5以太坊技术分析,则生成5个区块为1个周期。

前瞻期:在验证分片链中的顺序之前,收集器由 SMC 伪随机分配。 同样,“先行周期”表示每个排序器在某个时间段之前被分配到哪个分片链。 例如,如果 LOOKAHEAD_PERIODS = 4,则意味着收集人必须在 4 个纪元之前将数据分配给分片链。 然后收集人可以确保他们提前下载分片链的状态信息。

分片管理器合约 (SMC)

SMC是在分片链中扮演重要角色的智能合约。 SMC连接主链和分片链,管理收集人和提议人。 SMC 的作用对于分片链参与主链至关重要。 SMC的主要功能如下:

下面看看分片链的结构和SMC的作用

PoS 系统:SMC 管理验证者的存款。 如果收集人在分片链中做错了什么,SMC 可能会削减其存款。

伪随机抽样:SMC 将数据伪随机分布到校验池中的分片链上。 这减少了整理者攻击特定分片的可能性,从而防止整理者知道哪个分片将被分配给哪个分片。

以太坊源码分析_siteqq.com 以太坊技术详解与实战_以太坊技术分析

Collat​​ion header verification:验证分片链提交的collat​​ion header。 SMC 通过 addHeader 函数进行验证,并且必须在启用排序之前进行验证。

跨分片通信:对于跨分片的交易转移,必须在主链中创建收据。 SMC 负责管理此收据。 当分片链中的用户创建收据时,该收据通过 SMC 传递到另一个分片链,该分片链使用它来传输分片交易。 (这将在分片阶段 4 中实现)。

链上治理:SMC 在链上治理中起着核心作用。 收集人投票通过 SMC 进行处理,以便这些投票可以在链上进行。

分片链机制流程

现在让我们看看分片链是如何工作的。 我想让你记住分片链的组成和术语,以了解分片链的机制过程。

(1) 首先,想要通过SMC成为提款人的网络参与者的存款余额。

(2) 同样,希望通过SMC成为收集人的网络参与者也可以通过SMC进行充值。

以太坊源码分析_siteqq.com 以太坊技术详解与实战_以太坊技术分析

(3) 主办单位定期查询SMC状态,看是否被选为编曲单位。

(4) SMC 伪随机地为每个分片链分配收集人。 让他们在前瞻期间下载分片的先前状态。 每个 Collat​​or 都会收到来自提交所选提案的提案人的提案。

(5) 提议人随后将提议提交给担保人。 (提案是未经验证的排序规则。当一个提案被排序规则选中时,提议者从交易发起者那里收取交易费用。)

(6) 收集人投票验证每个提案中交易的有效性。

(7) 如果超过 2/3 的收集人同意提议的交易有效,则该提议有效。

collat​​or调用add_header函数以太坊技术分析,投票后将新建的collat​​ion header发送给SMC。 通过SMC上传的add_header连接到主链。

分片将在此阶段添加执行器和跨分片交易等功能。 首先分析了最基本的碎片化链运行流程和激励结构。 我们来看看分片链的分叉选择规则。

以太坊源码分析_以太坊技术分析_siteqq.com 以太坊技术详解与实战

分片链的分叉选择规则

与主链一样,在分片链中选择哪条链分支也是一个问题。 当前的主链有一个分叉选择规则,当分叉发生时选择最长的边。 然而,分片链中的分叉选择规则更为复杂。

在分片的情况下,主链和分片链基本上都是长链。 即,1)选择最长的分片链,2)主链需要更长的分片链。 让我们仔细看看下图。

在阶段 1 中,分片链中的分叉选择规则取决于最长的主链。 也就是说,当发生分叉时,分片链的选择不应只是最长的分叉链,而是主链中最长的分叉链。

例如,在图 8 中,包含区块 B3 的主链是最长的链。 因此,可以看出块B3是有效的,领子C3也是有效的。 分数是块或排序规则的高度。

如图所示,当添加区块B3'时,上链和下链被捆绑在一起。 在这种情况下,根据主链上的分叉选择规则,随机确定分片时的有效区块。

此时块B3被选为有效块,属于B3的排序规则C3为有效排序规则。

在上图中,一个新的区块 B4' 已添加到底层链中。 底部链是最长的主链。 在这种情况下,当我们比较排序规则 C3 和排序规则 C2 的分数时,排序规则 C3 分数 > 排序规则 C2 分数。 这意味着订单代码为 C3 的分片链是更长的分片链。 但是,分片链的选择取决于主链。 最长主链中包含的排序规则是 C2,而不是 C3。 因此,即使排序规则 C2 的分数较低,排序规则 C2 也成为有效排序规则并被选为有效分片链。 这就是分片链的分叉选择规则。

在本文中,我们重点关注第 1 阶段,其中给出了具体规范以帮助理解整体分片。 如前所述,我们必须解决区块链中的可扩展性问题。 分片非常有趣,因为它是一种链上解决方案,主要用于以太坊中的 PoS 转换。

在分片的情况下,没有发布具体的白皮书,所以官方文档有限。 以太坊基金会还在做分片,分片的信息存储在不同的地方,比如 prysmaTIclabs、ethresearch 和 github。 想要了解最新的分片信息,需要持续更新。