如区块中仍有剩余空间,Jing的挖矿节点可以选择那些不含矿工费的交易。有些矿工会竭尽全力将那些不含矿工费的交易整合到区块中,而其他矿工也许会选择忽略这些交易。
每个矿工的区块里面包含的交易都不一样
如区块中仍有剩余空间,Jing的挖矿节点可以选择那些不含矿工费的交易。有些矿工会竭尽全力将那些不含矿工费的交易整合到区块中,而其他矿工也许会选择忽略这些交易。
每个矿工的区块里面包含的交易都不一样
在上一个10分钟内,当Jing的节点正在寻找区块277,315的解的同时,它也在收集交易记录为下一个区块做准备。目前它已经收到了几百笔交易记录,并将它们放进了内存池。直到接收并验证区块277,315后,Jing的节点会检查内存池中的全部交易,并移除已经在区块277,315中出现过的交易记录,确保任何留在内存池中的交易都是未确认的,等待被记录到新区块中。
挖矿节点在求解的同时也在用内存池接受新的交易放进新的区块
没有父交易的交易池被称作孤立交易池。一旦接收到了父交易,所有与这个父交易创建的UTXO有关的孤块会从池中释放出来,递归地重新验证,然后整条交易链就会被交易池包括进去,并等待着被区块所挖走。
孤立交易
解锁脚本通常是一个签名,用来证明对于在锁定脚本中的比特币地址拥有所有权。
vin -> 解锁
交易输出包含两部分: ▷ 一定量的比特币,被命名为“聪”,是最小的比特币单位; 一个锁定脚本,也被当作是“障碍”,提出支付输出所必须被满足的条件以“锁住”这笔总额。
交易输出 -> 锁定脚本
输入和输出,哪一个是先产生的呢?先有鸡还是先有蛋呢?严格来讲,先产生输出,因为可以创造新比特币的coinbase交易没有输入,但它可以无中生有地产生输出。
coinbase交易的vin和vout分别是怎样的
每一个节点在传播每一笔交易之前均进行独立验证。 一个异常交易所能到达的节点不会超过一个。
如果我自己制作两个恶意节点,让节点B验证节点A的交易,但是这样传到第三个节点C交易就被拒绝了。所以需要51%算力才能搞垮比特币网络?
最终,有效的比特币交易必须能接入比特币网络,从而使之能被传送,直至抵达下一个登记在公共总账薄(区块链)的挖矿节点。
一个交易transaction什么时候“commit”
一张支票是指定一个特定账户作为资金来源的,但是比特币交易指定以往的一笔交易作为其资金来源,而不是一个特定账户。
所以交易像水流,不是一枚枚货币