时间:2023-07-10|浏览:204
(续前)安全模型误区
每个区块链系统都将创世块硬编码到了节点软件中。你可能会觉得,“共享历史”(即,账本)是一种社会契约——一旦某个区块的历史足够悠久,网络中的所有参与者之间都会达成共识,认为这个区块永远都不会被回滚。当开发者选定一个早期挖出的区块并用它来创建检查点时,更多是而非对历史的客观描述。
除了检查点之外,节点如何实现自引导也是一个问题。目前,比特币节点的自引导流程是检查节点是否在本地存储了之前从对等节点那里了解到的数据。如果没有的话,节点将查询一组被硬编码到软件中的“DNS种子”。这些种子负责维护一个连接良好的比特币节点的列表,并将这个列表返回给你的节点。
正如我们可以从代码中看到的那样,Bitcoin Core 0.13目前使用由Pieter Wuille、Matt Corallo、Luke Dashjr、Christian Decker、Jeff Garzik和Jonas Schnelli运行的DNS种子。任何人都可以使用Pieter Wuille的比特币种子生成器软件或Matt Corallo的软件来运行DNS种子。但是,他们必须说服某个全节点实现的开发者将他们的DNS种子主机添加至对方的软件。
新节点的引导过程仅仅依赖6个DNS种子,这