summaryrefslogtreecommitdiff
path: root/bip-0119.mediawiki
diff options
context:
space:
mode:
authorJeremy Rubin <j@rubin.io>2022-01-26 01:44:39 -0800
committerGitHub <noreply@github.com>2022-01-26 01:44:39 -0800
commit9eb17cd2964e7c48dc2cb0b3eef5fdc627eeeca8 (patch)
tree96582bb620b12f68d6877c2f3144b5b3cf6066be /bip-0119.mediawiki
parent02de475efc528058bd04a0c4ad31b6422aed5f5f (diff)
downloadbips-9eb17cd2964e7c48dc2cb0b3eef5fdc627eeeca8.tar.xz
[BIP-119] Clarify that policy is not validity + what a covenant is.
Diffstat (limited to 'bip-0119.mediawiki')
-rw-r--r--bip-0119.mediawiki13
1 files changed, 8 insertions, 5 deletions
diff --git a/bip-0119.mediawiki b/bip-0119.mediawiki
index 29f6271..d456aea 100644
--- a/bip-0119.mediawiki
+++ b/bip-0119.mediawiki
@@ -39,9 +39,12 @@ The recommended standardness rules additionally:
==Motivation==
-Covenants are restrictions on how a coin may be spent beyond key ownership. Covenants can be useful
-to construct smart contracts. As covenants are complex to implement and risk of introducing
-fungibility discriminants they have not been seriously considered for inclusion in Bitcoin.
+Covenants are restrictions on how a coin may be spent beyond key ownership. This is a general
+definition based on the legal definition which even simple scripts using CSV would satisfy.
+Covenants in Bitcoin transactions usually refer to restrictions on where coins can be transferred.
+Covenants can be useful to construct smart contracts. As covenants are complex to implement
+and risk of introducing fungibility discriminants they have not been seriously considered for
+inclusion in Bitcoin.
This BIP introduces a simple covenant called a *template* which enables a limited set of highly
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
for mining and block validation. Similar soft forks for OP_CHECKSEQUENCEVERIFY and OP_CHECKLOCKTIMEVERIFY
(see BIP-0065 and BIP-0112) have similarly changed OP_NOP semantics without introducing compatibility issues.
-In contrast to previous forks, OP_CHECKTEMPLATEVERIFY will not make scripts
-valid for policy until the new rule is active.
+In contrast to previous forks, OP_CHECKTEMPLATEVERIFY's implementation does not allow transactions with spending
+scripts using it to be accepted to the mempool or relayed under standard policy until the new rule is active.
Older wallet software will be able to accept spends from OP_CHECKTEMPLATEVERIFY outputs, but will
require an upgrade in order to treat PayToBareDefaultCheckTemplateVerifyHash chains with a confirmed ancestor as