Fresh Transaction

知识点: Fresh Transaction,为什么说要考虑交易的同步呢?要认识到,在比特币中一个用户从钱包客户端发起的交易并不是被所有矿工都接受到,而是相邻的几个矿工。这些矿工在接受到用户发起的交易的时候会对交易进行验证才能放到交易池中,以便在未来将这些交易打包出块。

因此若一个矿工成功挖到一个块并广播 Compact Block,其他矿工在检查 Compact Block 中交易 ID 的时候若发现对应的有些交易并不在自己的交易池中,则需要向发送方请求完整交易进行验证来保障区块中所有交易都是合法的,这些交易就是「Fresh Transaction」。

若不进行验证就在收到区块之后挖矿,一旦完整区块广播后被发现有非法交易,将不会被矿工认可,在这个非法区块之后挖出的区块都会作废。Fresh Transaction 的概念我们会在后面用到。