Bitcoin Development Mailinglist
 help / color / mirror / Atom feed
* [bitcoindev] New bitcoin backbone code release + Tx relay v2 update
@ 2025-11-19  0:01 Antoine Riard
  0 siblings, 0 replies; only message in thread
From: Antoine Riard @ 2025-11-19  0:01 UTC (permalink / raw)
  To: Bitcoin Development Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 3679 bytes --]

Hello devs,

Shared new code for bitcoin backbone available on the website
(bitcoinbackbone.org). Biggest changes from latest release has
been mostly working on BIP324 re-implementation, cleaning bugs
implementing a simple tx-relay stack, a little mempoool buffer
and some groundworks on address management. Tx syncing works with
vanilla bitcoin core v0.30 software.

I did a layout of the process architecture on the website, but the
mempool is fully living in its own mempool process, fully separate
from the block pipeline. In case of mempool DoS for whatever reasons,
the full-node keeps processing blocks. This also opens the door to
have *multiple* mempools with incompatible policies among themselves,
and just select the highest fees paying graph of consensus-valid
transactions, after sanitizing out conflicts.

As I was writing in my latest email about bitcoin backbone, of course
there are some trade-offs with the mempool not living in the same memory
space than the validation engine, though I think you have practical
improvements on this area.

The simple tx-relay stack also implements a basic implementation of the
proposed overhaul of the tx-relay v2 [0]. Currently, the tx flow is
INV(txid) -> ; <- GETDATA(inv(txid)) ; TX(tx) -> . With the proposed 
tx-relay
v2 overhaul, if an INV for the txid has not previously received for the
transaction, i.e the transaction processing has not been requested, the
transaction is strictly rejected, without further processing. This more
stricter tx processing can be activated with a setting option in bitcoin
backbone.

Long-term, I think some form of tx-relay link-level mitigation is a strong
necessity to diminish the surface attack of time-sensitive contracting
protocol in face of tx-relay throughput overflow, where a malicious peer
is buying out your full-node tx bandwidth to tamper with the propagation
of a time-sensitive tx (e.g a lightning's HTLC-preimage) [1].

The day we wish to improve time-sensitive second-layers tx-propagation
security, it might take time to have network-wide upgrade of the full-node
and wallets participating in tx-relay (you have deployment transition
problem, where traffic from non-upgraded tx-relay clients can be used to
jam the outgoing traffic of upgraded tx-relay nodes or clients). So doing
a heads up on that sounds wise, there are clearly well-used wallet library
that have never respected the INV -> ; <- GETDATA ; TX -> relay flow [2] [3]

Finishing to have Erlay support in bitcoin backbone, then I'll work on a 
more
refined version of the tx-relay V2 protocol proposal, because current 
version
of the draft proposal on the BIP repo is silent on advanced tx 
synchronization
protocols.

This is still mostly a very toy full-node but it's taking shape.

Keep building.

Cheers,
Antoine
OTS hash: 79ae6e1fda391d3aa44d36f26acb32b3871d01543037d467a8210e4e96c972a8

[0] https://groups.google.com/g/bitcoindev/c/PkNlRu1ylX4
[1] https://groups.google.com/g/bitcoindev/c/GuS36ldye7s
[2] E.g bitcoinj 
https://github.com/bitcoinj/bitcoinj/blob/master/core/src/main/java/org/bitcoinj/core/TransactionBroadcast.java#L178
[3] Dropping unrequested transaction is only one approach on mitigating 
that,
but a simple first building block on which more sophisticated mitigation 
strategies
can be built.

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/299d4f39-b8cd-4736-b6bb-71def4d85f74n%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 4268 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-11-19  0:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-19  0:01 [bitcoindev] New bitcoin backbone code release + Tx relay v2 update Antoine Riard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox