Skip to content

Instantly share code, notes, and snippets.

Jon Atack jonatack

Block or report user

Report or block jonatack

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 SNICKER_BIP_draft.mediawiki


  BIP: ??
  Layer: Applications
  Title: SNICKER - Simple Non-Interactive Coinjoin with Keys for Encryption Reused
  Author&#58; Adam Gibson <AdamISZ@protonmail.com>
  Comments&#45;Summary&#58; No comments yet.
  Comments&#45;URI&#58; &#45;
  Status&#58; Proposed
  Type&#58; Informational
  Created&#58; &#45;

@niftynei
niftynei / dot.txt
Created Sep 5, 2019
notes from outputs investigation
View dot.txt
wallet/db.c -> table schemas + migrations
wallet/wallet.c -> SQL statements
table: outputs
question: what are the values for 'status'
output_state_available= 0,
output_state_reserved = 1,
output_state_spent = 2,
/* Output has been included in a signed funding tx that we've shared
* with a peer; not yet mempooled. Eligible for burning */
@jnewbery
jnewbery / wallet_dev.md
Last active Nov 22, 2019
Wallet development
View wallet_dev.md

Wallet development

What are a wallet’s functions?

  • Key management
    • Identify owned transactions
    • Generating new addresses
    • Determining how to sign transactions
  • Constructing and sending transactions
    • Parsing addresses and turning them into txOuts
You can’t perform that action at this time.