Difference between revisions of "PayJoin"

From Bitcoin Wiki
Jump to: navigation, search
(Create page)
 
m (External links: Add blockstream blog link)
 
(4 intermediate revisions by 3 users not shown)
Line 6: Line 6:
 
  5 btc      4 btc
 
  5 btc      4 btc
  
It could be interpreted as a simple [[transaction]] paying to somewhere with leftover [[change]]. Another interpretion is that the 2 BTC input is owned by a merchant and 5 BTC is owned by their customer, and that this transaction involves the customer paying 1 BTC to the merchant. There is no way to tell which of these two interpretations is correct. The result is a [[CoinJoin]] [[transaction]] which breaks the [[common-input-ownership heuristic]] and improves privacy, but is also undetectable and indistinguishable from any regular bitcoin [[transaction]].
+
It could be interpreted as a simple [[transaction]] paying to somewhere with leftover [[change]]. Another interpretation is that the 2 BTC input is owned by a merchant and 5 BTC is owned by their customer, and that this transaction involves the customer paying 1 BTC to the merchant. There is no way to tell which of these two interpretations is correct. The result is a [[CoinJoin]] [[transaction]] which breaks the [[common-input-ownership heuristic]] and improves privacy, but is also undetectable and indistinguishable from any regular bitcoin [[transaction]].
  
 
If PayJoin [[transaction]]s became even moderately used then it would make the [[common-input-ownership heuristic]] be completely flawed in practice. As they are undetectable we wouldn't even know whether they are being used today. As [[Transaction surveillance company|Transaction surveillance companies]] mostly depend on that heuristic, as of 2019 there is great excitement about the PayJoin idea<ref>https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-August/016340.html</ref>.
 
If PayJoin [[transaction]]s became even moderately used then it would make the [[common-input-ownership heuristic]] be completely flawed in practice. As they are undetectable we wouldn't even know whether they are being used today. As [[Transaction surveillance company|Transaction surveillance companies]] mostly depend on that heuristic, as of 2019 there is great excitement about the PayJoin idea<ref>https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-August/016340.html</ref>.
Line 20: Line 20:
 
* https://medium.com/@nopara73/pay-to-endpoint-56eb05d3cac6
 
* https://medium.com/@nopara73/pay-to-endpoint-56eb05d3cac6
 
* https://samouraiwallet.com/stowaway - A smartphone wallet which implements payjoin.
 
* https://samouraiwallet.com/stowaway - A smartphone wallet which implements payjoin.
 +
* https://joinmarket.me/blog/blog/payjoin/
 
* https://gist.github.com/AdamISZ/4551b947789d3216bacfcb7af25e029e
 
* https://gist.github.com/AdamISZ/4551b947789d3216bacfcb7af25e029e
 +
* https://wasabiwallet.io/ - PayJoin-enabled Bitcoin Desktop Wallet
 +
* https://www.blockstream.com/2020/04/16/en-bitcoin-privacy-improves-with-btcpay-servers-p2ep-implementation/
  
 
== See also ==
 
== See also ==
  
 
* [[CoinJoin]]
 
* [[CoinJoin]]
* [[JoinMarket]]
+
* [[PayJoin adoption]]
  
 
==References==
 
==References==

Latest revision as of 13:07, 16 January 2021

PayJoin (also called pay-to-end-point or P2EP) is a special type of CoinJoin between two parties where one party pays the other. This coinjoin type has different (probably better) privacy properties. The transaction then doesn't have the distinctive multiple outputs with the same value, and so is not obviously visible as an equal-output CoinJoin.

Consider this transaction:

2 btc ---> 3 btc
5 btc      4 btc

It could be interpreted as a simple transaction paying to somewhere with leftover change. Another interpretation is that the 2 BTC input is owned by a merchant and 5 BTC is owned by their customer, and that this transaction involves the customer paying 1 BTC to the merchant. There is no way to tell which of these two interpretations is correct. The result is a CoinJoin transaction which breaks the common-input-ownership heuristic and improves privacy, but is also undetectable and indistinguishable from any regular bitcoin transaction.

If PayJoin transactions became even moderately used then it would make the common-input-ownership heuristic be completely flawed in practice. As they are undetectable we wouldn't even know whether they are being used today. As Transaction surveillance companies mostly depend on that heuristic, as of 2019 there is great excitement about the PayJoin idea[1].


Probable examples

In general payjoins are indistinguishable from any regular bitcoin transactions, but sometimes their creators publish them online and say they are actually payjoins.

  • 7104bae698587b3e75563b7ea7a9aada41d9c787788bc2bf26dd201fd7eca8a2[2].

External links

See also

References