mirror of
https://github.com/bitcoin/bips.git
synced 2024-11-19 01:40:05 +01:00
update Joinmarket BIP78 status
This commit is contained in:
parent
0f683f71f5
commit
1fbcd28584
@ -249,7 +249,7 @@ The receiver needs to do some check on the original PSBT before proceeding:
|
||||
===Sender's payjoin proposal checklist===
|
||||
|
||||
The sender should check the payjoin proposal before signing it to prevent a malicious receiver from stealing money.
|
||||
|
||||
|
||||
* Verify that the absolute fee of the payjoin proposal is equals or higher than the original PSBT.
|
||||
* If the receiver's BIP21 signalled <code>pjos=0</code>, disable payment output substitution.
|
||||
* Verify that the transaction version, and the nLockTime are unchanged.
|
||||
@ -325,7 +325,7 @@ Because the receiver needs to bump the fee to keep the same fee rate as the orig
|
||||
|
||||
The validation (policy and consensus) of the original transaction is optional: a receiver without a full node can decide to create the payjoin transaction and automatically broadcast the original transaction after a timeout of 1 minute, and only verify that it has been propagated in the network.
|
||||
|
||||
However, non-interactive receivers (like a payment processor) need to verify the transaction to prevent UTXO probing attacks.
|
||||
However, non-interactive receivers (like a payment processor) need to verify the transaction to prevent UTXO probing attacks.
|
||||
|
||||
This is not a concern for interactive receivers like Wasabi Wallet, because those receivers can just limit the number of original PSBT proposals of a specific address to one. With such wallets, the attacker has no way to generate new deposit addresses to probe the UTXOs.
|
||||
|
||||
@ -498,7 +498,7 @@ public async Task<PSBT> RequestPayjoin(
|
||||
if (proposedPSBTInput.NonWitnessUtxo != null || proposedPSBTInput.WitnessUtxo != null)
|
||||
throw new PayjoinSenderException("The receiver added non_witness_utxo or witness_utxo to one of our inputs");
|
||||
sequences.Add(proposedTxIn.Sequence);
|
||||
|
||||
|
||||
// Fill up the info from the original PSBT input so we can sign and get fees.
|
||||
proposedPSBTInput.NonWitnessUtxo = input.SignedPSBTInput.NonWitnessUtxo;
|
||||
proposedPSBTInput.WitnessUtxo = input.SignedPSBTInput.WitnessUtxo;
|
||||
@ -660,7 +660,7 @@ A successful exchange with:
|
||||
* [[https://github.com/BlueWallet/BlueWallet|BlueWallet]] is in the process of implementing the protocol.
|
||||
* [[https://github.com/btcpayserver/btcpayserver|BTCPay Server]] has implemented sender and receiver side of this protocol.
|
||||
* [[https://github.com/zkSNACKs/WalletWasabi/|Wasabi Wallet]] has merged sender's support.
|
||||
* [[https://github.com/JoinMarket-Org/joinmarket-clientserver|Join Market]] is in the process of implementing the protocol.
|
||||
* [[https://github.com/JoinMarket-Org/joinmarket-clientserver|Join Market]] has implemented sender and receiver side of this protocol.
|
||||
* [[https://github.com/bitcoinjs/payjoin-client|JavaScript sender implementation]].
|
||||
|
||||
==Backward compatibility==
|
||||
|
Loading…
Reference in New Issue
Block a user