A payjoin with mixed script types is often better than the same payment done with basic transactions and later script mixing. It's an opportunity to save fees in consolidation. It's an opportunity to save with transaction cut-through. It's an opportunity to open lightning channels ASAP. A mixed input script payjoin offers still more ambiguous interpretations than the alternative chain of basic payment transactions.

When both sender and receiver to any transaction match input scripts then of course chain surveillance can't tell input sources apart by script type. However perfect should not be the enemy of good. Wallets can use different scripts. Payjoins with mixed input scripts make a more ambiguous blockchain and opportunities to save money bigtime.

Reply to this note

Please Login to reply.

Discussion

Tend to agree, but of course it's a very non-trivial question.

Always saw these fingerprint questions as: one of the 2 extremes is always preferable: 100% strict rule following, or complete randomness. Raises the interesting question of whether we should campaign for all wallets to randomize everything all the time :)

(Even though some can't, unfortunately, because they have specific features... but taproot can help with that)

I think it’s actually a lot more trivial than we’ve considered when you look at tx morphology in a graph vs isolation.

Looking at the graph as a whole, if it’s not too costly to pay for receiver input during time of payment you always prefer payjoin. Maybe some diagrams would help explain.

The two extremes should be ignored because they’re far outside of reality.

'In a graph vs isolation' - yeah that's always been my biggest gripe when people compared the Zerolink ot Samourai model to the Joinmarket model. Though obviously, can of worms there.