Background: Currently, a node will only rebroadcast a transaction if it is the originating wallet. This is awful for privacy.
PR #16698 reworks the rebroadcast logic to significantly improve privacy.
- Instead of the wallet directly relaying transactions to peers, the wallet will submit unconfirmed txns to the node, and the node will apply logic to trigger txn rebroadcasts.
- The node will apply rebroadcast conditions to all transactions.
- The wallet will attempt to resubmit unconfirmed transactions to the node on a scheduled timer. This is only useful if the txn is dropped from the local mempool before it gets mined.
- The mempool tracks locally submitted transactions (wallet & rpc) to ensure they are succesfully rebroadcast. Success is defined as receiving a
GETDATA
for the txn.