Skip to content

Commit 997e4f4

Browse files
jamesobkallewoof
andcommitted
Update bip-vaults.mediawiki
Co-authored-by: kallewoof <[email protected]>
1 parent f30fb52 commit 997e4f4

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

bip-vaults.mediawiki

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -476,9 +476,9 @@ If the above conditions do not fail, a single true value (<code>0x01</code>) is
476476

477477
In order to prevent possible pinning attacks, recovery transactions must be replaceable.
478478

479-
* When validating an <code>OP_VAULT</code>/<code>OP_UNVAULT</code> input being spent towards a recovery, the script must FAIL (by policy, not consensus) and terminate immediately if neither<ref>'''Why are recovery transactions required to be replaceable?''' In the case of unauthorized recoveries, an attacker may attempt to pin recovery transactions by broadcasting a "rebundled" version with a low fee rate. Vault owners must be able to overcome this with replacement. In the case of authorized recovery, if an attacker steals the recovery authorization key, the attacker may try to pin the recovery transaction during theft. Requiring replaceability ensures that the owner can always raise the fee rate of the recovery transaction, even if they are RBF rule #3 griefed in the process.</ref>
480-
*# the input is marked as opt-in replaceable by having an nSequence number less than <code>0xffffffff - 1</code>, per [https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP-0125], nor
481-
*# the version of the recovery transaction has an nVersion equal to 3.
479+
* When validating an <code>OP_VAULT</code>/<code>OP_UNVAULT</code> input being spent towards a recovery, the script must FAIL (by policy, not consensus) and terminate immediately if both<ref>'''Why are recovery transactions required to be replaceable?''' In the case of unauthorized recoveries, an attacker may attempt to pin recovery transactions by broadcasting a "rebundled" version with a low fee rate. Vault owners must be able to overcome this with replacement. In the case of authorized recovery, if an attacker steals the recovery authorization key, the attacker may try to pin the recovery transaction during theft. Requiring replaceability ensures that the owner can always raise the fee rate of the recovery transaction, even if they are RBF rule #3 griefed in the process.</ref>
480+
*# the input is not marked as opt-in replaceable by having an nSequence number less than <code>0xffffffff - 1</code>, per [https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP-0125], and
481+
*# the version of the recovery transaction has an nVersion other than 3.
482482
483483
In order to prevent pinning attacks in the case of unauthorized recovery, the output structure of unauthorized recovery
484484
transaction is limited.

0 commit comments

Comments
 (0)