网络 (Network)
运行网络的步骤如下:
- 新的交易被广播到所有节点。
- 每个节点将新的交易收集到一个区块中。
- 每个节点致力于为其区块找到一个困难的工作量证明。
- 当一个节点找到工作量证明时,它会将该区块广播给所有节点。
- 节点仅在区块中的所有交易都是有效且未被花费的情况下接受该区块。
- 节点通过致力于创建链中的下一个区块来表达对该区块的接受,使用已接受区块的哈希作为前一个哈希。
节点总是认为最长的链是正确的,并将继续致力于扩展它。如果两个节点同时广播下一个区块的不同版本,某些节点可能会先收到其中一个。在这种情况下,它们会处理收到的第一个区块,但会保存另一个分支以防其变得更长。平局将在找到下一个工作量证明并且一个分支变得更长时被打破;原本在另一个分支上工作的节点将切换到更长的分支。
新的交易广播不一定需要到达所有节点。只要它们到达足够多的节点,就会很快被包含在一个区块中。区块广播也能容忍消息丢失。如果一个节点没有收到某个区块,当它收到下一个区块并意识到缺少一个时,它会请求该区块。