本文的目的是使人们更好地理解什么是分片,这是以太坊公司区块链缩放解决方案之一。以太坊已经提出了从第一阶段到第六阶段关于分片的阶段性开发路线图。到目前为止,最明确定义的阶段(阶段1)已经结束,而其他阶段正在按顺序开发。(截止2018年6月8日)分片发展路线图如下:
图1所示。在本文中,我讨论了分片阶段1,以便提供分片的清晰概述。关于分片的更多细节将在下期分片问答中讨论。
分片的背景
分片是以太坊公司为解决区块链(如等离子体和莱顿网络)的可伸缩性问题而提出的一种解决方案。等离子体和莱顿网络是脱链解决方案,分片是一种通过改变主链本身的协议来提高主链性能的链上解决方案。
应用链上解决方案需要主网络的硬分支,而非链上解决方案通过在主链外添加其他系统来消除对硬分支的需要。
此外,基于厉害关系证明(PoS)算法设计分片,以支持以太坊所设想的从工作量证明(PoW)到厉害关系证明(PoS)的过渡。
关于分片
首先,分片是一种链上解决方案,它将整个网络按照部分顺序来存储事务。然后并行处理这些事务,以解决区块链可伸缩性问题。简而言之,数据被分割并存储为单独的分片以供处理。
“分片”的概念源于数据库环境。在数据库环境中,分片是对表进行水平分区以处理和存储大量数据的过程。
同时,以太坊共享将主链分割成N块。每个分片并行地处理网络上的所有事务。因此,网络的总体吞吐量通过多个分片来提高,这与当前主链的事务处理机制形成了对比。例如,假设有100个事务。使用10个分片链,每个分片链平均可以同时处理10个事务。
分片链的特点
为了更好地理解分片,必须了解分片链的组件和关键术语。然而,随着分片研究的不断深入,分片相关的组件和术语也在不断变化。但同样,本文还是在第一阶段规范的再次进行的讨论。
排序: 在分片链的主链中,排序与块的作用相同。排序规则由事务列表组成。整理构成的信息,并通过提案人的签名提交给主链。在这里,事务列表指是排序中的事务列表。
提案人:提案人主要负责收集事务,创建提案,然后将其提交给核对人。此外,提案是未经验证的整理。
Collator:审核申请人提交的提案。对于每个时间段,一个排序器被分配给一个分片,而分片是在某个时间段之前随机选择的。
执行器:将整理的数据传递到主链中的分片管理器契约(SMC)中。这改变了分片链的实际状态。(执行器出现在分片阶段3)
期间:分片链的整理数据向主链提交的时间。这里的单位是主链中的块数。例如,如果PERIOD_LENGTH = 5,生成5个块的是1周期。
前瞻周期 : 核对人是SMC在验证分片链中的排序之前伪随机分配的。同样,“前瞻周期”表示每个排序器在某个时间段之前被分配到哪个分片链。例如,如果LOOKAHEAD_PERIODS = 4,它意味着核对人在4周期之前必须把数据分配到分片链中。然后,核对人才可以确保他们提前下载分片链的状态信息的时间。
分片经理合同(SMC)
SMC是在分片链中起重要作用的一种智能合约。SMC连接主链和分片链,管理整理器、提案器。SMC的角色对于分片链参与主链是至关重要的。SMC的主要作用如下:
让我们看看分片链的结构和SMC的作用
PoS系统:SMC管理核对人的存款。如果核对人在分片链中做错了什么,那么SMC可能会削减一个人的存款。
伪随机抽样:SMC伪随机将数据分配给核对人池中的分片链。这减少了核对人攻击特定分片的可能性,这样可以防止核对人知道哪个分片会被分配给哪个分片。
整理头验证:验证分片链提交的整理头。SMC通过addHeader函数进行验证,并且必须在启用排序之前进行验证。
跨分片通信:对于分片的事务传输,必须在主链中创建收据。SMC起到管理这个收据的作用。当分片链中的用户创建收据时,该收据将通过SMC传递给另一个分片链,并使用它来传输分片事务。(这将在分片阶段4中实现)。
链上治理:SMC在链上治理中起着核心作用。整理人员的投票通过SMC进行处理,以便这些投票可以在链上进行。
分片链式机制过程
现在让我们看看分片链是如何工作的。我想让你们记住分片链的组成和术语来理解分片链的机理过程。
(1)首先,想通过SMC成为提款人的网络参与者存款余额。
(2)同样,希望通过SMC成为核对人的网络参与者也可以通过SMC进行存款。
(3)整理人员定期检查SMC状态,看是否选择他们作为整理人员。
(4) SMC将整理器伪随机分配到每个分片链上。使他们在前瞻期间下载分片的先前状态。每个整理人会从提出选定方案的提案人处收到建议标书。
(5)然后提案人向保证人提交建议书。(建议书是指尚未核实的校勘。当一个提案被核对人选中时,提案人会从交易发起人那里收取交易费用。)
(6)整理人进行表决,以核实每份建议书内的交易是否有效。
(7)如果超过2/3的整理人批准提案的交易有效,那么提案就是有效的。
核对人调用add_header函数并在投票后将新创建的校对标头发送到SMC。通过SMC上传的add_header连接到主链。
分片将在这个阶段中添加执行器和跨分片事务等功能。首先分析了最基本的分片化连锁经营流程和激励结构。让我们看看分片链的分叉选择规则。
分片链的分叉选择规则
与主链一样,在分片链中选择分支的链也是一个问题。当前主链有一个分叉选择规则,当分支发生时,它会选择最长的边。然而,分片链中的分叉选择规则更为复杂。
在分片的情况下,主链和分片链基本上都是长链。也就是说,1)选择最长的分片链,2)主链需要较长的分片链。让我们仔细看看下图。
在阶段1中,分片链中的分叉选择规则取决于最长的主链。也就是说,当一个分支发生时,分片链的选择不应该仅仅是最长的分叉链,而是主链中最长的分叉链。
例如,在图8中,包含块B3的主链是最长的链。因此,可以看出块B3是有效的,以及collation C3也是有效的。得分是块或整理的高度。
如图所示,当添加块B3 ‘时,上面的链和下面的链被捆绑在一起。在这种情况下,根据主链上的分叉选择规则,在分片时刻的有效块是随机确定的。
此时,B3块被选择为有效块,而属于B3的排序规则C3是有效的排序规则。
在上图中,底层链中添加了一个新的块B4 ’。底链是最长的主链。在这种情况下,当我们比较排序规则 C3和排序规则n C2的分数时,排序规则 C3分数》 排序规则C2分数。这意味着带有排序码C3的分片链是较长的分片链。然而,分片链的选择取决于主链。最长的主链中包含的排序规则是C2,而不是C3。因此,尽管排序规则C2的得分较低,但排序规则C2也会成为一个有效的排序规则,并被选为一个有效的分片链。这就是分片链的分叉选择规则。
在本文中,我们关注的是阶段1,在阶段1中给出了具体的规范,以帮助理解总体分片。如前所述,我们必须解决区块链中的可伸缩性问题。分片是非常有趣的,因为它是一个链上的解决方案,主要用于以太坊中的PoS转换。
在分片的情况下,没有发布具体的白皮书,所以公文是有限的。以太坊基金会仍在进行分片,分片的信息存储在不同的地方,比如prysmaticlabs、ethresearch和github。如果你想了解最新的分片信息,你需要不断更新。
评论
查看更多