mirror of
https://github.com/bitcoin/bips.git
synced 2025-08-18 13:26:23 +00:00
Merge pull request #1873 from lechpzn/master
[bip-0443]: fix link to bip-0341
This commit is contained in:
commit
db9e16eb5d
@ -40,7 +40,7 @@ numerous attempts to improve bitcoin. Some of the proposed applications include:
|
||||
|
||||
* UTXO sharing schemes like Ark, CoinPools, Timeout Trees, etc. use various types of output restrictions in order to enable multiple parties to share the control of a UTXO, while ensuring that each participant controls their own balance.
|
||||
* <code>OP_VAULT</code><ref>[[bip-0345.mediawiki|BIP-345]]</ref> is a proposed opcode to implement a 2-step withdrawal process, enabling on-chain reactive security.
|
||||
* <code>OP_CHECKTEMPLATEVERIFY</code><ref>[[bip-119.mediawiki|BIP-114]]</ref> is a long-proposed opcode to constrain a transaction to a ''template'' with a fixed set of outputs.
|
||||
* <code>OP_CHECKTEMPLATEVERIFY</code><ref>[[bip-0119.mediawiki|BIP-119]]</ref> is a long-proposed opcode to constrain a transaction to a ''template'' with a fixed set of outputs.
|
||||
* Sidechains and rollups could be implemented via a UTXO encumbered with a recursive covenant, updating the sidechain state root every time it is spent.
|
||||
|
||||
Constructions like BitVM<ref>https://bitvm.org/</ref> try to side-step the lack of a primitive allowing UTXOs to carry
|
||||
@ -176,7 +176,7 @@ would always be hard-coded via a push in the script, the risk of mistakes seems
|
||||
|
||||
The following values of the other parameters have special meanings:
|
||||
* If the <code><taptree></code> is -1, it is replaced with the Merkle root of the current input's tapscript tree. If the taptree is the empty buffer, then the taptweak is skipped.
|
||||
* If the <code><pk></code> is 0, it is replaced with the NUMS x-only pubkey <code>0x50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0</code> defined in BIP-0340. If the <code><pk></code> is -1, it is replaced with the taproot internal key of the current input.
|
||||
* If the <code><pk></code> is 0, it is replaced with the NUMS x-only pubkey <code>0x50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0</code> defined in [[bip-0340.mediawiki|BIP-340]]. If the <code><pk></code> is -1, it is replaced with the taproot internal key of the current input.
|
||||
* If the <code><index></code> is -1, it is replaced with the index of the current input.
|
||||
* If the <code><data></code> is the empty buffer, then there is no data tweak for the input/output being checked.
|
||||
|
||||
@ -209,7 +209,7 @@ def tweak_embed_data(pubkey, data):
|
||||
return 0 if has_even_y(Q) else 1, bytes_from_int(x(Q))
|
||||
</source>
|
||||
|
||||
The <code>taproot_tweak_pubkey</code> from [[bip-0341.mediawiki|BIP341]] is also used as a helper function.
|
||||
The <code>taproot_tweak_pubkey</code> from [[bip-0341.mediawiki|BIP-341]] is also used as a helper function.
|
||||
|
||||
The following notations are used in the pseudocode below:
|
||||
* <code>n_inputs</code> and <code>n_outputs</code> are the number of inputs and outputs of the transaction, respectively;
|
||||
@ -246,7 +246,7 @@ evaluation of a taproot script spend. <code>this_input_index</code>, <code>this_
|
||||
<code>this_input_taptree</code> are the index, taproot internal key and taproot Merkle root of the current input.
|
||||
|
||||
<code>BIP341_NUMS_KEY</code> is the x-only provably unspendable key <code>50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0</code>
|
||||
defined in [[bip-341.mediawiki|BIP-341]].
|
||||
defined in [[bip-0341.mediawiki|BIP-341]].
|
||||
|
||||
<source lang="python">
|
||||
if mode < CCV_MODE_CHECK_INPUT or mode > CCV_MODE_CHECK_OUTPUT_DEDUCT_AMOUNT:
|
||||
|
Loading…
x
Reference in New Issue
Block a user