Skip to content

Instantly share code, notes, and snippets.

Amiti Uttarwar amitiuttarwar

Block or report user

Report or block amitiuttarwar

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View transaction_rebroadcasting.md

I propose reworking the rebroadcast logic to

  1. Significantly improve privacy
  2. Create a cleaner divide between wallet & node responsibilities

Background: Currently, a node will only rebroadcast a transaction if it is the originating wallet. This is awful for privacy.

Conceptual changes

  • 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 not keep track of “my” transactions but instead, apply rebroadcast conditions to all transactions.
  • The wallet will attempt to resubmit unconfirmed transactions to the node on a scheduled timer. This is to ensure the txn is not dropped from the local mempool.
View transaction rebroadcasting
I propose reworking the rebroadcast logic to
1. Significantly improve privacy
2. Create a cleaner divide between wallet & node responsibilities
#### Conceptual changes
* 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 not keep track of “my” transactions but instead apply rebroadcast conditions to _all_ transactions.
* The wallet will attempt to resubmit unconfirmed transactions to the node on a scheduled timer. This is to ensure the txn is not dropped from the local mempool.
New rebroadcast conditions:
* relies on `BlockAssembler::addPackageTxs` to identify top block of transactions based on current mempool. I’ll call this “top transactions”.
You can’t perform that action at this time.