我们都知道,BTC转账是将比特币从一个加密钱包地址转移到另一个加密钱包地址上的过程,并且由全网矿工共同记账。也就是说,当比特币网络中发起一笔BTC转账以后,需要将交易信息向全网进行广播,当挖矿节点接收到该笔交易信息时,会先把它放进本地内存池进行部分基本验证,验证内容包含了,验证该笔交易中的BTC是不是“未被花费的交易”。(注:这里所说的“未被花费的交易”可以理解为没有支付出去的、留在自己钱包当中的BTC)
一旦验证成功,节点就会把它放进“未确认交易池”(Unconfirm Transaction),等待矿工来打包;但如果验证失败,那么这笔交易就不会被打包,还会被标记为“无效交易”(Invalid Transaction)。
这就表示,挖矿节点不但要比拼算力,还要尽快验证每笔交易的有效性,验证之后还要更新自己的“未确认交易池”。当其他节点争取到记账权之后,就能够把“未确认交易池”中的“未确认交易”提取出来进行打包,一次大约有近千笔的交易被节点提取出来。
如果我们的交易迟迟没有被打包,那就证明“未确认交易池”中的交易数量过多,就像是超市人多的时候排队结账一样,需要等前面的人都结算完了,才能够轮到自己。这主要是因为每个区块可以记录的交易数量是有限的,这就好比是超市中有多个收银通道,虽然可以多人同时结账付款,但依然无法做到所有人同时结账。