From 1b0503ddc16311fdaae5d6e3d5440451f230f647 Mon Sep 17 00:00:00 2001 From: bxq2011hust Date: Fri, 16 Aug 2024 10:04:02 +0800 Subject: [PATCH] update sync doc --- 3.x/zh_CN/docs/design/sync.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/3.x/zh_CN/docs/design/sync.md b/3.x/zh_CN/docs/design/sync.md index ea09a9be5..a17612793 100644 --- a/3.x/zh_CN/docs/design/sync.md +++ b/3.x/zh_CN/docs/design/sync.md @@ -36,6 +36,18 @@ 收到回复区块的节点,在本地维护一个下载队列,用来对下载下来的区块进行缓冲和排序。下载队列是一个以块高为顺序的优先队列。下载下来的区块,会不断的插入到下载队列中,当队列中的区块能连接上节点当前本地的区块链,则将区块从下载队列中取出,真正的连接到当前本地的区块链上。 +### 同步区块处理流程 + +同步收到的区块处理流程如下: + +1. 节点收到请求的同步区块,按块高排序 +1. 验证接收队列中的最大块是否是节点当前区块高的下一个块高 +1. 执行区块,验证执行后得到的区块头与接收的区块头是否一致 +1. 验证区块不是空块 +1. 验证区块的签名列表是否正确 + +当上述验证都通过后,同步的区块才会被提交到账本中 + ## 同步场景举例 ### 交易广播场景