mempoolの2つのトランザクションが競合しているかどうかを確認するにはどうすればよいですか?

Aug 18 2020

bitoinのmempoolを介して多くのトランザクションがあります。ただし、二重支払いが発生する可能性があります。2つのトランザクションが競合しているかどうか、つまりビットコインの二重支払いであるかどうかをどのように確認できますか?

PS 2つのトランザクションが競合している場合、両方に少なくとも1つの共通の入力トランザクションがあります。したがって、2つのトランザクションが競合していることを確認するために他に何をチェックする必要があります(二重支払い)。

ありがとう

回答

2 AndrewChow Aug 17 2020 at 22:43

まず、「メンプール」はありません。グローバルなmempoolはありません。むしろ、各ノードは独自のmempoolを維持し、独自の内部ポリシーを使用してそのmempoolへのトランザクションを受け入れおよび拒否します。ほとんどのノードのポリシーは同じですが、開始時間、リレー遅延、その他の要因が異なるため、すべてのノードが同じmempoolを持っているわけではありませんが、非常に似ている場合があります。

ダブルスペンドに関しては、一般的なノードポリシーでは、トランザクションが別のトランザクションと競合する場合、そのノードは受け入れないため、競合するトランザクションはそのノードのmempoolに入りません。したがって、競合を受け入れるようにノードを変更しない限り、ノードのmempoolに競合するトランザクションが含まれることはありません。