-
Notifications
You must be signed in to change notification settings - Fork 6k
BIP 54: clarify 64-byte transactions item description and rationale #2159
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
Merged
jonatack
merged 6 commits into
bitcoin:master
from
darosior:2505_64b_clarifications_and_rationale
May 19, 2026
+34
−22
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
346f938
bip-0054: spell out in more places that 64 bytes is for witness-strip…
darosior 5c67f90
bip-0054: clarify rationale for invalidating 64-byte txs
darosior 8ae3af5
bip-0054: state explicitly fake inclusion proofs only concern SPV ver…
darosior 47a2d72
bip-0054: less redundancy in 64-byte rationale, move caching risk to …
darosior 9e8e357
bip-0054: disambiguate use of "mitigation"
darosior f1f1c36
bip-0054: add a footnote with known workarounds for SPV verifiers
darosior File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"or even know one is necessary in the first place"
i think this is considering only one viewpoint of the discussion, namely in my understanding the fact that for a SPV verifier with the new 64-byte witness-stripped serialized size transaction rejection rule, there is no more necessary knowledge of the vulnerability in itself or the mitigation. this is correct for consensus validation purpose of chain data.
i don't think it's true for any class of usage leveraging pre-signed transactions among multi-party. for this class of usage, where a transaction malleable by a party with competing interest might have to be cached by a client, the software client for sanity purpose has a clear design requirement to now implement the new rejection rule. while it was indeed a matter of policy check and not consensus ones, failing to do so already provoked issues in the past for some lightning implem (e.g CVE-2020-26895).
so i don't think the statement is correct when it's saying the "users do not have to know about the vulnerability or its workaround in the first place". if you've a software client caching pre-signed transactions on top of a SPV client (e.g bip157 + lightning) carefulness about not accepting a transaction input vector turning the result as a 64 byte tx will become necessary, at least in my opinion. e.g influencing the multi-party tx size by playing on the ECDSA signature size.