From c7eed3e444b15ca9f6c7aa8a79d5c54d2af07d8f Mon Sep 17 00:00:00 2001 From: Saivann Date: Mon, 12 May 2014 11:56:51 -0400 Subject: [PATCH] Replace P2PH by P2PKH in devel-docs --- _autocrossref.yaml | 2 +- _includes/guide_payment_processing.md | 8 +-- _includes/guide_transactions.md | 46 +++++++++--------- _includes/ref_core_rpcs-abcdefg.md | 12 ++--- _includes/ref_core_rpcs-uvwxyz.md | 2 +- _includes/ref_transactions.md | 8 +-- _includes/references.md | 8 +-- img/dev/en-creating-p2ph-output.png | Bin 4126 -> 0 bytes ...utput.dot => en-creating-p2pkh-output.dot} | 7 +-- img/dev/en-creating-p2pkh-output.png | Bin 0 -> 4167 bytes ...utput.svg => en-creating-p2pkh-output.svg} | 2 +- img/dev/en-p2ph-stack.png | Bin 20119 -> 0 bytes .../{en-p2ph-stack.dot => en-p2pkh-stack.dot} | 9 ++-- img/dev/en-p2pkh-stack.png | Bin 0 -> 18040 bytes .../{en-p2ph-stack.svg => en-p2pkh-stack.svg} | 8 +-- img/dev/en-unlocking-p2ph-output.png | Bin 5531 -> 0 bytes ...tput.dot => en-unlocking-p2pkh-output.dot} | 7 +-- img/dev/en-unlocking-p2pkh-output.png | Bin 0 -> 5586 bytes ...tput.svg => en-unlocking-p2pkh-output.svg} | 2 +- 19 files changed, 62 insertions(+), 59 deletions(-) delete mode 100644 img/dev/en-creating-p2ph-output.png rename img/dev/{en-creating-p2ph-output.dot => en-creating-p2pkh-output.dot} (77%) create mode 100644 img/dev/en-creating-p2pkh-output.png rename img/dev/{en-creating-p2ph-output.svg => en-creating-p2pkh-output.svg} (98%) delete mode 100644 img/dev/en-p2ph-stack.png rename img/dev/{en-p2ph-stack.dot => en-p2pkh-stack.dot} (95%) create mode 100644 img/dev/en-p2pkh-stack.png rename img/dev/{en-p2ph-stack.svg => en-p2pkh-stack.svg} (98%) delete mode 100644 img/dev/en-unlocking-p2ph-output.png rename img/dev/{en-unlocking-p2ph-output.dot => en-unlocking-p2pkh-output.dot} (83%) create mode 100644 img/dev/en-unlocking-p2pkh-output.png rename img/dev/{en-unlocking-p2ph-output.svg => en-unlocking-p2pkh-output.svg} (99%) diff --git a/_autocrossref.yaml b/_autocrossref.yaml index 893d10e1..78b7d0fa 100644 --- a/_autocrossref.yaml +++ b/_autocrossref.yaml @@ -120,7 +120,7 @@ orphan: orphaned outputs: output output: output index: -p2ph: +p2pkh: p2sh: p2sh multisig: parent chain code: diff --git a/_includes/guide_payment_processing.md b/_includes/guide_payment_processing.md index 9296b91e..c721ca58 100644 --- a/_includes/guide_payment_processing.md +++ b/_includes/guide_payment_processing.md @@ -611,9 +611,9 @@ each payment. ## Amount of the request amount = 10000000 ## In satoshis -## P2PH pubkey hash +## P2PKH pubkey hash pubkey_hash = "2b14950b8d31620c6cc923c5408a701b1ec0a020" -## P2PH output script entered as hex and converted to binary +## P2PKH output script entered as hex and converted to binary # OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG # 76 a9 14 88 ac hex_script = "76" + "a9" + "14" + pubkey_hash + "88" + "ac" @@ -657,13 +657,13 @@ serialized_script = hex_script.decode("hex") `script`: (required) You must specify the output script you want the spender to pay---any valid script is acceptable. In this example, we'll request -payment to a P2PH output script. +payment to a P2PKH output script. First we get a pubkey hash. The hash above is the hash form of the address used in the URI examples throughout this section, mjSk1Ny9spzU2fouzYgLqGUD8U41iR35QN. -Next, we plug that hash into the standard P2PH output script using hex, +Next, we plug that hash into the standard P2PKH output script using hex, as illustrated by the code comments. Finally, we convert the output script from hex into its serialized form. diff --git a/_includes/guide_transactions.md b/_includes/guide_transactions.md index 4c4df8cc..6fb79d2a 100644 --- a/_includes/guide_transactions.md +++ b/_includes/guide_transactions.md @@ -40,12 +40,12 @@ invalidating previous transactions. The figures below help illustrate the other transaction features by showing the workflow Alice uses to send Bob a transaction and which Bob later uses to spend that transaction. Both Alice and Bob will use the -most common form of the standard Pay-To-Pubkey-Hash (P2PH) transaction -type. [P2PH][]{:#term-p2ph}{:.term} lets Alice spend satoshis to a typical Bitcoin address, +most common form of the standard Pay-To-Public-Key-Hash (P2PKH) transaction +type. [P2PKH][]{:#term-p2pkh}{:.term} lets Alice spend satoshis to a typical Bitcoin address, and then lets Bob further spend those satoshis using a simple cryptographic key pair. -![Creating A P2PH Public Key Hash To Receive Payment](/img/dev/en-creating-p2ph-output.svg) +![Creating A P2PKH Public Key Hash To Receive Payment](/img/dev/en-creating-p2pkh-output.svg) Bob must first generate a private/public [key pair][]{:#term-key-pair}{:.term} before Alice can create the first transaction. Standard Bitcoin [private keys][private @@ -76,7 +76,7 @@ into another format, such as a QR code containing a `bitcoin:` URI. Once Alice has the address and decodes it back into a standard hash, she -can create the first transaction. She creates a standard P2PH +can create the first transaction. She creates a standard P2PKH transaction output containing instructions which allow anyone to spend that output if they can prove they control the private key corresponding to Bob's hashed public key. These instructions are called the output [script][]{:#term-script}{:.term}. @@ -92,11 +92,11 @@ index number ([output index][]{:#term-output-index}{:.term}). He must then creat collection of data parameters which satisfy the conditions Alice placed in the previous output's script. -![Unlocking A P2PH Output For Spending](/img/dev/en-unlocking-p2ph-output.svg) +![Unlocking A P2PKH Output For Spending](/img/dev/en-unlocking-p2pkh-output.svg) Bob does not need to communicate with Alice to do this; he must simply prove to the Bitcoin peer-to-peer network that he can satisfy the -script's conditions. For a P2PH-style output, Bob's scriptSig will +script's conditions. For a P2PKH-style output, Bob's scriptSig will contain the following two pieces of data: 1. His full (unhashed) public key, so the script can check that it @@ -129,11 +129,11 @@ transactions. {% endautocrossref %} -### P2PH Script Validation +### P2PKH Script Validation {% autocrossref %} -The validation procedure requires evaluation of the script. In a P2PH +The validation procedure requires evaluation of the script. In a P2PKH output, the script is: {% endautocrossref %} @@ -145,7 +145,7 @@ OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG {% autocrossref %} The spender's scriptSig is evaluated and prefixed to the beginning of the -script. In a P2PH transaction, the scriptSig contains a signature (sig) +script. In a P2PKH transaction, the scriptSig contains a signature (sig) and full public key (pubkey), creating the following concatenation: {% endautocrossref %} @@ -173,10 +173,10 @@ locations in stack descriptions. -harding --> To test whether the transaction is valid, scriptSig and script arguments are pushed to the stack one item at a time, starting with Bob's scriptSig and continuing to the end of Alice's script. The figure below shows the -evaluation of a standard P2PH script; below the figure is a description +evaluation of a standard P2PKH script; below the figure is a description of the process. -![P2PH Stack Evaluation](/img/dev/en-p2ph-stack.svg) +![P2PKH Stack Evaluation](/img/dev/en-p2pkh-stack.svg) * The signature (from Bob's scriptSig) is added (pushed) to an empty stack. Because it's just data, nothing is done except adding it to the stack. @@ -231,7 +231,7 @@ currently spending. Receivers do care about the conditions imposed on the satoshis by the output script and, if they want, they can ask spenders to use a particular script. Unfortunately, custom scripts are less convenient than short Bitcoin addresses and more difficult to -secure than P2PH pubkey hashes. +secure than P2PKH pubkey hashes. To solve these problems, pay-to-script-hash ([P2SH][]{:#term-p2sh}{:.term}) transactions were created in 2012 to let @@ -240,7 +240,7 @@ script][script hash]{:#term-script-hash}{:.term}, the [redeemScript][]{:#term-redeemscript}{:.term}. The basic P2SH workflow, illustrated below, looks almost identical to -the P2PH workflow. Bob creates a redeemScript with whatever script he +the P2PKH workflow. Bob creates a redeemScript with whatever script he wants, hashes the redeemScript, and provides the redeemScript hash to Alice. Alice creates a P2SH-style output containing Bob's redeemScript hash. @@ -260,8 +260,8 @@ The hash of the redeemScript has the same properties as a pubkey hash---so it can be transformed into the standard Bitcoin address format with only one small change to differentiate it from a standard address. This makes collecting a P2SH-style address as simple as collecting a -P2PH-style address. The hash also obfuscates any public keys in the -redeemScript, so P2SH scripts are as secure as P2PH pubkey hashes. +P2PKH-style address. The hash also obfuscates any public keys in the +redeemScript, so P2SH scripts are as secure as P2PKH pubkey hashes. {% endautocrossref %} @@ -272,9 +272,9 @@ redeemScript, so P2SH scripts are as secure as P2PH pubkey hashes. Care must be taken to avoid non-standard output scripts. As of Bitcoin Core 0.9, the standard script types are: -**Pubkey Hash (P2PH)** +**Pubkey Hash (P2PKH)** -P2PH is the most common form of script used to send a transaction to one +P2PKH is the most common form of script used to send a transaction to one or multiple Bitcoin addresses. {% endautocrossref %} @@ -340,9 +340,9 @@ scriptSig: OP_0 **Pubkey** -[Pubkey][]{:#term-pubkey}{:.term} scripts are a simplified form of the P2PH script, +[Pubkey][]{:#term-pubkey}{:.term} scripts are a simplified form of the P2PKH script, but they aren’t as -secure as P2PH, so they generally +secure as P2PKH, so they generally aren’t used in new transactions anymore. {% endautocrossref %} @@ -394,7 +394,7 @@ conditions: numbers must be 0xffffffff. * The transaction must be smaller than 100,000 bytes. That's around 200 - times larger than a typical single-input, single-output P2PH + times larger than a typical single-input, single-output P2PKH transaction. * Each of the transaction's inputs must be smaller than 500 bytes. @@ -563,10 +563,10 @@ people will have UTXOs that exactly match the amount they want to pay, so most transactions include a change output. [Change outputs][change output]{:#term-change-output}{:.term} are regular outputs which spend the surplus satoshis -from the UTXOs back to the spender. They can reuse the same P2PH pubkey hash +from the UTXOs back to the spender. They can reuse the same P2PKH pubkey hash or P2SH script hash as was used in the UTXO, but for the reasons described in the [next subsection](#avoiding-key-reuse), it is highly recommended that change -outputs be sent to a new P2PH or P2SH address. +outputs be sent to a new P2PKH or P2SH address. {% endautocrossref %} @@ -600,7 +600,7 @@ allow reconstruction of private keys from public keys (hypothesized) or from signature comparisons (possible today under certain circumstances described below, with more general attacks hypothesized). -1. Unique (non-reused) P2PH and P2SH addresses protect against the first +1. Unique (non-reused) P2PKH and P2SH addresses protect against the first type of attack by keeping ECDSA public keys hidden (hashed) until the first time satoshis sent to those addresses are spent, so attacks are effectively useless unless they can reconstruct private keys in diff --git a/_includes/ref_core_rpcs-abcdefg.md b/_includes/ref_core_rpcs-abcdefg.md index c339fc32..72177248 100644 --- a/_includes/ref_core_rpcs-abcdefg.md +++ b/_includes/ref_core_rpcs-abcdefg.md @@ -74,7 +74,7 @@ wallet as spendable balances). {% autocrossref %} Adding a 2-of-3 P2SH multisig address to the "test account" by mixing -two P2PH addresses and one full public key: +two P2PKH addresses and one full public key: {% endautocrossref %} @@ -266,7 +266,7 @@ provide public keys for any address not known to this wallet. {% autocrossref %} -Creating a 2-of-3 P2SH multisig address by mixing two P2PH addresses and +Creating a 2-of-3 P2SH multisig address by mixing two P2PKH addresses and one full public key: {% endautocrossref %} @@ -310,7 +310,7 @@ createrawtransaction {% autocrossref %} Create an unsigned transaction in hex rawtransaction format that spends a -previous output to an new output with a P2PH or P2SH address. The +previous output to an new output with a P2PKH or P2SH address. The transaction is not stored in the wallet or transmitted to the network. @@ -332,11 +332,11 @@ output index number, called *vout* (number; required). ] ~~~ -**Argument #2: P2PH Or P2SH Addresses For New Outputs** +**Argument #2: P2PKH Or P2SH Addresses For New Outputs** {% autocrossref %} -*String; required:* A JSON object with P2PH or P2SH addresses to pay as +*String; required:* A JSON object with P2PKH or P2SH addresses to pay as keys and the amount to pay each address as its value (number; required) in decimal bitcoins. @@ -612,7 +612,7 @@ Decode a hex-encoded P2SH redeemScript. {% autocrossref %} A JSON object describing the redeemScript, with *asm* being the script -in script-language psuedocode, *hex* being the a P2PH public key (if +in script-language psuedocode, *hex* being the a P2PKH public key (if applicable), *type* being the output type (typically public key, multisig, or nonstandard), *reqSigs* being the required signatures, and the *addresses* array listing the addresses belonging to the diff --git a/_includes/ref_core_rpcs-uvwxyz.md b/_includes/ref_core_rpcs-uvwxyz.md index fb466b0d..7d729177 100644 --- a/_includes/ref_core_rpcs-uvwxyz.md +++ b/_includes/ref_core_rpcs-uvwxyz.md @@ -28,7 +28,7 @@ indicated whether or not the address is valid. If it is valid, the validated *address* is returned plus *ismine* to indicate whether or not it belongs to this wallet and *account* to indicate which account it belongs to. If it's a P2SH address, *isscript* will be true. If it's a -P2PH address, *pubkey* will contain the public key and *compressed* will +P2PKH address, *pubkey* will contain the public key and *compressed* will indicate whether or not the pubkey/address is compressed. {% endautocrossref %} diff --git a/_includes/ref_transactions.md b/_includes/ref_transactions.md index 820d3bd0..9f2e2859 100644 --- a/_includes/ref_transactions.md +++ b/_includes/ref_transactions.md @@ -66,11 +66,11 @@ prevent the script from working as expected. {% autocrossref %} -The hashes used in P2PH and P2SH outputs are commonly encoded as Bitcoin +The hashes used in P2PKH and P2SH outputs are commonly encoded as Bitcoin addresses. This is the procedure to encode those hashes and decode the addresses. -First, get your hash. For P2PH, you RIPEMD-160(SHA256()) hash a ECDSA +First, get your hash. For P2PKH, you RIPEMD-160(SHA256()) hash a ECDSA public key derived from your 256-bit ECDSA private key (random data). For P2SH, you RIPEMD-160(SHA256()) hash a redeemScript serialized in the format used in raw transactions (described in a [following @@ -79,9 +79,9 @@ sub-section][raw transaction format]). Taking the resulting hash: 1. Add an address version byte in front of the hash. The version bytes commonly used by Bitcoin are: - * 0x00 for P2PH addresses on the main Bitcoin network (mainnet) + * 0x00 for P2PKH addresses on the main Bitcoin network (mainnet) - * 0x6f for P2PH addresses on the Bitcoin testing network (testnet) + * 0x6f for P2PKH addresses on the Bitcoin testing network (testnet) * 0x05 for P2SH addresses on mainnet diff --git a/_includes/references.md b/_includes/references.md index ee9a7bd5..1300a004 100644 --- a/_includes/references.md +++ b/_includes/references.md @@ -1,7 +1,7 @@ [51 percent attack]: /en/developer-guide#term-51-attack "The ability of someone controlling a majority of hashing power to revise transactions history and prevent new transactions from confirming" [accidental fork]: /en/developer-guide#term-accidental-fork "When two or more blocks have the same block height, forking the block chain. Happens occasionally by accident" -[addresses]: /en/developer-guide#term-address "A 20-byte hash formatted as a P2PH or P2SH Bitcoin Address" -[address]: /en/developer-guide#term-address "A 20-byte hash formatted as a P2PH or P2SH Bitcoin Address" +[addresses]: /en/developer-guide#term-address "A 20-byte hash formatted as a P2PKH or P2SH Bitcoin Address" +[address]: /en/developer-guide#term-address "A 20-byte hash formatted as a P2PKH or P2SH Bitcoin Address" [base58Check]: /en/developer-reference#term-base58check "The method used in Bitcoin for converting 160-bit hashes into Bitcoin addresses" [bitcoin URI]: /en/developer-guide#term-bitcoin-uri "A URI which allows receivers to encode payment details so spenders don't have to manually enter addresses and other details" [bitcoins]: /en/developer-guide#term-bitcoins "A primary accounting unit used in Bitcoin; 100 million satoshis" @@ -83,7 +83,7 @@ [output]: /en/developer-guide#term-output "The output of a transaction which transfers value to a script" [output index]: /en/developer-guide#term-output-index "The sequentially-numbered index of outputs in a single transaction starting from 0" [outputs]: /en/developer-guide#term-output "The outputs of a transaction which transfer value to scripts" -[P2PH]: /en/developer-guide#term-p2ph "A script which Pays To Pubkey Hashes (P2PH), allowing spending of satoshis to anyone with a Bitcoin address" +[P2PKH]: /en/developer-guide#term-p2pkh "A script which Pays To Pubkey Hashes (P2PKH), allowing spending of satoshis to anyone with a Bitcoin address" [P2SH]: /en/developer-guide#term-p2sh "A script which Pays To Script Hashes (P2SH), allowing convenient spending of satoshis to an address referencing a script" [P2SH multisig]: /en/developer-guide#term-p2sh-multisig "A multisig script embedded in the redeemScript of a pay-to-script-hash (P2SH) transaction" [parent chain code]: /en/developer-guide#term-parent-chain-code "A chain code which has helped create child public or private keys" @@ -100,7 +100,7 @@ [point function]: /en/developer-guide#term-point-function "The ECDSA function used to create a public key from a private key" [private key]: /en/developer-guide#term-private-key "The private portion of a keypair which can create signatures which other people can verify using the public key" [private keys]: /en/developer-guide#term-private-key "The private portion of a keypair which can create signatures which other people can verify using the public key" -[pubkey hash]: /en/developer-guide#term-pubkey-hash "The hash of a public key which can be included in a P2PH output" +[pubkey hash]: /en/developer-guide#term-pubkey-hash "The hash of a public key which can be included in a P2PKH output" [public key]: /en/developer-guide#term-public-key "The public portion of a keypair which can be safely distributed to other people so they can verify a signature created with the corresponding private key" [public keys]: /en/developer-guide#term-public-key "The public portion of a keypair which can be safely distributed to other people so they can verify a signature created with the corresponding private key" [pp amount]: /en/developer-guide#term-pp-amount "Part of the Output part of the PaymentDetails part of a payment protocol where receivers can specify the amount of satoshis they want paid to a particular output script" diff --git a/img/dev/en-creating-p2ph-output.png b/img/dev/en-creating-p2ph-output.png deleted file mode 100644 index ca7d6d3270d2a5a6680909fd08fadcc4bb2dda7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4126 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 Vp1j5B1n)Qgrp8uAPYj^Me*@-nqt5^U diff --git a/img/dev/en-creating-p2ph-output.dot b/img/dev/en-creating-p2pkh-output.dot similarity index 77% rename from img/dev/en-creating-p2ph-output.dot rename to img/dev/en-creating-p2pkh-output.dot index 33c17c67..ff5e34af 100644 --- a/img/dev/en-creating-p2ph-output.dot +++ b/img/dev/en-creating-p2pkh-output.dot @@ -7,8 +7,9 @@ rankdir=LR; //ranksep=0.1; //splines=ortho; -node [ shape = box, penwidth = 1.75 ]; -edge [ penwidth = 1.75 ]; +node [ fontname="Sans", shape = box, penwidth = 1.75 ]; +edge [ fontname="Sans", penwidth = 1.75 ]; +graph [ fontname="Sans" ]; penwidth = 1.75; subgraph cluster_bob { @@ -37,5 +38,5 @@ private_key -> full_public_key -> pubkey_hash -> spender_pubkey_hash -> tx1_pubk -label = "Creating A P2PH Public Key Hash To Receive Payment" +label = "Creating A P2PKH Public Key Hash To Receive Payment" } diff --git a/img/dev/en-creating-p2pkh-output.png b/img/dev/en-creating-p2pkh-output.png new file mode 100644 index 0000000000000000000000000000000000000000..7af90db2be1d5c981fbda0fcb17443cb874e0d71 GIT binary patch literal 4167 zcmY*dc|25Y`#;PuH1?S6$`+Yy8Ec4{vBrZe$5I_jWr>uOC41S1v@o(%vP2m<_9B`g zF_uChQ&O^Ij}W8fH=d{8`#$ge$GOjSKG$`Buj_N2?|pyINwKpv=iMQ`0{{SCOACSn z0I-9s`wTAD1wcGtwy-94FKcrG@H;7^=NSM90G0$3$1uji?a1@OYa$(IOu6C&EMk4) z%gT;={y@7&57j3 zlKEwgkXTMqJ5(i##gJ%T8sN6&1%o`>7TxjP(1d?!d(kL2%;ZRzY_PRE=X84cOFa@C z?SeM>o$0yq4;!SwXWvG?U^!I;q0u{szai$S`ja*NI37$wJEZZ?Lhua$6Y2o_FM79^ zA62ClzT_Hm_G&K=y-s!OKS8`K*!{R}{k~C-xAv2RH|2L>>(qegU{vexeKKK)09S;H zbVWLs^HyJ%=YlGYu?q~>U0tu8h%Kpm8_}=-kxp{=Zb~&ss7stSJ3G^!3E zZmlOKoO5Ac$l#%Gd7=-6{T!gs0VKRL9Y`WaS)kP@X+qp+L~H~ zQws5+ZS}^+R4CL3W+AdkcJe3Mi{48EiKx2fS3xtCFRRFIW>`ZIcc?dbce#kK?C#z^ z0eark&m(ie7v_zR@MC4I(1$A<8a-!Yi`y@1(jGQS19t0&MJWoO=W?gnGqM*AYo;Rs z_2#J_a@_1gIEEPIJFEqut>)(TVzuHz1MzKjq&O9sAU*Y**dNWYL)Qqfky;t&!=$L3 z2#9SV-B?0`7wbw|@`=Zp>AlS(wLwuoNv%(J6g02I2NfM-i{&M{X1CmnKC|@Zeb2ZJ z5MP6c8!_1lcB5AodD#XPToYV&!uzrdaPoo_zl&_tA7V_v#3

