来源:Unitimes
作者:Vitalik Buterin,Unitimes团队翻译
问题描述请参阅:“关于分片之间ETH转账的问题描述“。

我们可以创建一个实行环境 (executive environment),称其为“用度环境”,其紧张浸染是存储其他实行环境持有的ETH余额。该实行环境包含一个最小的余额记录和跨分片收据系统,从而许可ETH在分片之间快速转账。
条件
我们假设一个区块包含了(i)数据和(ii)访问该数据的实行环境列表。列表中的实行环境被依次调用,并且所有实行环境都可以访问全体数据(之后每个实行环境将只能访问部分数据,但许可每个实行环境访问全体区块数据并不须要付出额外的代价)。 实行环境还可以访问已处理完毕的 “auxiliary outputs” (赞助输出)。
我们假设区块生产者都“理解”该用度环境,从某种意义上说,便是他们知道何时在该用度环境中接管资金
预期的区块构造
每个区块将包含一个或多个分段 (segments),每个分段专属于某个实行环境,个中包含了在该实行环境中进行的交易。实行环境本身会天生一个赞助输出,表示这些实行环境想要进行的跨分片转账的概要。多笔去往同一目的地(分片/实行***的交易进入批量处理。
在区块的末端,有一个用度环境的专用分段,个中存储了在该区块中存在分段的所有实行环境的 Merkle 多证明(请把稳,那些先前的实行环境会检讨这个部分并验证别的额的精确性和充分性[充分性检讨将哀求实行环境也检讨之前实行环境的赞助输出])。
该用度环境将发布一个状态根 (state root),该状态根包含了此分片内具有更新余额的Merkle 树,以及一个包含了所有跨分片转账的收据根(receipt root)。收据根的设计哀求路径基于分片和实行环境的组合进行编码,而叶子节点的编码还包含转账的金额。
例如,如果分片A上的一个区块包含单个交易 [Alice --- {50 ETH} ---> Bob],而吸收方 Bob 在另一个分片B上,如此则会产生两个收据:(i) 特定于实行环境的许可 Bob 提取 ETH 的收据,以及 (ii) 该实行环境将天生一个赞助输出{B, EE_id, 50},然后用度环境将 {A,EE_id} 的余额减少50,发布更新的状态根,并利用单个元素{key = (B,EE_id), value = 50} 创建一个收据树。如果同一实行环境中有N个交易,则只会产生N + 1个分支;开销是恒定的。
吸收收据
现在,让我们扩展上述方案以许可吸收收据。现在,用度环境的状态包含第三个根,一个为字段的 Merkle 根,为每个分片和每个 slot 标记该 slot 的收据是否已经处理。为了提高效率,我们希望对应于同一 slot 的比特位并排存放,因此在“空想情形”下,我们只须要一个 Merkle 分支即可立即处理收据。
区块中用于用度环境的部分还将声明位字段对应的分支。对付每个分支,比特位默认为0,预平衡的Merkle证明也须要显示相应的实行环境余额,用度环境还须要供应相应收据的Merkle证明。更新后的预平衡根将根据收据增加实行环境余额,同时将比特位设置为1。
同时,实行环境本身将实行一个规则,即只有当表示实行环境级别的ETH转账已完成的相应Merkle分支位于用度环境的分段中时,才认为Alice到Bob的收据有效。这样可以防止Bob在没有实行环境的情形下吸收ETH。请把稳,有时在同一时隙中创建的具有相同起始和目标分片的收据将在不同的时隙中吸收。在这种情形下,必须再次包含对用度实行环境位域的证明,表明收据包含在时隙n中,并且在所有包含项中,该位域已被设置为1,因此实行环境级别的余额增加不会发生多次。
用度和兑现
实行环境还可以在其赞助输出中指定他们为交易费支付的ETH数量。验证者还可以在收费环境中拥有帐户可以吸收此ETH。收费环境还许可验证者提取ETH。
开销剖析
假设区块链相对完全且生动,每个块运行约3个实行环境,并且每个分片向其他分片发送事务,则可以打算开销如下:
·平衡证明:3个分支,假设2^16个实行环境占用约15 3 = 45个hash即1440字节
·位域:假设均匀而言,所有收据均在5个时隙内声明。这哀求末了5个时隙包含所有分片的证明;这些位是连续的,因此对付位域分段来说,占用320个字节+一个1024字节的分支= 1356字节。 N个时隙后的单个收据将增加log(N) 32个字节。
·转移代价证明:假设有216个实行环境和64个分片,则一个长度为22的Merkle分支代表一个(分片,实行***密钥。统共有64个,因此我们得到22 64个hash即22528字节。请把稳,我们可以利用更聪明的办法,将常用的实行环境放在树上更末端的位置,将减少一半以上的存储空间。
因此,总的来说,每个分片块利用约10-25 kB的空间存储与用度环境干系的证明。
更新
如何用nonce更换位域请参考评论内容。