Skip to content

Commit

Permalink
Merge pull request bitcoin#1459 from ktecho/patch-1
Browse files Browse the repository at this point in the history
Typos in bip-0119
  • Loading branch information
kallewoof committed Jun 30, 2023
2 parents 1670708 + 8f506d8 commit 8b41d49
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions bip-0119.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ references.
==Detailed Specification==

The below code is the main logic for verifying CHECKTEMPLATEVERIFY, described
in pythonic pseduocode. The canonical specification for the semantics of
in pythonic pseudocode. The canonical specification for the semantics of
OP_CHECKTEMPLATEVERIFY as implemented in C++ in the context of Bitcoin Core can
be seen in the reference implementation.

Expand Down Expand Up @@ -225,12 +225,12 @@ A recent commit hash in that PR including tests and vectors can be found here ht
Once the PR is merged, this BIP should be updated to point to the specific code released.

Test vectors are available in [/bip-0119/vectors the bip-0119/vectors
directory] for checking compatibility with the refrence implementation and BIP.
directory] for checking compatibility with the reference implementation and BIP.

==Rationale==

The goal of CHECKTEMPLATEVERIFY is to be minimal impact on the existing codebase -- in the
future, as we become aware of more complex but shown to be safe use cases new template types can be added.
future, as we become aware of more complex but shown to be safe use cases, new template types can be added.

Below we'll discuss the rules one-by-one:

Expand All @@ -250,15 +250,15 @@ Were these values not committed, it would be possible to delay the spending of
an output arbitrarily as well as possible to change the TXID.

Committing these values, rather than restricting them to specific values, is
more flexible as it permits users of CHECKTEMPLATEVERIFY the set the version and
more flexible as it permits users of CHECKTEMPLATEVERIFY to set the version and
locktime as they please.

=====Committing to the ScriptSigs Hash=====

The scriptsig in a segwit transaction must be exactly empty, unless it is a P2SH
segwit transaction in which case it must be only the exact redeemscript. P2SH is incompatible
(unless the P2SH hash is broken) with CHECKTEMPLATEVERIFY because the template hash must commit
to the ScriptSig, which must contain the redeemscript, which is a hash cycle.
to the ScriptSig, which must contain the redeemscript, which is a hash cycle.

To prevent malleability when not using a segwit input, we also commit to the
scriptsig. This makes it possible to use a 2 input CHECKTEMPLATEVERIFY with a legacy pre-signed
Expand Down

0 comments on commit 8b41d49

Please sign in to comment.