我们总结一下前面章节介绍的交易步骤:
- 区块链网络中,任何想支付的人,需创建一个交易,里面的内容大致是,买家付给卖家多少钱。
- 在一定时间内,网络中可能会发生多笔交易。
- 所有交易,都会通过网络广播,但交易不一定要到达网络中的每个节点。
- 接收到新交易的矿工,将多个新交易组装成一个块。注意,多个矿工之间新建区块中的交易集有可能是不一样的,这是没关系的,系统确保在合理的时间内,网络上广播的交易都包含在某个块中。通常,发送方会向矿工提供一定数量的比特币作为激励,矿工可能会优先选择那些激励高的交易放进区块。
- 矿工接下来的工作是为新区块计算工作证明。
- 当矿工计算好工作证明后,它将把组装好的新区块向网络广播。
- 接收到新区块的其他节点,会验证新区块中的所有交易是否有效,比特币是否重复支付,没有问题才会接受。
- 如果该区块被接受为有效的,其他矿工必须对自己正在组建的区块重新组装,删除与已接受区块重复的交易,另外,这些矿工会把已接受区块的哈希值作为自己区块的前向哈希值。
- 类似地,一个区块一个区块就这样被添加到区块链上。
现在,我们已经看到了整个区块链系统是如何工作的,接下来让我们来看看这套机制的一些缺陷以及弥补措施。