交易替换、双花
这两个不是一个概念,通常交易替换需要遵循BIP125(RBF)协议,使用locktime、sequence两个字段配合来让节点选择打包其中一个手续费比较高的交易,而忽略另一笔交易,具体的协议内容,参考: https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki.
遵守BIP125协议的交易替换规则: 节点先接收到一笔手续费较低的交易,随后收到一笔相同交易结构但是手续费比之前的交易高的交易,那么节点会移除掉手续费低的交易,转而接收手续费较高的交易。
而双花交易的接受规则是:节点最先接收到的交易认为是一个合法的,如果后面接收到一个花费同一个utxo的交易,则节点直接拒绝后来的交易,并给出如下错误:
error code: -26
error message:
txn-mempool-conflict (code 18)