Btcd区块链的构建(总结篇)

在《Btcd区块链的构建》系列文章中,我们展开介绍了ProcessBlock()中的各个步骤,它主要包含三个步骤:一是对区块进行完整性检查;二是检查区块是否满足写入区块链的各种条件,如果满足则将其写入区块链;三是处理“孤儿”区块。其中第二步最为复杂,它进行的各项检查及写入区块链时对utxoset的操作保证了区块链的一致性,我们将对这一过程进行回顾与总结,以帮助大家加深理解。

其中涉及到的各个步骤如下图所示:

Btcd区块链的构建(总结篇)_第1张图片

至此,我们就完整介绍了Btcd构建区块链的全部过程,其中涉及到的主链与Utxoset相关的操作是保证区块链一致性的核心,对区块头中的版本号、时间戳及目标难度是否满足预期值的检查防止了“不合格”区块在网络上的传播。在区块链的构建过程中,我们经常看到对CSV或者其他BIP部署状态的检查,这是由于有些BIP的部署会影响到共识规则,从而使区块链发生“软分叉”,为了兼容“软分叉”前后的共识,需要在代码中进行兼容性检查。“软分叉”是Bitcoin网络治理的重要方面,我们将在下一篇文章《Btcd区块链的“软分叉”》中详细介绍。

你可能感兴趣的:(Btcd区块链的构建(总结篇))