Bitcoin Optech #216

Bitcoin Optech #216
  • Bitcoin Core #25717 adds a “Headers Presync” step during Initial Block Download (IBD) to help prevent Denial of Service (DoS) attacks and step towards removing checkpoints. Nodes use the pre-sync phase to verify that a peer’s headers chain has sufficient work before storing them permanently.
  • Bitcoin Core #25355 adds support for transient, one-time I2P addresses when only outbound I2P connections are allowed. In I2P, the recipient learns the I2P address of the connection initiator. Non-listening I2P nodes will now by default make use of transient I2P addresses when making outbound connections.
  • BDK #689 adds an allow_dust method which allows a wallet to create a transaction that violates the dust limit.  Bitcoin Core and other nodes which use the same settings won’t relay unconfirmed transactions unless every output (except OP_RETURN) receives more satoshis than the dust limit.  BDK usually prevents users from creating such unrelayable transactions by enforcing the dust limit on the transactions it creates, but this new option allows ignoring that policy.  The author of the PR mentions that they’re using it for testing their wallet.
  • BDK #682 adds signing capabilities for hardware signing devices using HWI and the rust-hwi library. The PR also introduces a Ledger device emulator for testing.