《区块链100问》第20集:从发出交易到矿工打包
当你发起一笔比特币转账后,你需要将交易广播至全网,挖矿节点接到这笔交易后,先将其放入本地内存池进行一些基本验证,比如该笔交易花费的比特币是否是未被花费的交易。
![](http://n.sinaimg.cn/tech/transform/20171120/gT0s-fynwxum7191734.png)
如果验证成功,则将其放入“未确认交易池”(Unconfirm Transaction),等待被打包;如果验证失败,则该交易会被标记为“无效交易”(Invalid Transaction),不会被打包。也就是说,挖矿节点在比拼算力的同时还需要及时验证每笔交易,更新自己的“未确认交易池”。节点抢到记账权后,将从“未确认交易池”中抽取约近千笔“未确认交易”进行打包。
![](http://n.sinaimg.cn/tech/transform/20171120/0TBY-fynwnty5915928.png)
有时候我们的交易不能被及时打包,是因为“未确认交易池”中的交易笔数太多,而每个区块能记录的交易笔数有限,这时候就会造成区块拥堵。
![](http://n.sinaimg.cn/tech/transform/20171120/GCJM-fynwnwt7761868.png)