Den mest brukte antagelsen i kjedeanalyse er at alle inndata til en transaksjon tilhører betaler. PayJoin bryter den med et enkelt triks: mottakeren legger til én av sine egne mynter som inndata.
Hvordan det fungerer (BIP78)
- Betaler lager en vanlig signert transaksjon (en psbt) og sender den til mottakerens endepunkt.
- Mottakeren legger til en egen inndata og øker sin utdata med samme beløp.
- Betaler sjekker at de ikke betaler mer enn tilsiktet, signerer deretter og kringkaster.
On-chain ser det ut som en vanlig betaling. Men inndataene kommer fra to personer, og beløpene avslører ikke lenger den reelle betalingen.
Hvorfor det hjelper alle
BIP78 bemerker at payjoin kan ugyldiggjøre common-input-, change-script-type- og round-amount-heuristikker. Fordi payjoin ser ut som vanlige transaksjoner, gjør blotte det at de finnes disse heuristikkene mindre pålitelige for alle, også dem som aldri bruker payjoin.
Status
- BIP78 har status «Deployed» og støttes av noen lommebøker og betalingsservere (som BTCPay Server).
- BIP77 (Async Payjoin, status Draft) fjerner behovet for at mottakeren kjører en server som er på nett i betalingsøyeblikket.
Grense: begge sider må bruke lommebøker som støtter det.