准无状态下的同步实验“yabo网页登录 ”2021-01-22 02:38
章节有一种办法或许能加快初始实时过程(initial sync process,所指从创世纪块开始的区块链实时),就是用于区块亲眼数据(witness)预先建构出有内存树根(cache trie),来防止速度较快的状态采访。这样做到必须额外闲置硬盘空间和网络带宽,但或许可以大幅度加快实时过程。其中的原理是,一般来说,要继续执行一个区块,我们就必须默克尔树上的一些数据。虽然在某个块继续执行以前,默克尔树上早已有一些数据了,但这些数据有可能足以继续执行区块。所以,长时间来说,我们还要从状态数据库(state db)中萃取出有数据并添加默克尔树上,然后才能检验交易。这个过程可能会极快,因为 硬盘采访/数据库查找 的速度比较慢。根据这个问题叙述,我们可以区分出有三种有所不同的方案:1)长时间流程(也就是当前在以太坊节点中用于的方案)在区块 B 继续执行以前,我们有状态树根 T1;yabo网页登录 在必须继续执行 B 的时候,我们把 T1 中遗漏的数据加到到 T1 上,构成 T1',T1'',等等。每次遇上 T1 上没的信息,我们就在数据库中查询(速度慢)。继续执行完了 B 之后,我们有了状态树根 T2,T2 不具备继续执行 B 所需的所有账户状态。维持 T2,以待先前用于。2)无状态流程在区块 B 继续执行以前,我们并没状态树根;不过,我们可以获得一个亲眼数据 W,来重组继续执行这个区块所需的状态树根。