-
Notifications
You must be signed in to change notification settings - Fork 107
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
ZIP-239: v5 mempool transaction protocol versions #2451
Comments
We might be able to close this ticket, because it's covered by other tickets. Here's how we handle each network protocol rule:
We won't send the MSG_WTX inv type until we have v5 transactions in our mempool. After NU5 activation, we'll reject connections from outdated peers. Tickets:
We don't activate the mempool until we've reached the chain tip, which means we'll act like it's empty. Tickets:
Zebra will ignore these messages before NU5 activation (see above). This is acceptable behaviour, because the protocol rule is only a |
Closing in agreement with #2451 (comment) |
We don't actually need to implement this ticket, because in the worst case, Zebra:
|
Here's some more analysis of interactions with legacy Bitcoin protocol implementations: Currently, if Zebra receives a 36-byte WTX message, parsing will always fail. The The (This assumes the peer is honest-but-buggy. A malicious peer could modify |
Motivation
When the mempool is implemented, Zebra must conform to ZIP-239 in order to properly relay transactions to the network.
This ticket focuses on activating the new inv message variant at the specified protocol version, and rejecting it beforehand.
Scheduling and Alternatives
If necessary, this ticket can be delayed until later in the mempool work.
After NU5 activates on testnet and mainnet, we can set
INITIAL_MIN_NETWORK_PROTOCOL_VERSION
toNu5
. If we make this change, we do not need to implement the consensus rules in this ticket.Specifications
ZIP-239 describes the consensus rules for a new
MSG_WTX
inventory type, that MUST be used when relaying V5 transactions.Related Work
#2233 and #2446 added an initial
Message::Wtx
variant for ZIP-239, and implemented serialization and deserialization of it.The transaction ID for V5 transactions (with the
auth_digest
) is defined in ZIP-244, and implemented in #2129.#2449 implements the remaining data structures for WTXs, and sends them for v5 transactions.
The text was updated successfully, but these errors were encountered: