当你的钱包广播一笔交易时,它会发送给几个节点,这些节点会检查它并将其传递给它们的同伴。几秒钟内,它就已传遍整个网络。每个节点都会保留它收到的但尚未在区块中看到的有效交易:那个等候室就是它的内存池,是memory pool的缩写。
没有单一的内存池
每个节点都有自己的内存池。它们通常非常相似,但并不完全相同:一个节点可能加入得晚了,设置的内存池大小较小,或者拒绝了它自己的策略不喜欢的交易。当人们说内存池时,他们指的是大多数节点大致共享的图景。
节点在接受交易前会检查什么
- 签名有效。
- 输入存在且尚未被花费。
- 输出的总额不超过输入。
- 费用满足节点的最低要求,并且交易符合其转发策略。
一个内存池满了就会丢弃支付费用最低的交易。等待时间过长的交易,默认是两周,就会被遗忘。遗忘并非取消:原始交易可以被重新广播,只要它的输入未被花费,它就保持有效。
▶ 在机器中查看内存池(MEMPOOL)仪表盘显示实时读取的网络中等待交易的实际数量。