Skip to content

Conversation

@jonatack
Copy link
Member

@jonatack jonatack commented Jul 26, 2019

In sendrawtransaction RPCHelpMan, mention unconditionality and privacy as per http://www.erisian.com.au/bitcoin-core-dev/log-2019-07-25.html#l-522

before

$ bitcoin-cli help sendrawtransaction
sendrawtransaction "hexstring" ( maxfeerate )

Submits raw transaction (serialized, hex-encoded) to local node and network.

Also see createrawtransaction and signrawtransactionwithkey calls.

(...)

after

$ bitcoin-cli help sendrawtransaction
sendrawtransaction "hexstring" ( maxfeerate )

Submit a raw transaction (serialized, hex-encoded) to local node and network.

Note that the transaction will be sent unconditionally to all peers, so using this
for manual rebroadcast may degrade privacy by leaking the transaction's origin, as
nodes will normally not rebroadcast non-wallet transactions already in their mempool.

Also see createrawtransaction and signrawtransactionwithkey calls.

(...)

@jonatack jonatack force-pushed the sendrawtransaction-privacy-note branch from 8ea017d to 1b41b1a Compare July 26, 2019 15:07
@maflcko
Copy link
Member

maflcko commented Jul 26, 2019

unsigned ACK 1b41b1a78baa197daa6978095b8207a1f219a536 (only looked at the diff on GitHub for 5 seconds)

@jonatack jonatack force-pushed the sendrawtransaction-privacy-note branch from 1b41b1a to 47a6013 Compare July 27, 2019 14:45
@Relaxo143
Copy link

How does rebroadcasting a tx degrade privacy?

@jonatack
Copy link
Member Author

@jonatack jonatack force-pushed the sendrawtransaction-privacy-note branch from 47a6013 to 07e01d6 Compare July 27, 2019 17:44
@jonatack
Copy link
Member Author

Updated PR and description to address @Relaxo143's (good) question and @MarcoFalke feedback.

@Relaxo143
Copy link

Maybe a policy could be implemented so that nodes rebroadcast even transactions which are already in their mempools for let's say up to 10 times. That will prevent privacy leakages and also limit abuse. After the node hears the tx for the eleventh time it will no longer resend it.

@promag
Copy link
Contributor

promag commented Jul 28, 2019

ACK 07e01d6.

(restarted appveyor)

@fanquake fanquake added the Docs label Jul 28, 2019
@laanwj
Copy link
Member

laanwj commented Jul 29, 2019

ACK 07e01d6

@laanwj laanwj merged commit 07e01d6 into bitcoin:master Jul 29, 2019
laanwj added a commit that referenced this pull request Jul 29, 2019
07e01d6 rpc: sendrawtransaction unconditionality/privacy note (Jon Atack)

Pull request description:

  In sendrawtransaction RPCHelpMan, mention unconditionality and privacy as per http://www.erisian.com.au/bitcoin-core-dev/log-2019-07-25.html#l-522

  before

  ```
  $ bitcoin-cli help sendrawtransaction
  sendrawtransaction "hexstring" ( maxfeerate )

  Submits raw transaction (serialized, hex-encoded) to local node and network.

  Also see createrawtransaction and signrawtransactionwithkey calls.

  (...)
  ```

  after

  ```
  $ bitcoin-cli help sendrawtransaction
  sendrawtransaction "hexstring" ( maxfeerate )

  Submit a raw transaction (serialized, hex-encoded) to local node and network.

  Note that the transaction will be sent unconditionally to all peers, so using this
  for manual rebroadcast may degrade privacy by leaking the transaction's origin, as
  nodes will normally not rebroadcast non-wallet transactions already in their mempool.

  Also see createrawtransaction and signrawtransactionwithkey calls.

  (...)
  ```

ACKs for top commit:
  promag:
    ACK 07e01d6.
  laanwj:
    ACK 07e01d6

Tree-SHA512: 427b3ca29384eef271eb496b7b14e883220863543a536ddeb31940aaffd52ea0b607d929d50f2b7958514105ef7823fa05c1ee381d4a432808753c06bd97af58
@jonatack jonatack deleted the sendrawtransaction-privacy-note branch July 29, 2019 13:23
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants