William Villanueva 的博客 A Journey Through Phase 2 of Ethereum 2.0 对到这里为止的 Phase 2 提案给出了完美的总结。
这个提案的长处是,不需要通过什么巨大的要领来协调中继者和区块提议者之间的付出往来,但没有指明用户该怎么和中继者举办交互,只是发起利用付出通道。
就在不久之前,V 神提出了 Phase 2 另类架构,规划完全去掉分片的状态。要害之处在于,在信标链中插手了完整的、有状态的、可表达的状态转换引擎(譬喻 EVM)。这个引擎作为“调治员”,一连追踪 EE 的状态根。调治员设计也让多分片事务执行成为大概:凭据既定的顺序查抄分片和时隙,以确保正确执行了跨分片到同一个 EE 的多个生意业务(通过对执行前状态和执行后状态的状态根举办分列、忽略掉任何无效或乱序的分片区块)。
请留意,它们的名字大概会有误导性——执行剧本乃是界说执行生意业务的虚拟机 的法则,而非我们本日在以太坊看到的智能合约。执行剧本必需以客户端可理会、计量、编码的方法(譬喻 ewasm 代码)界说数据模子及操纵码。
基于最初的提案,Villanueva 发起回归生意业务缓存池模式。在这种环境下,中继者只需作为 状态提供者,仅提供见证而不需要打包生意业务;区块提议者(或更普适地说,分片验证者)维护一个缓存池,归并 所需的见证数据来打包生意业务。有鉴于每个 EE 可以选择差异的累加器,因此 EE 必需事先声明一个牢靠的归并见证的要领,让区块提议者可以整合两个及以上的见证,譬喻将多个 Merkle 分支整合成一个 Merkle 多重证明。
校勘者(Collator)提案(已弃用)
这是 Phase 2 阶段的早期提议,将分片链的建块分为三个部门:提议者(proposer)、校勘者(collator)、执行者(executor)。一些提议者认真收集生意业务,打包成区块(也叫 collation),一些提议者认真提交 collation 到链上(酿成区块),最终,执行者按照被提议的 collation 给出一个新的状态根。
Phase 2 Proposal 2
回首已往的一整年,环绕着中继网络及用度市场的研究举办了多次迭代,致力于给用户和轻节点带来精采的利用体验的同时,低落验证者承担,尽大概担保免准入性。展望将来,我们但愿看到更多关于 Phase 2 的提案,进一步改造和完善以太坊 2.0 的各个层面!
可以通过上传 合约 到信标链(beacon chain)来界说一个数据块处理惩罚措施(合约将来会转为“预编译(precompiles)”,然后成为“执行情况(execution environment)”),合约的形式大概是客户端可理会的字节码,详细怎么选择要从视整个协议的内容而定。
因为验证者无法直接从执行剧本中收取用度,他们必需通过其他方法拿随处事费。这里通过一个非凡的(即 enshrined 范例的)执行剧本完成;任何人都可以发送包括以下逻辑的生意业务:“假如在某分片中的某时隙打包了这个利用了某执行剧本的数据,则我要向记录这个数据块的人付出这笔用度”;这里的操纵都是由中继者(也被称为操纵者)完成:中继者认真收集用户的生意业务,按照非-enshrined 普通执行剧本指定的法则收取用度,然后再向分片中的区块提议者(建块人)按照 enshrined 执行剧本付出打包生意业务的用度。
Casey Detrio 在其开创先河的博文《Phase 1 and Done:数据可用性引擎——以太坊 2.0》中强调:在 phase 1 阶段,可以添加尽大概少的执行分片来桥接数据,而不需要做状态分片。在此方案中,分片可以做到两件事:1)对数据举办认证(i.e. 将一系列生意业务插入如 Merkle 树等受承认的数据布局中);2)执行简朴的无状态操纵,譬喻验证受承认数据的零常识证明。
总结
· 用户不长短维护全节点不行(譬喻,不需要为了维护本身所需的见证而去维护)。我们但愿这个提案对付轻客户端很是友好。
但无状态客户端也有本身的挑战:一旦利用 Merkle 累加器,每当竣事一次完整的执行后,见证就逾期了。假如模子要求每笔生意业务都包括单独的见证,然后顺序执行这些生意业务,则排在背面的生意业务的见证数据就会逾期,必需可以或许跟着前面每一笔生意业务竣事而更新本身的见证。好在更新这些 Merkle 累加器的见证涉及零哈希开销要领——假如见证数据可以作为附加物添加到“一大包”生意业务上的话,就不需要更新属于每笔生意业务的单独见证,或是说可以整合为多重证明(multiproof)。
请留意,为了可以或许凭据 富状态范式(stateful paradigm)执行任何的生意业务,全节点必需担保所有状态始终放在可会见的位置(好比内存、互换空间)。假如应用在单一区块链的场景,或者这还能委曲接管,可是一旦面对分片、面对分片上委员会的重组,这种要求长短常不公道的。设想一下,每当验证者被指定到一条分片链,他就得同步该分片上的所有状态;则这种系统就等价于单一区块链,只是此时的区块巨细便是分片区块巨细 * 分片数量。
Phase 2 Proposal 1
受到 Detrio 前期事情的开导,V 神再次提出 Phase 2 Proposal 2,针对对提案1举办简化,移除了分片链上状态,改用信标链追踪随分片各异、随执行情况(Execution Environment ,EE,原先叫执行剧本)各异的状态根。
消弭了泰半的用度市场问题,此刻只剩下中继网络(状态提供者)的挑战还依然存在。
这个提案的用度付出
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。