-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
BIP78: Allow mixed inputs Redux #1605
base: master
Are you sure you want to change the base?
Conversation
da32bf2
to
a682fe6
Compare
It seems to me that you are proposing a number of changes to BIP 78 and the biggest point of friction seems to be to get sign-off from that BIP’s champion. Have you considered alternatively proposing your own variant of BIP 78 with the changes you would like to see and building BIP 77 on top of that? |
Are you suggesting I compile the changes into an addendum document, or something else? |
Sorry, I thought this was a PR with further changes, in addition to your prior attempt to modify BIP 78. At second glance I realize now that this is a second variant with a reduced scope to the prior. Nevermind, please ignore and carry on. |
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.
I'm slowly getting some time now but feel free to go ahead with this. I'd still like to cover the edge case I mentioned because it affects some software in the wild but that can be done in a separate PR.
And thanks @DanGould for picking this up!
a682fe6
to
ea55024
Compare
To be crystal clear, you're talking about transaction malleability with regard to output substitution. I think that's outside the scope of this pr but also worthy of amendment. That discussion is: https://github.com/bitcoin/bips/pull/1244/files#r1633516491 |
It means that only a single input can be covered by the contribution and the rest should be at the cost of the receiver.
|
Ok @DanGould can you pickup this commit please: NicolasDorier@1cc129e This basically just hardcode the maximum amount to pay for any input. |
Disallowing mixed inputs was based on incorrect assumption that no wallet supports mixed inputs and thus mixed inputs imply PayJoin. However there are at least three wallets supporting mixed inputs. (Confirmed: Bitcoin Core, LND, Coinomi) Thus it makes sense to enable mixed inputs to avoid a payjoin-specific fingerptint. To avoid compatibility issues a grace period is suggested. Co-authored-by: Martin Habovstiak <[email protected]>
The original text is ambiguous to allowing transaction cut-through or not. Transaction cut-through enables savings by posting multiple transaction intents through a single 2-party payjoin and is used in practice in payjoins today. Let's explicitly allow it in the text. Co-authored-by: Martin Habovstiak <[email protected]>
It's an optional parameter in BIP 21 Bitcoin URIs, but it doesn't hurt to make it explicit. Co-authored-by: Martin Habovstiak <[email protected]>
ea55024
to
bd01a26
Compare
@NicolasDorier: It looks like the commit you requested was added. Could you please review this PR and state whether you support or reject these changes? |
This is a follow up to #1244 that
I know @Kixunil is extremely busy to update these days, so I took the liberty to organize the changes we've discussed according to your wants here. @NicolasDorier I hope these changes satisfy your desire for them to be small and problem-focused while maintaining the spirit of the original.
Disallowing mixed inputs was based on incorrect assumption that no
wallet supports mixed inputs and thus mixed inputs imply PayJoin.
However there are at least three wallets supporting mixed inputs.
(Confirmed: Bitcoin Core, LND, Coinomi) Thus it makes sense to enable
mixed inputs to avoid a payjoin-specific fingerptint. To avoid
compatibility issues a grace period is suggested.