{U8U@gDC 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 literal 0 HcmV?d00001 diff --git a/img/dev/en-creating-p2ph-output.svg b/img/dev/en-creating-p2pkh-output.svg similarity index 98% rename from img/dev/en-creating-p2ph-output.svg rename to img/dev/en-creating-p2pkh-output.svg index 4bb0bc91..1cf1fe04 100644 --- a/img/dev/en-creating-p2ph-output.svg +++ b/img/dev/en-creating-p2pkh-output.svg @@ -9,7 +9,7 @@ blockchain -Creating A P2PH Public Key Hash To Receive Payment +Creating A P2PKH Public Key Hash To Receive Payment cluster_bob Bob's Computer diff --git a/img/dev/en-p2ph-stack.png b/img/dev/en-p2ph-stack.png deleted file mode 100644 index 28ec1632cfb3d1e66a293dc995d66779570f972b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20119 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 stack6_pubkeyhash [ style = "" ]; stack7_pubkey -> stack7_opchecksig [ style = "" ]; stack7_sig -> stack7_pubkey [ style = "" ]; -label = "Evaluation Stack Over Time During Succesful P2PH Script Validation" +label = "Evaluation Stack Over Time During Succesful P2PKH Script Validation" } diff --git a/img/dev/en-p2pkh-stack.png b/img/dev/en-p2pkh-stack.png new file mode 100644 index 0000000000000000000000000000000000000000..b5bacc03f0fd50130800cb41679d9f8ac1cadde4 GIT binary patch literal 18040 zcmZs?WmH^2(=Ix=OCY$ry9E#K9$@gngC`K&ouI+p-3NCM9^5^+yA$LL@ArP|u66GD zwXM3OySnfS$9m1WS736TK+0Ggbvq&ffq4Fmw78WABc03qeY4v-79iGqwI;4L)f zPZt0n%^@c#_Qh@aG!sF8=74C>X|?6GdB0@>TP;E7?jsJKL_anTW`A(rCpCW?g$*~A@k-J37<3enhU6-tL z2%8rzgVR?urOX9w#DBkQ=9m%}y?ZTk1=oK@P9ko!*--R_StBfA2%wQNeTphTKpBrY z-DLZ~-0U_5c=TZ2Y51yykmfCc{6#rynRGsQE#T{6#35EP*#b`p5)j710%uUq%Rjm) zt0%z1%H^l{dey%w9lmElG?tSqoGCdH9(#CWBbOVARxzf&A3gA29}`QWdU;FJg2AB2 zSTPo1SmJJ?f2QZ1N2C%rcn5l~%e}Y{y1&OnP)+RqYM$EPfLmnAJK!gvfN2| z1JJ-%UoSxli(4{4@ahQDga)FPz0--El^5CT{ReM_qngRg&7{n|?h9KwFO`(25B~jA zFAVTgHSAElK(sz45)eekxVqn3vm;17;;u3e5|s$8h;`ivp}Gc&`IOgf8UlD?n9FfS$Y~tIaf9|9Q@H2xK0R^$+nW9%m4+RUrieIgM(O?LpZ;SozbnL=LGP^ zt*90OOfe%r(1@*}QIc%-dRr(#c2AuI1^z1o8(2=vr_^4S&AU6}G{u5+rsRI|w_s;|K z-w2HsvOF&(_`z6Ut5{Hda?B>7S1PWXGAU;_R&dbjL0r#Qv#u%T)>O4Y6%p|^7lL)dY+?oL@in@=oRtEpDhnA!t2D3F+qrg zG5|m%NzS$jAJ84!P06;&q!8a)J%E}t+B1V>#}k8@?NP;YBmKJEikGY88HAs6C2R*v z1lo;l>Wm(WsH^_gEh&G=PaoDtdv3RVO(&LuvsFnCY~E!j$#ga&qLQ&NkIW$qig^CD z$@S_PxV8xW+IeaHcN|Mk4hF?FKpn&DgM~jCjJ2~`uwu~dy_yHJ59Z&fHC{a1!$vjC zPpgO~J!!SDiBiv{`q@4Yov) za>BbDOs=B&6>MqHm{*bHg)gL1;CxU^=A?KiX^UgP=K;pXn3(AuorgH|sKoZL>Fx2! zIpNa|^YhF&8_59Xih>-(Phz^FjHH><fy zhW<|&f<&SJ4MP8YIh?Ecf>1NZj?YV2fQ1%+boFyBcC@H1vWAamcEHTcT6Dnt>1t># zRh^HB_h7V41^%SCu>C7HHyAglcC8kO5rRz%=9vHS**B0ZKwbWzX`bn|HkQN(|1MhHkQ)FjgJPok7V!Fu!{^d{nr|%P zo`_4*SA0?pfD2Hd1s3Y*H!vriSfEN@p3&gyVs9(Fo5cV+O)cSJeM)HO4bRiB_mPDM zL4gl?7}4fPNcBd>6%T1W*TCxU9EdBvk;EuUF=wU-e8TdB>&Aj&8Z*(4&TFhSsF;3d zuH0DFq~PLB`q|C?f5^3s**im^I<^zJfI@B@+-y}Kzag9Z6kaD5Ug?#n;` zo=^m8Y>E^(C3_Y0osYXklDC+EF7)FFX4?$q5N0C<&AUM>qL|r= zUu-`zpxIR9zgWAM~Um+RGb04u>yS~^5R26U|<*D(*+xcsnl#pX|y#Tfh|dY>xO zFmx8^yRoQ&xjRuG3Q|4|h^8x>b&fFFU7kpBvIH`>_OCRbC>?G*|xL=Z}v_{mr>G-Dn81**XFu15Xzxv%B ze%M-iae?pnQ3|)%#Xvb)MSt+`9}T3&C}?KK0GyivSL0^ByJ9~YpaQhQ)xbm4&40v4 z&;wf^`0DO`+>9J@cT3f{1Boq&0_uK)Q!IC{qjb5 z^v$tk&|lsLJl?JL?tT1%<#BRcW8g*49hM^vi>1?EN41RH`*0AH zB8JA;)F(#8ES3VR?w4bcadoAE-kpqeL6X!rHHElcb)b4oA_uvy83NFeKu8;vhAQeJ zVV;}2wB!gwY(>Ewc?Vpc?Xk0{)8TfiXypGAIxHxG_vS$G6iP;h zZy&pc-_v_N5EkGJA2RVdp`jl1(>}7}f@|^bPaR3miX;VOJe!CB%{(R%7CKvrjsPha zKf2@|r+!t=X~aT3ahRl(y642SUSyQo^Bfz#^xmTHy}gJex&#R#h^)c#h5k~fHLwvK zZNwqNmts9w1q;>(5)`66$kYO+Jt4j5gTJg)=tgv}RO!E)-bnrGfgixC3k#TQ!(_E( z;Qe?cE3_U+=}BC4<|peBxEt<&u&*OfkgHk?5&0B=tWkSTK9dvnTF{H>)%%SEhdE9S z3-}aU4?@E8bfw`8`+GTsMwM#)7ledW5f+p#%fU6kA-M9rf*MS17uj`DH-rf>vF8e? z-;8f{&oH#(T{c;}r1lfkW79^Kdje2l4crgUMPOPJM@;%?`N)(Hi&JE_Ar}3h3$NN8 zpmH;00?<-yTI}sJ?Wa5M?dNJMjNPiMnMsT9_as692Ea1?8oCI~wjUy$YOIuKgb1}& zZ2upjL&ZdsXCey~kKG-RcxjuvJM=TIC&2e4OL`qDOCNp$M*?F$h<^GI9*L)aFss{; zQ1utMxA#PF@yVppBt>X2U{gwhzz+`L{-ua+>=1r>OJ{9b_VVYv-PANWdIq^>KazSI z{VqWyIC&qo^!TsPw}AS~fJ9+xX`MS>^kFE=^*LB(c=uVF!2VB2ZL_KtM2}f&(r60a z7hF$R-RiSC04kro+;P4^kI7gV3PM>cQp0^NgyLQf|6H;oo}i!Q)%* zMk*Td{@MxJsUzo4EYxBEGXVE7?LO1=_8GWKCep4t5&P^$1|f~`NLC(~=d!y`5qD?) zIG{MkYb4e2{P8_NwNDrL;$RgtUL~LxQ-JC*2R1gk&Axm+wx# zt6n)_jmZMw$HA8Eo2PV7Df5|11dz85SegY?`Y0RRWt4+Fwh(_{Z!dn(E7#|Y@YU(W zK*$Txy?N289^nAp^%`Z3^|7F3{Ta^ai!LHic_czw0_OO0$;U@Mc|9V8J|c0=yiZF$ z`(`H!;cNA{Q$>pfF9fJ(dp}WLdKrT>67Zv>69*1<%J5H?Jn~~TSkVgKmW5T@koMgQD=1nQT=8m zpV)|Ikkm=OnP6qOYX|p=1wy|g=l?8OmE=FkQtY5-zxH75R2JH~%5P~C3VrPkATKGr zqb>Vzg(bUHm9oBrF1J~CKK#iO-|(M-Lf}Vh3R(DlNqL=C+0O;Hn1G1y*%FY}4t7FO zd6mS%xL3OMMS(+((^#^OdJ>8TNhN))U_DIKmEw<2ckvj^l!X<)Db?p;z|>N9R9V^R zN@xmZUg8^AHdDW=t0sF{jS7kCITa`Dov=bw8pouyhzVw=VIJenZ@bR1AITo@Z`Y^W zK88fJ5o59X8~*{Iy4Mp^E2c=xiAS(}zLPx32FjR~_v1pqGp(Y$)FQSnBF(MGQd)|b zm+306THH6l3IX#0_0NRb1M~-FOqxr|-h{ePgsXDo?l>siB*Tv?XbN6|HBIac@f8}l zw!5kO#xR0o{+mn6Upbhng;aJX!n(H(UY{|3|C;CgFI*i`K!m|mpVl4vz>mZtdGhld zxf6XtD}t>yRh^y~8OhTOvP9^bKH-c$&8;eNo)DWdR5GlmKp!%e~^uf-+j4} znDxk-*dE00moj30`a2yE3w z1}0qL2k7Ni*of zs_h%7ybk+Yi3rp(e9YoyCoambLnr(BYhoxnma2|Z z`a%@*C7z7aYrxk5OjN|&gZ6o-yx|8p>;;>w#nv# zs>Jv8=byyQcMMsB^V>^!C0FUbVP{wnwqa5#+sYb5Ar$M!(t{SJxPI78d8gv_yB1<@ zG@&<)G3!>m>mSnL-msJmk$|dlfOlwdYhggJAm%%WRWtemnH;tV(BO+W;0NQ8rNCtt z->-1p>fwvehz3Feg-{u@=9;yO+8BO?A9w4%ibQ>Gjtzjby4gVMhPKxK-_-Ut|0PEZ z3V7uB1rfG8uJqGn&VQyXB-8yb%9MjCr#J5TXz6Kc+E!y+2I@U z&d2s_wZS-o(?W+DZj^d84Hzaxo1edx_y0Wki)`IctKk1_kzu{(eBsAEmjBGfLjjhj zi~99+aT7<7M0uQ#YPSvi<3BC*^zUOph&3Z9lk|vb^hW}#JH7&^qq6Ct>C_g~XzGVU z1Vr1vpiF`m@y1g-_y7W6Z2FurTsw1G|I%PVh7Rx7sSvcJ4Q|?jg(%wff@655gMG0z z_DNtASp~O&1-7-!bJkTLjEfutEC;71sDZd%D<8q;4{jWi&nq_JXJrtctT_f2!C*;? zF?mmReU?a^FiRuU;}fAEuq6TIs9=|mAl|P%GVIJw$JzTMw}K%%NQpo;)h#A(P>$SJxZB{=0hgv+u%_lxF;#X;`7KboUk`zZ>{v>c&{5q+&rURpOKKZvGr zC7bYAjPxxW&x&QpeAmP(A=XsjYiSWQZoB*E0`9(H39WEu24I1(ecLKJ>Ghn8Fkrb9 z$sf*A;Jb?~XFA8YAFcUGDvL5qG0hN135kxiwY)DCW(PD>Koo!(f8ElwGifhU%W9QA zlN~A4zh7$@)Q>y^?{hl?Ms9V)2jLhRfhyO&|`VTr?V85_Is^y<%R z_a%JDc9JCRj8U%7(P#af(3W*D9MWI9U0M{}fZ^yCUKnPdly=G@PO(!ZGsqxvaB4?)N3#EXyj^hnpKBE+EOJTgc+J)IXH!VgE+?`tr{+KTHYRkA2h4F49^%Je$lV@Y zSnp)$!LCeV?_}S<;KLB2_!UBTJP>i?zDLad0@YI&2un>rb9899g7Dl6=NCcU7gBEA z6w}hraJf-*2hkx$S{-BnF!hnL+BVc^Ucf)8U46K2Yb*#dbtdWtbgRPwEdcOwNs=tIO?wj8+i61L&}cYAKriOK?$BpwX4{_rbFSvY7q)<0)uOCDJ`r%_c5E`s z06wa=ZkS(i^$ucB>oRZMEslw|eYU*4`8hEbaJ8Ie2=pD}MquffJjImb)7sy)hi+?E zQj*DKV-obz!Co0YFLON#pqfOBORU#L2<^9~B_x!5;Usi-`W;6+-fNh6SNNx!0*=67 z#n@>{4`wfOo1JSV)_dC8No#Drfw(S_r8Juc86du~l`2Q!;FgwnBA|j+V32b?y!|&3 zig6BV@S?mK{mGZ!-J~CzN!H{yUlT4Cj%`U~8BxDaqztI_P!ebwfhnO-%K%I@o>#ja zYuJZ9y;^sR(SMciy?4!cZGVj+cE9%+x5JG`ei&*z+z7&I8Rywq`!Mp(cS+T^* zN}|YWGzR@9M+<(CCMv+{9*Gv45$%FuP)3S<49Niqi2 zQ67^5`IDyMYLTzpu9+Z=$lw9mLfOX<7=rWl3=M$$3z@sPHrAi#QRM3v=SgOJDj1u4 zjmeUuoK(@kT-8H)fc~Y$Gjz9lYj@0~(E82Fe;O`3ykCZ{l_AuFR1j+Nm<=KVAXJyX zv?hX5rL`HTG!XxfUbd*_PeYEo%Pu^&FAq*Hqj*`aP(bFH@--h?!0Zakao6eALGYp|L@;-AI) zWEvQ=VX3*cVE+9K{t10X+g3=GGO6R>`O=O;gtaJ8Ce%zA8dPd%gkFK**})vjrqrRv zGFsSmMMb9K1~s4WJiw(4P7(Z0RY8X{ zJHqJ9Ch6cP-tsI$ddroiuD;OS{nXYjbZ+bJ-eH*O#RH@1(h;b6$ou>kp)v6X8qxZpG@b` zPW(l`^7rwal)0(F7iJ%wj^@Ui3_g%87c4LVoon_iajJ&O3(+wSCYUR@`18Q!`^C|Z z36Guhj^qj z;j`!JN1n>yqKP!GQBKSYRiN{-F%-CENfUWDDT=9BX8FTrA}#YPJLvLh!B@8^%^|mu zE+qhG={~)a2)tjPXmy+Jzh7eqnhn!kznH|N^y!B-Z=H>HpXFW7!NX{|U9;Z$cn(EYxB8eN zYN-yR57_YMs~j5wwPH;a?AcG8owB)qD5mjWuKw1c2Afd+rn=`? z55obAZ7$()ucc zYN1O9Mjp5ugbpI^eBvX4-z+l`xR=;ZWtLd3bz0Y?HWXd+Yc65&Jc4yS8RT<%TIbR8 z&J!lcT7o}N1vk*`LTw62Bi^2;OLFzwWLaG`1y>F|>0@~M4Og0*rj_>{^%9*%^^kg= z+-a3|M2v;!sq(#E7sHS}^-wUjoS#ddHf>4kpOgjwHFgf3YF*qjRz)f)$Er2Td5hcH zOd3z$R|*Y9c|N4M@;6q00?O?1;DcStd)6pc%6Ab^ta(2vRSecH|BkAWEN;=m^A^>s z7_`3KPR!{s0pSFP$)H{BdlAZUDna{(UZkI&Ik?Q zIguO@(Hy;2L5-24ouOtjw6&=6H>pbyS8zq6!B=2d|78fou7A$`#&m_{z|4uT*`!zs ze>Jv1-;-*^0zdDn-J-1*juy;ksSr+_@Zz0_2<)g8ZI^ysUoqMJ>5Ut6=`cf2HsPrt z@HepWmJt)Ge5LV9VQ8ZlAVC-Ala;tR1M0RWr|gzL$?|e{xR*o%J+@K$(mgtzs*kWS z&tSpWXid(Md$TSOrM6Fe4A2~Vq(@>ll^4Xac&i^wexB5*+);I7D0r->!cj!Rmsp7=dnWPff&eav1Yn(v%XPzlBMH zn`4C|=t04*2ep`6RflWhOj)EA8X-IY<~hH@0PF%D-VuejM=QnHgD-tMCDW@cO{x*7 z%>d>Q%k?+*7dbh@&TMiYjeFrfZW?z__pitpez#KHlq4lgS9+VGeR+wFJu@uVFx(1c zI`A7`;I#?h2i*V_A+x3w`Nm-lTML4nNVV-!q9Uvfe^eLeP}b*<9LX>M3em?kJ_NgE z2e&|pMuq2&-H^)oyaiJ{fknn|aHVap(HKWF zxBzDUYWFU(Pv2ZVL~K7IaO~x)j66F(jH|QUo8jVF?6S=`F_&l-Hv&Mz-pR^Jhn#hC zg1d4Pmqno9#L=p*)Xa!ayEX^JTJ)j5$ygTO^yB7EQ#%37TK72XOM60Y;(x4`T>HIS zzk_m1hifTY;7eC(s2T?0sgs9AEE7MRRSoJG=7m^2q%#9|k^O^9&K431(LG#dwEDA~ zZ;BW3@1N#NXPvJzqZEbn<(F2kv^{Mmpan@3w6k+6W#pNpGCNaRoL=%u`$E47<@>77 z4E}+v^B#g+$+2i-y&QMkC^8D8YZn_6!3@UN8A_4-#3-RP_V)Hw=yyY&(QEaImxFB2 zxqoAr*qR@QbGc-Q@DGj&R#2UO%n}-#=2jP1J8(HmdC{VcLk9Rj49AH;aE3W3N^9+d z(TJ_%?|(PY3rvZ#r&K17?*AU}&~{Ugm3ZU0J~|>>B>OK;y*uQ>zil7u2Bey_K`~n92>q&=~!VZN)Q1+%Lu?FnoFp`GZ08FRv!udJ!~F+va<DnUzeP8o zKW5FcOwmGy5D|D+5f9{_322bFDw0)>HrHw6lm_wFp?0JH1f@D^7HPh31H8lSZb-EZ z{GNmTUynEea17YYVV7(~w%u`OjF18vcEwQV#?6|asG}aA#DiNi?sD!qBB)ojF5!Zvs zjCeo1Wt-P7T=?&3*cAo#o~);jyhxSWQaRD=k;yLih7#}*^-1CqwHk(KaLly?6hNJg z5XMPUvG$lt=`zTkxz10}6avrTih=gkV7w_~Ej~)zcyDd^M?Kr!tZ}t(kNzLfu$i~r zcFa*;@t>GjhKv=7WuX+BAuO3^i|US-1h9ZWu~({uT%F1vC@qt*<3v;Y%8NGWz&it) zWW6aC6=krSgI=z0RtgCg6v|VX(TDSgU%1|`*E!Co9=kQr5#L%A*>qu<56ZLTR>yS5 zJS&2qbzN6_J~BV$5IPh(qWokY2%K$|RSmBJ%i}e(RXD`6y)}P ziU#z%{nBcv%j`tJFpQ{!Y@?Pe{pJ1+ws&mdqc~drFpntA}Px5N1JWdnuRaiez_dgx2Hn=gB+9#5e8d zYKN0ET4=3Ei~ZSdS$blC(Rs#sUH%CtXf6b>g`5Ge~9GFxLO*Glje91~(~ z<@#>|*bY^myaZtB4%pKw$CvG1U%s2{BIx;{x6hEzzES&KD`Zn&x(P1{>)S?d_hDb# zVg`7WU@JBq-oMAtA+N(*@O}WFZ1}rqw~)S&yZ!s7hz(_P;Q4NMpj_|$wvQblXvqfv z;l7s5>}3S5xAHT;MuKp2b_l=dpcKXDr3P1&zboUqCP!xC%7X-E77c`O^SLMYcC%Wd z?yfC?d)JLO>e*_(r3jEj@YQARSexyt_?Q$@M<_fuzGDx_zRnt%_BQ-WwO<&z7|ENZsE@yqC zP0y$F6B|_@Pt$|?DX+Fng(PV5KLFYs7B8*DtKO zpukQ|Ou?JBEd^hI@AkwRfxEudrEcT$4OAB)64ThmBH~jpKIAMP{Saw=9&s) z{g=bV8u&(-@0c%x*bc)1XS+=X=+oCbJyzE z-|jRN|0v&hQLm?StFJnSw@`YxDCxQdCGSrCQ(ns%&eCxA@V&XZ3}i_zTC>D$J0SZ( z65xWjp7(Ni{1|m&r%(}TVcW&Hp&~tTwIG1@T_;}GG4yWmva6bSW6RV;z?Usq)Az+e z`5=V?yZ0`$MIlsW%_uqAE^Dj?nDV4h39Zy<+S*y8JvkrA*-9*>twI|-MkX*+sJ&he zDG}d4)JOwOFn!whQJpJrXfBj;xRO(fblsWckpXe9X`QZI`PI0m7&Bl6HSz_4z}|iwUK4U z)3J2f#IMUi8fTs+=pSnsBF1OSYe5_q9JT3(&t4?iiu_gaogd6?vVT9=U`&vhbe**$xsLW$a=GHtj7^3nzN=rg6D{Q6?G7!7=@` zU$Q!U!s(61H|eYwY)WS_?2WW=y_37HE&+5JaM4x^=~S)m--XhMAbhN&|1b#AB~Hi2s&7Zb!)%8LHfgP#TB(-1Sj$b zVN5}*?YCcFij((~LDw-J8)*7bUbp8EMN1M*R_seT) zjGXj?hey?6O)DGpe0m`--lD_He#WNjP<9MDYRkC5*ijTuAi7%gytIn%@AU>I3B2hT zeQhP}4l@VdY;4xshrh&@4bXg)ne1VSYq6a=W{#?7e;q+vNC!*L4Tc=o z&9X0S69=0)gE=3v(z)e6P04Zv;9OPMS5qhzYvP%ED%4=BZ)(MPPA$(-`DhP4g<}5e zGUG}0`C9m#8wI3x^ZYETxeLNcTh*Gq(7Ok`&JIv2F3+^!&xwu%`L;S$9y3W9wArvG zv0Pr)7xIKlU*#FMP#@5~0?SKoxk9FU*w}|Guy@0IdgDd3^|i|ID>yY`Ti{`N_$o0u zBHPy&mdOh(Q<~uE{+NUw^p&O^T7+p4JZj8ZmhKEu6K(GoO?6Y~bvrT;v0LyFOQ#gbMl1sYtJLTKwX#`?GPI{(niCc=0=R7S-VsY*i;2?rOFHRj!pVT4_vk-NT0d}R~}%Uoy( zn2?MVV5>qZuE4B`gu9>LT&i-Q9SJ!`pe?rTrb@(2R_S>(==G8t>fSEAmE7vF{`WFq zyT9BE?S=KST)J-ancY!)>6wT@5n(aOo>G?gr zTrg5yiY95tlJ8+{I9d3YxLX8etaQb$0J(%q@@+L-SpKQ__N51+GMM9C`tKU5PTS?Z zvh6z^wiAK#H{xXE(?|j2Xl~!^)-W%J&7rU0T!g4z0h1PiGeMf2-5rzgkJ~Giexr6V zgxf_o)$OH;G_6a8xkBqT^oLm-u49Qp%hjU81-(H!e;8E)bTrc3;1kNG1=h`6^l8-w z0wZN~Fn7{hwPn-cip$U|2CL!}t-SU+@B;evR)`LJ1Ydtv)u>FQ(%V}ZLC09S>hyjH zm!@gTfW>v~X$oF-c~I>6p%D=HaLBB&n!`Pj(zYk{y2}m@dbhb*6UpMx-c-*`N@t$N zu;I>)JNeyWY>36~{e)MCp>`09>uRVqbO{_5OuX-Hezb31_CBrdyL*VZ?~DiDo>cwR zLmrWdZsMf=(xP&b2nVF|Mj}FPSq)x`$jBH8k3Hiz_p4ddTD9fdS+uPA0TFK@mvv7~ z!&%C1jN2sda94+2VBPNRMZaQjfU(YH>?|6YB(hUbZ#tJnG(3>Y(WP;xgf~ z**h#KpmXZ^)*=(?Lm)f2BkKeV8`r(IlqLMkGw(}gIJdd>N$3Vd& zmateFm{Wfr>&(j?6<-WXb>m)JIQztTTlBTQw6csuvzH5xpGtc!k?)q{W%lJWBVGl0 z_x6bgVlcuUFUz(}wECuv;~3#bWD%D&3?;qY_k2$^8AVo7E#j@-X6S1Wusk}~6p=|Z zxeMe!<>4lUldpMQmb~gGUa)0cLg1Hh%c*BnEToeS+!<>@_g3QCXKMJ}ntTkuzf-|k z@PW1QgmRy9ejj5@JH+NVIZV+9&7QHx_OxE|sm|ibH38HyaQiEP1$vJW(+vF$z_e7M zTL_v{#;Dq6C^IqL3K=5a=0X-dultj6pplijOMjwc5R`sE{7<_NIe5$`?IpheyEsIY z$@b+Xfxc8}kN=$Z_(1w$)7O=Vy){(Re*;+*AzFj|@@ao)Ga#KnKBRzgXfBr`Ao}R> zfQKi%pP0;SR9V+W2j3yP1V2t2XMf=Z&N}n$=-F@2g{|9CUJz99OXa z{f{NZq)jy`-Y)Z|v{^R{nepZdfR^??DplsUxAyf`^$!cmgi|7dH>X~BaI6EHb7$O1 zcQ!-5>+!Ez-5z5WbxgJCiVj>Wi20)U7CJ%f&jXAuxf`QWF2z9K4vSCWe}wOktJ`~P zr+59OhiCmC8}sRoB|{6Tyl8~W|5n^$HAWew8@EUgY|dImXsQ5p-@LlLVB%XQM&b6_ z7WWT>E}7rdp8Xi?hbp{yHM4ALHH22kPX2!B-twrq zXK3_MZ!K)i- zC|+_eyIrZZES3qkN%~T}tl?#I4W?8uCzSUVL;sP^DnK|$?tk(D>n9g?32u%rk(a-) zDe^t5by_`Ndygl{p`LRDt?}nxp>3<&M>Z-w(&L4MDAzdFXtp>!{e5i1yY8e0hB0ap z3eq~J-lF>wXBG+y>&f#@(XE6KJe`^IuC=BeS#tk~NT?~LbtpQEOfQR5!;Na!B2%lFR!Eoq0t^PB4JF1}~^t?RA>r*EKfZt9X>raR_z^ z0ZU&0tgtWj{!*WnL31ye=Z{8hXv<&n44-BUVWBmPeJ;QLQDF#7YX z>#yGjS>O84W>3=f;Myc!R%Oz+s&qcNvlw)p|2YpY`s}8bS|_~dI)b=b#<8`1RU%~V`3$GwS2JZ&ARf^bb_c3Ka<)evyiMdI%F{E}{cOlyy5nfAOpHTA z=L$ukMxFXRC1&Rjm38LphcJFzy#su`~FO&|pTB`oh>ym_*Y z`+LLUGJM4`vdDMVrEO=Z$o${k+c6+q_i{-Y%mBIwRYj@CORXh5v*yStQ*tLS}{L@cFhykv#)Bx1?#*j=^EO!BhC+GD) zjGcJn)m5H8dqeVB$AbZV>3*NHc^xtEx`99oA1(POdn3a_p+jivX7_)5p|Fy4mIiM5 zZgy|XN*kT50XFH5IYU9n69?f}G^sub>`>h7pJJeNhsXa719;t?K5vGov`N zUF~8H9M}CM-;&WNL)xlIi`iN{)VwH?p+%o|KP?%XNMh{Aj>+Zad(3!Pw(}X>W#FSU zT_GM$_97A94rs6CR^{%tqkVbUZ2HL#!7U&G<4#>2(p3<)#xjtw0^3-1D4g0=t4QRm_sUPYj0}DXr6~9{%iw4I#W~p|L+WLLlTM|YOQWegiij%u!r^TD2Ew-F zH0W3N&hua93yCtC2E+AYP8#$CuZ%GWsi+$=R<%S<_(b}wa23nm(l!UR{PUUF4lnT^ z)A3IC5~dnv)|{n1cStF+SZY^fl3x!_dyKDNV;AsO2!|&J@s)`UeD&i+mkyJ9?OyFW zhP7IEZ044*Y1h@TwDBre@1_cUCyWZ3+O(EHnRW5cLbnJrbZg1rqnft1-xa|Q^Gg}A z<-OUam7FwHf9j$W9KgmpR5}92HA*H}eaGY1*-Z0$p?_TEGT;qKJ9ZMWz#b=ilpNU? zyHdD?@^Iz6i<;KsheY!-2l=+{nnxT*JBf~elE|VKDeY+0(m&l~5wAhY1j9$F7R(80 zs#QbnivGO5Jnn_Fk9~62qsUIqtJF$IeIgmpHVFvxGEHcl79{7zlGDs|@D^Ig_yYs>|UMn$yvx&4i^ofp2`{k>T{!3%kLS7kN0&@qq~-5q zE46l$fY#hUrtfj-?-ejT`ivOlSFw3pPA`lJRi zN#vBBJdmb*Fg%CYwaK%a&v`+T%TL!0>9OW4*ZITS4N{@Hmi+Cj z86ZP3B;}gzCD7j0E~NVgArW_BumPsh_@XcNE}uf`e`-3c@V7 zo=*RmY3bYq_%J9xjQAiDLA)l8z?3W=d)NL(z-eHCjH>VLJs(F#Vz`r6+M_0YU0&YmZugDC?6S2dy2pEnxf2CZ@GrcI*R*%Q|4ur z!38O6OrpSsy~xVJIyffP6aN(R%3VOjeUq?<#1B5Rp@)1y7_dG)29sleXnW+elmdT9 zCwdXC2(H-c`bqv$q)S_JpE=n>%wG;?llBvodf>e5o+@x~*7gDEQ7^Oa6EsvmbI&rd zn8hG#;d3u13o7%&+TY()>j-5%$*Xh-iiG zdnh;&5DNDFMP-0=_4KCdyXVz@z0FL=*L^enq)_EHCsCy!K;vNt7y5h|dOh+8q|Mx4vzfm7eOVwU20kc&C~GhY*k zyGs^fP_(q?9V~b^{>>%5>{eH!va&zPS?b5CcW*t~Svm>{o&Fk%s~}5xrfqb^rCNC9 zYMscLB@6jOI{F9Vmc00VJAzkJ(Q7m#*`b^*^>3AM$%BTerYS-n1-#%@_(2^_mcO)Z z5+7pSbFxp^RHAwMJn>kaUXyh8N*Ve_4;JTTLtZ)J#uRUVlQ8SOR<}!zG<@hOE40t2ipOa;A9U zN2Q{SbcX0}F0vIf>6jXF3%W*RtzWiIVH*D3YV4L>uSoS#8_m32AEaKrJdD&zbABPR zp>$7p@jMG-4Ay;d3QGNb&DuUVGsw7kX0Yy@POwjHtl47xEj%YD&i>7V%udO3ALl&g z>$aWxSq#51&Sh9qT%guy*0A2;MzKdmVS3YCW;TcX8DtHdm(?n6FfqeDMg6<*`T9q2 z`iqh1puX;gkD+~HzeaR)ItxqDX=R=wZhV@e9EjpNE@)GuPVy;R##1InC3*Sr+B#Z= zxaHVCtkhQJ-$Su2qqkFw)Fh6zSviw9bCSNPX(VJ;kfuxPP6#Ur7i-?H?B&jcCpfY_ z2eOX_v)@`|F0T;Tbtojd7JH9fUb+}deJNw5Rs=7JTX7cp2Oo?-)zI2cAx!93x9S=G zB0T!a$*_qO&-Q)mV?0Ms>Eo_zxqWviuQCTg#~tsnt}m;8$M$e-1J z7oJ&;w_g7+LL~M>>5BI8h!uX`x$@%I=++P0E0&s+Et#Xn1+4P7TeV>1<*?{n=~v&W zxID)kSd8+LK51^A&xfM4_2N{oU&vq6wRGFK@!>{L7%nv!FqV zOEteAO8fC`P$TMfcpd8#%GB1^Wm?Zq!7cWI+|r*JvHtt7$y1(4$#xS}9o|jwYTzs< zy3sP;)h!6i+mG6vcJozWdjDm4tR6#ljo(8hqhOBZ)|C?p^Q}?N>glz;1PRgFUbko4 z9Q8GuMEe3s$JNLNrf|SyUTWBVeV69{1QP`8`||pt%X7g(NTeWC|Cm8)us?{gQ^fss zlEEtKb^3Kl?;>{fg?O)v`!o6VP1-Ck$cNtpWzT5Gz4n6XT zBK&m)20Vc`*kdNT1wA9BKY7~K_`Cju_ECt| zxeGo)ZFUF;X-XyWn(rrTt6Ziw->K1Mjm2vAN*>I)2&qC`r%&{w+{^u=qRZgfy214|*v!eM60+ z|Gy@R(1P_+SXP5_=atY6)Jt@q*b8CHpW|E1qX7$QZj2?S+dbr|;1jf_SC#0b2)B;c z?4`h!m+gfmN=NfXou-Db-Al|n!6H%sDG_Ysb1b_fhtXS#dS!ojjg1%@pLy>g{%29J zsBYr-*YV5Z;m`h_xQxIK{be@OPOyWHe~MI+d`CF`zvG|eb=Xiycq3AldP^VT22qRz z7Gdk&7AsFk#E#I5Erb3hPrTOlz9&B0My%sCa`5JK>E;S>Y{xgd0RL%mwU)u;p{7`g|uy#E#%kIK~xe zVOXF06tD>EM9l~nkVuRp0)uLw=3a96h*$|CNDW}q01KZ>)b#F+-k+S>xqBEEne3kJ z!Xf@=-rBbOxu+&Nc^A4#++T;S$ICt*)(kVSzu$eVM9P3>1JKL9h#frl=+G}iI#_rS z+_x6^=?20Zk+Q;D`Up3OVwelq3t?+l|CU2CArU*I5fRZF^1^j}?~}nItn+Ke6Heao zilh2u_>mkw;p81(L=9k*0INYu;=00000NkvXXu0mjf+1KD3 literal 0 HcmV?d00001 diff --git a/img/dev/en-p2ph-stack.svg b/img/dev/en-p2pkh-stack.svg similarity index 98% rename from img/dev/en-p2ph-stack.svg rename to img/dev/en-p2pkh-stack.svg index 7a790fee..871b8e83 100644 --- a/img/dev/en-p2ph-stack.svg +++ b/img/dev/en-p2pkh-stack.svg @@ -4,12 +4,12 @@ - - + + blockchain -Evaluation Stack Over Time During Succesful P2PH Script Validation +Evaluation Stack Over Time During Succesful P2PKH Script Validation cluster_alice Instructions And Data Provided By Alice In Transaction #1's Output Script diff --git a/img/dev/en-unlocking-p2ph-output.png b/img/dev/en-unlocking-p2ph-output.png deleted file mode 100644 index 74420f0287107376d4d124438327f373154936be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5531 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 UTdwOkwb}|8>YC}4opHSJ9}$)kR{#J2 diff --git a/img/dev/en-unlocking-p2ph-output.dot b/img/dev/en-unlocking-p2pkh-output.dot similarity index 83% rename from img/dev/en-unlocking-p2ph-output.dot rename to img/dev/en-unlocking-p2pkh-output.dot index 41e6f5dc..1d417a48 100644 --- a/img/dev/en-unlocking-p2ph-output.dot +++ b/img/dev/en-unlocking-p2pkh-output.dot @@ -9,8 +9,9 @@ rankdir=LR; overlap = false; nodesep = 0.1; -node [ shape = box, penwidth = 1.75 ]; -edge [ penwidth = 1.75, minlen = 2 ]; +node [ fontname="Sans", shape = box, penwidth = 1.75 ]; +edge [ fontname="Sans", penwidth = 1.75, minlen = 2 ]; +graph [ fontname="Sans" ]; penwidth = 1.75; subgraph cluster_tx2 { @@ -43,5 +44,5 @@ tx1_pubkey_hash -> tx2_pubkey_hash; tx2_signature -> private_key [ style = "dashed" ]; } -label = " \nSpending A P2PH Output" +label = " \nSpending A P2PKH Output" } diff --git a/img/dev/en-unlocking-p2pkh-output.png b/img/dev/en-unlocking-p2pkh-output.png new file mode 100644 index 0000000000000000000000000000000000000000..9f2b20a3c616cd47cd4a81da03e9ee940f66cf13 GIT binary patch literal 5586 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 O*2K`_*f3rvat literal 0 HcmV?d00001 diff --git a/img/dev/en-unlocking-p2ph-output.svg b/img/dev/en-unlocking-p2pkh-output.svg similarity index 99% rename from img/dev/en-unlocking-p2ph-output.svg rename to img/dev/en-unlocking-p2pkh-output.svg index 4581897d..4d70e373 100644 --- a/img/dev/en-unlocking-p2ph-output.svg +++ b/img/dev/en-unlocking-p2pkh-output.svg @@ -10,7 +10,7 @@ blockchain -Spending A P2PH Output +Spending A P2PKH Output cluster_tx2