dip: adopt BIP174 (PSBT/PSDT) as a Dogecoin standard — draft for discussion#10
Draft
xanimo wants to merge 1 commit into
Draft
dip: adopt BIP174 (PSBT/PSDT) as a Dogecoin standard — draft for discussion#10xanimo wants to merge 1 commit into
xanimo wants to merge 1 commit into
Conversation
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adds an unnumbered draft DIP adopting the BIP174 Partially Signed Transaction format for Dogecoin, and resolving the open naming question (keep "PSBT" vs. adopt "PSDT"). Filename uses the BIP2 author-alias convention (
dip-xanimo-psbt); not self-assigning a number — editor to assign (it derives from BIP174).Why this fits the repo scope. This is a Dogecoin-specific adoption/variation of an existing BIP (BIP174), not new consensus design — the structure is BIP174 verbatim with Dogecoin specifics made explicit.
The decision the DIP frames (neutrally). Renaming to "PSDT" is not purely cosmetic, because BIP174 fixes a 5-byte magic header (
0x70736274ff, ASCIIpsbt+0xff). So:psbt.0x70736474ff→ intentional, hard incompatibility; requires editing the magic constant and re-deriving every test vector in both codebases plus downstream tooling.The DIP makes no recommendation among N1/N2/N3; it only insists the choice be made with the magic-byte coupling explicit (N2 ≠ N3).
Reference implementations (both currently encode the unmodified BIP174 magic, i.e. assume N1/N2):
1.15.0-dev-bip174-psbt(PSBT structures + refactored signing API inscript/sign.{h,cpp}, RPC, wallet/functional tests; vectors byte-identical to BIP174).0.1.5-dev-psbt(multisig finalization, valgrind-clean coverage).Scope note re: SegWit. Until SegWit activates on Dogecoin (separate proposal), only
PSBT_IN_NON_WITNESS_UTXOis meaningful on mainnet; witness fields are carried structurally but signers must not produce witness signatures for non-witness inputs. The DIP states this so "compatible" isn't overread.Full draft: https://github.com/xanimo/dips/blob/749731ba3f19023fa5cf055b4b8fd20cd628782f/dip-xanimo-psbt.mediawiki
Opening as Draft for discussion. Happy to trim the preamble to match the existing
dip-007xstyle if the editor prefers.