http://www.7klian.com

通过 EVM 代码默克尔化缩减见证数据巨细

最终功效大概表白,差异的 chunk 拆分算法之间的效率晋升可以忽略不计,这么一来选择的算法就越简朴越好。而好动静是,基于早期数据尝试,我们至少有一种算法可以显著淘汰无状态区块中需要传输的代码量。
后续成长
对最近的 50 个区块执行此进程,我们可以看到合约代码量淘汰了40% ~ 60%。

代码默克尔化的观念已经被提出好一阵子了,一开始主要用于代码去重,但其他用途还未被很好地摸索。此刻它从头进入公共视线,却是因为另一个目标 —— 用于低落无状态客户端所需要的带宽开销(e.g. 详见此处)。假如你想知道无状态客户端为什么呈现,我推荐这篇总结,或是 Alexey Akhunov 的推文(编者注:中译本见文末《无状态客户端初探》),内里还附上了他的尝试数据。为求简短简要,我不会深入整个无状态客户端模子的细节,仅提供相关细节的扼要总结(假如你早已相识相关的配景,可以跳过下一段的内容)。

接着重置状态,用 turboproof 重构出来的代码,替换掉原本的合约代码,然后再次执行适才的生意业务。为了查抄执行的正确性,我们较量前后两次耗损的 gas 量和区块的 bloom 过滤器。

不要发送整段代码

摘要:区块中每产生一次合约挪用,无状态客户端都需要完整的合约代码作为区块见证(witnesss)的一部门,而传输合约代码占用无状态客户端带宽的比例,高居其带宽开销的第二位。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读