Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

offer alternative methods for customizing TX broadcast privacy #1056

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

conduition
Copy link
Contributor

Transactions which are first seen being broadcast from a user's node are more likely to be heuristically associated with the node runner personally. To break this heuristic, node runners might choose to broadcast a TX indirectly through alternative channels to disassociate that TX from the bitcoin node. Unfortunately bitcoind does not offer this option natively (yet).

This PR adds two new ways for users to broadcast transactions submitted to an electrs server:

  1. The pushtx crate. This initiates a short-lived set of P2P connections which publishes a transaction to random peers resolved from DNS seeds. The most private way to do this is using TOR, hiding the IP address of the sender.

  2. A custom script option. This allows users to customize the behavior of electrs broadcasting. It should return a zero status if the broadcast was successful, and emit an error message with a non-zero status otherwise.

Transactions which are first seen being broadcast from a user's node are
more likely to be heuristically associated with the node runner personally.
To break this heuristic, node runners might choose to broadcast a TX
indirectly through alternative channels to disassociate that TX from
the bitcoin node.

This PR adds two new ways for users to broadcast transactions through electrs:

1. The `pushtx` crate. This initiates a short-lived set of P2P connections
which publishes a transaction to random peers resolved from DNS seeds. The
most private way to do this is using TOR, hiding the IP address of the sender.

2. A custom script option. This allows users to customize the behavior of
electrs broadcasting. It should return a zero status if the broadcast was
successful, and emit an error message with a non-zero status otherwise.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant