目录 |
---|
当前同步算法
dag 同步
...
名词解释
tips 节点
即 dag 的尖端节点。也就是如果我们把 dag 看成单链,那么就是当前高度最高的节点,放到 dag 图中,则是在当前某个时间领域内的无子区块的节点。
确认的 tips 节点表示需要从这些节点开始同步后续的子节点。
accumulator
merkle tree,叶子节点即我们的数据的hash值节点,可以快速验证和遍历叶子节点。更多详见https://cookbook.starcoin.org/zh/docs/concepts/accumulator
dag accumulator 构建流程
同步的三大任务
确认tips节点和验证历史节点
为什么要确认和验证
主要原因有两个:
1、握手;同步两个节点之间的状态;同步
2、防止恶意 peer 假冒诚实节点,必须通过历史区块的验证才能识别出节点是否为诚实节点。
确认流程
验证流程
对应代码
同步新的tips节点
获取后续节点
拉取数据内容
对应代码
拉取区块数据
攻击和异常
使用老旧的父节点作为新节点造成大量回滚
冒充诚实节点
时间复杂度
获得 current tips
只有 Genesis 区块
...