Skip to content

Commit 9eb17cd

Browse files
authored
[BIP-119] Clarify that policy is not validity + what a covenant is.
1 parent 02de475 commit 9eb17cd

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

bip-0119.mediawiki

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,12 @@ The recommended standardness rules additionally:
3939
4040
==Motivation==
4141

42-
Covenants are restrictions on how a coin may be spent beyond key ownership. Covenants can be useful
43-
to construct smart contracts. As covenants are complex to implement and risk of introducing
44-
fungibility discriminants they have not been seriously considered for inclusion in Bitcoin.
42+
Covenants are restrictions on how a coin may be spent beyond key ownership. This is a general
43+
definition based on the legal definition which even simple scripts using CSV would satisfy.
44+
Covenants in Bitcoin transactions usually refer to restrictions on where coins can be transferred.
45+
Covenants can be useful to construct smart contracts. As covenants are complex to implement
46+
and risk of introducing fungibility discriminants they have not been seriously considered for
47+
inclusion in Bitcoin.
4548

4649
This BIP introduces a simple covenant called a *template* which enables a limited set of highly
4750
valuable use cases without significant risk.
@@ -710,8 +713,8 @@ for an OP_NOP are a soft fork, so existing software will be fully functional wit
710713
for mining and block validation. Similar soft forks for OP_CHECKSEQUENCEVERIFY and OP_CHECKLOCKTIMEVERIFY
711714
(see BIP-0065 and BIP-0112) have similarly changed OP_NOP semantics without introducing compatibility issues.
712715

713-
In contrast to previous forks, OP_CHECKTEMPLATEVERIFY will not make scripts
714-
valid for policy until the new rule is active.
716+
In contrast to previous forks, OP_CHECKTEMPLATEVERIFY's implementation does not allow transactions with spending
717+
scripts using it to be accepted to the mempool or relayed under standard policy until the new rule is active.
715718

716719
Older wallet software will be able to accept spends from OP_CHECKTEMPLATEVERIFY outputs, but will
717720
require an upgrade in order to treat PayToBareDefaultCheckTemplateVerifyHash chains with a confirmed ancestor as

0 commit comments

Comments
 (0)