Use Terms "Pubkey Script" And "Signature Script"

This modifies commits provided by @petertodd to use the terms "pubkey
script" and "signature script" instead of other terms.

* Rename "scriptPubKey" and "output script" to "pubkey script"
  (suggested by @luke-jr). We leave a token "scriptPubKey" at the point
  where we define pubkey script so that searchers can find it.

* Rename "scriptSig" to "signature script" (suggested by @luke-jr). We
  also leave a token "scriptSig" at this definition point.

* Rename "redeemScript" to "redeem script"

* Defined ECDSA on secp256k1 curve as the crypto used in the Transaction
  section and added references to secp256k1 private/public keys and
  signatures.

* Removed "The Parts Of A Transaction" illustration by commenting it out
  in the HTML. Shoehorning the pubkey/signature script terms into this
  image was becoming difficult, and I'm not very fond of that
  illustration anyway. I'll see if I can think of a nicer replacement
  illustration for some point in the future.

* Add a short paraphrased version @petertodd's description of scripts as
  generalized crypto.

* Updated all the illustrations which referred to either pubkey scripts
  or signature scripts to use these terms.
This commit is contained in:
David A. Harding 2014-09-20 15:07:42 -04:00
parent 89cb2fff08
commit 6afc6835bf
No known key found for this signature in database
GPG key ID: 4B29C30FF29EC4B7
29 changed files with 408 additions and 407 deletions

View file

@ -14,7 +14,7 @@ penwidth = 1.75;
subgraph cluster_bob {
private_key [ label = "Private\nKey" ];
full_public_key [ label = "Full\nPublic Key" ];
redeemScript [ label = "RedeemScript" ];
redeemScript [ label = "Redeem Script" ];
script_hash [ label = "Script\nHash" ];
label = "Bob's Computer"
@ -38,5 +38,5 @@ private_key -> full_public_key -> redeemScript -> script_hash -> spender_script_
label = "Creating A P2SH RedeemScript Hash To Receive Payment"
label = "Creating A P2SH Redeem Script Hash To Receive Payment"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Before After
Before After

View file

@ -4,35 +4,35 @@
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
-->
<!-- Title: blockchain Pages: 1 -->
<svg width="450pt" height="105pt"
viewBox="0.00 0.00 450.00 104.55" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.706436 0.706436) rotate(0) translate(4 144)">
<svg width="450pt" height="104pt"
viewBox="0.00 0.00 450.00 103.90" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.702028 0.702028) rotate(0) translate(4 144)">
<title>blockchain</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-144 634,-144 634,5 -4,5"/>
<text text-anchor="middle" x="314.5" y="-8.4" font-family="Sans" font-size="14.00">Creating A P2SH RedeemScript Hash To Receive Payment</text>
<polygon fill="white" stroke="white" points="-4,5 -4,-144 638,-144 638,5 -4,5"/>
<text text-anchor="middle" x="316.5" y="-8.4" font-family="Times Roman,serif" font-size="14.00">Creating A P2SH Redeem Script Hash To Receive Payment</text>
<g id="graph2" class="cluster"><title>cluster_bob</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="8,-41 8,-124 386,-124 386,-41 8,-41"/>
<text text-anchor="middle" x="197" y="-107.4" font-family="Sans" font-size="14.00">Bob&#39;s Computer</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="8,-41 8,-124 390,-124 390,-41 8,-41"/>
<text text-anchor="middle" x="199" y="-107.4" font-family="Times Roman,serif" font-size="14.00">Bob&#39;s Computer</text>
</g>
<g id="graph3" class="cluster"><title>cluster_alice</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="394,-33 394,-132 525,-132 525,-33 394,-33"/>
<text text-anchor="middle" x="459.5" y="-115.4" font-family="Sans" font-size="14.00">Alice&#39;s Computer</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="398,-33 398,-132 529,-132 529,-33 398,-33"/>
<text text-anchor="middle" x="463.5" y="-115.4" font-family="Times Roman,serif" font-size="14.00">Alice&#39;s Computer</text>
</g>
<g id="graph4" class="cluster"><title>cluster_tx1</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="533,-33 533,-132 621,-132 621,-33 533,-33"/>
<text text-anchor="middle" x="577" y="-115.4" font-family="Sans" font-size="14.00">TX 1</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="537,-33 537,-132 625,-132 625,-33 537,-33"/>
<text text-anchor="middle" x="581" y="-115.4" font-family="Times Roman,serif" font-size="14.00">TX 1</text>
</g>
<!-- private_key -->
<g id="node2" class="node"><title>private_key</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="82,-91 16,-91 16,-49 82,-49 82,-91"/>
<text text-anchor="middle" x="49" y="-74.4" font-family="Sans" font-size="14.00">Private</text>
<text text-anchor="middle" x="49" y="-57.4" font-family="Sans" font-size="14.00">Key</text>
<text text-anchor="middle" x="49" y="-74.4" font-family="Times Roman,serif" font-size="14.00">Private</text>
<text text-anchor="middle" x="49" y="-57.4" font-family="Times Roman,serif" font-size="14.00">Key</text>
</g>
<!-- full_public_key -->
<g id="node3" class="node"><title>full_public_key</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="182,-91 96,-91 96,-49 182,-49 182,-91"/>
<text text-anchor="middle" x="139" y="-74.4" font-family="Sans" font-size="14.00">Full</text>
<text text-anchor="middle" x="139" y="-57.4" font-family="Sans" font-size="14.00">Public Key</text>
<text text-anchor="middle" x="139" y="-74.4" font-family="Times Roman,serif" font-size="14.00">Full</text>
<text text-anchor="middle" x="139" y="-57.4" font-family="Times Roman,serif" font-size="14.00">Public Key</text>
</g>
<!-- private_key&#45;&gt;full_public_key -->
<g id="edge5" class="edge"><title>private_key&#45;&gt;full_public_key</title>
@ -41,48 +41,48 @@
</g>
<!-- redeemScript -->
<g id="node4" class="node"><title>redeemScript</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="307,-88 197,-88 197,-52 307,-52 307,-88"/>
<text text-anchor="middle" x="252" y="-65.9" font-family="Sans" font-size="14.00">RedeemScript</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="312,-88 196,-88 196,-52 312,-52 312,-88"/>
<text text-anchor="middle" x="254" y="-65.9" font-family="Times Roman,serif" font-size="14.00">Redeem Script</text>
</g>
<!-- full_public_key&#45;&gt;redeemScript -->
<g id="edge6" class="edge"><title>full_public_key&#45;&gt;redeemScript</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M182.043,-70C183.341,-70 184.649,-70 185.964,-70"/>
<polygon fill="black" stroke="black" points="186.138,-73.5001 196.138,-70 186.137,-66.5001 186.138,-73.5001"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M182.149,-70C183.264,-70 184.387,-70 185.516,-70"/>
<polygon fill="black" stroke="black" points="185.785,-73.5001 195.785,-70 185.785,-66.5001 185.785,-73.5001"/>
</g>
<!-- script_hash -->
<g id="node5" class="node"><title>script_hash</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="378,-91 322,-91 322,-49 378,-49 378,-91"/>
<text text-anchor="middle" x="350" y="-74.4" font-family="Sans" font-size="14.00">Script</text>
<text text-anchor="middle" x="350" y="-57.4" font-family="Sans" font-size="14.00">Hash</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="382,-91 326,-91 326,-49 382,-49 382,-91"/>
<text text-anchor="middle" x="354" y="-74.4" font-family="Times Roman,serif" font-size="14.00">Script</text>
<text text-anchor="middle" x="354" y="-57.4" font-family="Times Roman,serif" font-size="14.00">Hash</text>
</g>
<!-- redeemScript&#45;&gt;script_hash -->
<g id="edge7" class="edge"><title>redeemScript&#45;&gt;script_hash</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M307.586,-70C308.947,-70 310.3,-70 311.643,-70"/>
<polygon fill="black" stroke="black" points="311.646,-73.5001 321.646,-70 311.646,-66.5001 311.646,-73.5001"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M312.17,-70C313.331,-70 314.485,-70 315.63,-70"/>
<polygon fill="black" stroke="black" points="315.637,-73.5001 325.637,-70 315.637,-66.5001 315.637,-73.5001"/>
</g>
<!-- spender_script_hash -->
<g id="node7" class="node"><title>spender_script_hash</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="494,-99.5 424,-99.5 424,-40.5 494,-40.5 494,-99.5"/>
<text text-anchor="middle" x="459" y="-82.9" font-family="Sans" font-size="14.00">Copy Of</text>
<text text-anchor="middle" x="459" y="-65.9" font-family="Sans" font-size="14.00">Script</text>
<text text-anchor="middle" x="459" y="-48.9" font-family="Sans" font-size="14.00">Hash</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="498,-99.5 428,-99.5 428,-40.5 498,-40.5 498,-99.5"/>
<text text-anchor="middle" x="463" y="-82.9" font-family="Times Roman,serif" font-size="14.00">Copy Of</text>
<text text-anchor="middle" x="463" y="-65.9" font-family="Times Roman,serif" font-size="14.00">Script</text>
<text text-anchor="middle" x="463" y="-48.9" font-family="Times Roman,serif" font-size="14.00">Hash</text>
</g>
<!-- script_hash&#45;&gt;spender_script_hash -->
<g id="edge8" class="edge"><title>script_hash&#45;&gt;spender_script_hash</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M378.07,-70C388.706,-70 401.113,-70 412.972,-70"/>
<polygon fill="black" stroke="black" points="413.194,-73.5001 423.194,-70 413.194,-66.5001 413.194,-73.5001"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M382.07,-70C392.706,-70 405.113,-70 416.972,-70"/>
<polygon fill="black" stroke="black" points="417.194,-73.5001 427.194,-70 417.194,-66.5001 417.194,-73.5001"/>
</g>
<!-- tx1_script_hash -->
<g id="node9" class="node"><title>tx1_script_hash</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="612,-99.5 542,-99.5 542,-40.5 612,-40.5 612,-99.5"/>
<text text-anchor="middle" x="577" y="-82.9" font-family="Sans" font-size="14.00">Copy Of</text>
<text text-anchor="middle" x="577" y="-65.9" font-family="Sans" font-size="14.00">Script</text>
<text text-anchor="middle" x="577" y="-48.9" font-family="Sans" font-size="14.00">Hash</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="616,-99.5 546,-99.5 546,-40.5 616,-40.5 616,-99.5"/>
<text text-anchor="middle" x="581" y="-82.9" font-family="Times Roman,serif" font-size="14.00">Copy Of</text>
<text text-anchor="middle" x="581" y="-65.9" font-family="Times Roman,serif" font-size="14.00">Script</text>
<text text-anchor="middle" x="581" y="-48.9" font-family="Times Roman,serif" font-size="14.00">Hash</text>
</g>
<!-- spender_script_hash&#45;&gt;tx1_script_hash -->
<g id="edge9" class="edge"><title>spender_script_hash&#45;&gt;tx1_script_hash</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M494.724,-70C506.161,-70 518.988,-70 531.05,-70"/>
<polygon fill="black" stroke="black" points="531.397,-73.5001 541.397,-70 531.397,-66.5001 531.397,-73.5001"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M498.724,-70C510.161,-70 522.988,-70 535.05,-70"/>
<polygon fill="black" stroke="black" points="535.397,-73.5001 545.397,-70 535.397,-66.5001 535.397,-73.5001"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Before After
Before After

View file

@ -23,7 +23,7 @@ subgraph cluster_alice {
alice_pubkey [style = invis, label="PubKey", shape = "" ];
alice_sig [style = invis, label="Sig", shape = "" ];
label = "Instructions And Data Provided By Alice In Transaction #1's Output Script"
label = "Instructions And Data Provided By Alice In Transaction #1's Pubkey Script"
/* label = "Data Provided By Spender 1 To Spend Output" */
}
@ -37,7 +37,7 @@ subgraph cluster_bob {
bob_pubkey [style = unfilled, label="PubKey", shape = "" ];
bob_sig [style = unfilled, label="Sig", shape = "" ];
label = "Data Provided By Bob In Transaction #2's Input ScriptSig"
label = "Data Provided By Bob In Transaction #2's Input Signature Script"
}
alice_sig -> bob_sig;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before After
Before After

View file

@ -12,11 +12,11 @@
<text text-anchor="middle" x="376" y="-8.4" font-family="Sans" font-size="14.00">Evaluation Stack Over Time During Succesful P2PKH Script Validation</text>
<g id="graph2" class="cluster"><title>cluster_alice</title>
<polygon fill="grey" stroke="black" points="8,-462 8,-539 710,-539 710,-462 8,-462"/>
<text text-anchor="middle" x="359" y="-522.4" font-family="Sans" font-size="14.00">Instructions And Data Provided By Alice In Transaction #1&#39;s Output Script</text>
<text text-anchor="middle" x="359" y="-522.4" font-family="Sans" font-size="14.00">Instructions And Data Provided By Alice In Transaction #1&#39;s Pubkey Script</text>
</g>
<g id="graph3" class="cluster"><title>cluster_bob</title>
<polygon fill="grey" stroke="black" points="8,-377 8,-454 710,-454 710,-377 8,-377"/>
<text text-anchor="middle" x="359" y="-437.4" font-family="Sans" font-size="14.00">Data Provided By Bob In Transaction #2&#39;s Input ScriptSig</text>
<text text-anchor="middle" x="359" y="-437.4" font-family="Sans" font-size="14.00">Data Provided By Bob In Transaction #2&#39;s Input Signature Script</text>
</g>
<!-- alice_opchecksig -->
<g id="node2" class="node"><title>alice_opchecksig</title>

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before After
Before After

View file

@ -2,7 +2,7 @@ digraph blockchain {
size="6.25";
//splines = "false";
splines = "false";
rankdir=TB;
ranksep=-0.1;
//splines=ortho;
@ -16,7 +16,7 @@ penwidth = 1.75;
subgraph cluster_tx1 {
tx1_txid [ label = "TXID" ];
tx1_vout [ label = "Output Index Number" ];
tx1_script [ label = "Script" ];
tx1_script [ label = "Pubkey Script" ];
label = "Transaction 1 (TX 1)"
}
@ -30,18 +30,18 @@ subgraph cluster_sig {
sig_tx1_vout [ width = 2.3 ];
sig_tx1_script [ width = 1.6 ];
//nil_pubkey [ width = 1.3 ];
sig_tx2t_script [ width = 0.75 ];
sig_tx2t_script [ width = 1.65 ];
sig_tx2t_amount [ width = 0.95 ];
signature [ width = 1.25 ];
label = "Signed Data"
label = " Signed Data"
}
subgraph cluster_tx2 {
tx2_tx1_txid [ label = "TXID" ];
tx2_tx1_vout [ label = "Output Index Number" ];
tx2_script [ label = "Script" ];
tx2_script [ label = "Pubkey Script" ];
public_key [ label = "Full Public Key" ];
tx2_amount [ label = "Amount" ];
tx2_signature [ label = "Signature" ];
@ -54,7 +54,7 @@ subgraph cluster_bob {
label = "Bob's Computer"
subgraph cluster_tx2t {
tx2t_script [ label = "Script" ];
tx2t_script [ label = "Pubkey Script" ];
tx2t_amount [ label = "Amount" ];
label = "TX2 Template"
@ -65,22 +65,25 @@ subgraph cluster_tx2t {
{
edge [ arrowhead = "dot" ];
tx1_script -> sig_tx1_script;
tx1_txid -> sig_tx1_txid;
tx1_vout -> sig_tx1_vout;
tx2t_script -> sig_tx2t_script;
tx2t_amount -> sig_tx2t_amount;
tx1_txid -> sig_tx1_txid [ style = "invis" ];
tx1_vout -> sig_tx1_vout [ style = "invis" ];
tx2t_script -> sig_tx2t_script [ style = "invis" ];
tx2t_amount -> sig_tx2t_amount [ style = "invis" ];
private_key -> signature [ style = "dotted" ];
}
sig_tx1_txid -> tx2_tx1_txid;
sig_tx1_vout -> tx2_tx1_vout;
sig_tx2t_script -> tx2_script;
sig_tx2t_amount -> tx2_amount;
sig_tx1_txid -> tx2_tx1_txid [ style = "invis" ];
sig_tx1_vout -> tx2_tx1_vout [ style = "invis" ];
sig_tx2t_script -> tx2_script [ style = "invis" ];
sig_tx2t_amount -> tx2_amount [ style = "invis" ];
signature -> tx2_signature;
tx1_txid -> tx2_tx1_txid [ constraint = false ];
tx1_vout -> tx2_tx1_vout [ constraint = false ];
tx2t_script -> tx2_script [ constraint = false ];
tx2t_amount -> tx2_amount [ constraint = false ];
label = "Some Of The Data Signed By Default"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Before After
Before After

View file

@ -4,152 +4,140 @@
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
-->
<!-- Title: blockchain Pages: 1 -->
<svg width="450pt" height="230pt"
viewBox="0.00 0.00 450.00 230.35" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.713154 0.713154) rotate(0) translate(4 319)">
<svg width="450pt" height="203pt"
viewBox="0.00 0.00 450.00 203.29" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.629371 0.629371) rotate(0) translate(4 319)">
<title>blockchain</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-319 628,-319 628,5 -4,5"/>
<text text-anchor="middle" x="311.5" y="-8.4" font-family="Sans" font-size="14.00">Some Of The Data Signed By Default</text>
<polygon fill="white" stroke="white" points="-4,5 -4,-319 712,-319 712,5 -4,5"/>
<text text-anchor="middle" x="353.5" y="-8.4" font-family="Times Roman,serif" font-size="14.00">Some Of The Data Signed By Default</text>
<g id="graph2" class="cluster"><title>cluster_tx1</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="9,-197 9,-274 317,-274 317,-197 9,-197"/>
<text text-anchor="middle" x="163" y="-257.4" font-family="Sans" font-size="14.00">Transaction 1 (TX 1)</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="8,-197 8,-274 370,-274 370,-197 8,-197"/>
<text text-anchor="middle" x="189" y="-257.4" font-family="Times Roman,serif" font-size="14.00">Transaction 1 (TX 1)</text>
</g>
<g id="graph3" class="cluster"><title>cluster_sig</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="11,-128 11,-171 604,-171 604,-128 11,-128"/>
<text text-anchor="middle" x="307.5" y="-154.4" font-family="Sans" font-size="14.00">Signed Data</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="14,-128 14,-171 671,-171 671,-128 14,-128"/>
<text text-anchor="middle" x="342.5" y="-154.4" font-family="Times Roman,serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Signed Data</text>
</g>
<g id="graph4" class="cluster"><title>cluster_tx2</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="8,-33 8,-110 605,-110 605,-33 8,-33"/>
<text text-anchor="middle" x="306.5" y="-93.4" font-family="Sans" font-size="14.00">Transaction 2</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="12,-33 12,-110 663,-110 663,-33 12,-33"/>
<text text-anchor="middle" x="337.5" y="-93.4" font-family="Times Roman,serif" font-size="14.00">Transaction 2</text>
</g>
<g id="graph5" class="cluster"><title>cluster_bob</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="348,-189 348,-307 615,-307 615,-189 348,-189"/>
<text text-anchor="middle" x="481.5" y="-290.4" font-family="Sans" font-size="14.00">Bob&#39;s Computer</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="378,-189 378,-307 699,-307 699,-189 378,-189"/>
<text text-anchor="middle" x="538.5" y="-290.4" font-family="Times Roman,serif" font-size="14.00">Bob&#39;s Computer</text>
</g>
<g id="graph6" class="cluster"><title>cluster_tx2t</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="458,-197 458,-274 607,-274 607,-197 458,-197"/>
<text text-anchor="middle" x="532.5" y="-257.4" font-family="Sans" font-size="14.00">TX2 Template</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="488,-197 488,-274 691,-274 691,-197 488,-197"/>
<text text-anchor="middle" x="589.5" y="-257.4" font-family="Times Roman,serif" font-size="14.00">TX2 Template</text>
</g>
<!-- tx1_txid -->
<g id="node2" class="node"><title>tx1_txid</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="71,-241 17,-241 17,-205 71,-205 71,-241"/>
<text text-anchor="middle" x="44" y="-218.9" font-family="Sans" font-size="14.00">TXID</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="70,-241 16,-241 16,-205 70,-205 70,-241"/>
<text text-anchor="middle" x="43" y="-218.9" font-family="Times Roman,serif" font-size="14.00">TXID</text>
</g>
<!-- sig_tx1_txid -->
<!-- tx1_txid&#45;&gt;sig_tx1_txid -->
<g id="edge10" class="edge"><title>tx1_txid&#45;&gt;sig_tx1_txid</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M44,-204.762C44,-186.762 44,-159.981 44,-146.092"/>
<ellipse fill="black" stroke="black" cx="44" cy="-141.75" rx="4" ry="4"/>
<!-- tx2_tx1_txid -->
<g id="node13" class="node"><title>tx2_tx1_txid</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="74,-77 20,-77 20,-41 74,-41 74,-77"/>
<text text-anchor="middle" x="47" y="-54.9" font-family="Times Roman,serif" font-size="14.00">TXID</text>
</g>
<!-- tx1_txid&#45;&gt;tx2_tx1_txid -->
<g id="edge30" class="edge"><title>tx1_txid&#45;&gt;tx2_tx1_txid</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M43.4434,-204.823C44.1371,-176.377 45.485,-121.115 46.3076,-87.3904"/>
<polygon fill="black" stroke="black" points="49.8097,-87.3413 46.5547,-77.2589 42.8118,-87.1705 49.8097,-87.3413"/>
</g>
<!-- tx1_vout -->
<g id="node3" class="node"><title>tx1_vout</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="246,-241 78,-241 78,-205 246,-205 246,-241"/>
<text text-anchor="middle" x="162" y="-218.9" font-family="Sans" font-size="14.00">Output Index Number</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="245,-241 77,-241 77,-205 245,-205 245,-241"/>
<text text-anchor="middle" x="161" y="-218.9" font-family="Times Roman,serif" font-size="14.00">Output Index Number</text>
</g>
<!-- sig_tx1_vout -->
<!-- tx1_vout&#45;&gt;sig_tx1_vout -->
<g id="edge12" class="edge"><title>tx1_vout&#45;&gt;sig_tx1_vout</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M161.364,-204.762C160.736,-186.762 159.802,-159.981 159.317,-146.092"/>
<ellipse fill="black" stroke="black" cx="159.166" cy="-141.748" rx="4" ry="4"/>
<!-- tx2_tx1_vout -->
<g id="node14" class="node"><title>tx2_tx1_vout</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="249,-77 81,-77 81,-41 249,-41 249,-77"/>
<text text-anchor="middle" x="165" y="-54.9" font-family="Times Roman,serif" font-size="14.00">Output Index Number</text>
</g>
<!-- tx1_vout&#45;&gt;tx2_tx1_vout -->
<g id="edge32" class="edge"><title>tx1_vout&#45;&gt;tx2_tx1_vout</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M161.443,-204.823C162.137,-176.377 163.485,-121.115 164.308,-87.3904"/>
<polygon fill="black" stroke="black" points="167.81,-87.3413 164.555,-77.2589 160.812,-87.1705 167.81,-87.3413"/>
</g>
<!-- tx1_script -->
<g id="node4" class="node"><title>tx1_script</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="309,-241 253,-241 253,-205 309,-205 309,-241"/>
<text text-anchor="middle" x="281" y="-218.9" font-family="Sans" font-size="14.00">Script</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="362,-241 252,-241 252,-205 362,-205 362,-241"/>
<text text-anchor="middle" x="307" y="-218.9" font-family="Times Roman,serif" font-size="14.00">Pubkey Script</text>
</g>
<!-- sig_tx1_script -->
<!-- tx1_script&#45;&gt;sig_tx1_script -->
<g id="edge8" class="edge"><title>tx1_script&#45;&gt;sig_tx1_script</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M286.302,-204.762C291.587,-186.58 299.477,-159.439 303.478,-145.675"/>
<ellipse fill="black" stroke="black" cx="304.665" cy="-141.591" rx="4.00001" ry="4.00001"/>
</g>
<!-- tx2_tx1_txid -->
<g id="node13" class="node"><title>tx2_tx1_txid</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="70,-77 16,-77 16,-41 70,-41 70,-77"/>
<text text-anchor="middle" x="43" y="-54.9" font-family="Sans" font-size="14.00">TXID</text>
<path fill="none" stroke="black" stroke-width="1.75" d="M307.424,-204.762C307.843,-186.762 308.466,-159.981 308.789,-146.092"/>
<ellipse fill="black" stroke="black" cx="308.89" cy="-141.749" rx="4" ry="4"/>
</g>
<!-- sig_tx1_txid&#45;&gt;tx2_tx1_txid -->
<g id="edge20" class="edge"><title>sig_tx1_txid&#45;&gt;tx2_tx1_txid</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M43.9888,-136.124C43.9269,-131.3 43.6214,-107.47 43.3661,-87.5593"/>
<polygon fill="black" stroke="black" points="46.8631,-87.2911 43.2351,-77.3368 39.8637,-87.3809 46.8631,-87.2911"/>
</g>
<!-- tx2_tx1_vout -->
<g id="node14" class="node"><title>tx2_tx1_vout</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="245,-77 77,-77 77,-41 245,-41 245,-77"/>
<text text-anchor="middle" x="161" y="-54.9" font-family="Sans" font-size="14.00">Output Index Number</text>
</g>
<!-- sig_tx1_vout&#45;&gt;tx2_tx1_vout -->
<g id="edge22" class="edge"><title>sig_tx1_vout&#45;&gt;tx2_tx1_vout</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M159.022,-136.124C159.146,-131.3 159.757,-107.47 160.268,-87.5593"/>
<polygon fill="black" stroke="black" points="163.772,-87.4233 160.53,-77.3368 156.775,-87.2438 163.772,-87.4233"/>
</g>
<!-- sig_tx2t_script -->
<!-- tx2_script -->
<g id="node15" class="node"><title>tx2_script</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="520,-77 464,-77 464,-41 520,-41 520,-77"/>
<text text-anchor="middle" x="492" y="-54.9" font-family="Sans" font-size="14.00">Script</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="578,-77 468,-77 468,-41 578,-41 578,-77"/>
<text text-anchor="middle" x="523" y="-54.9" font-family="Times Roman,serif" font-size="14.00">Pubkey Script</text>
</g>
<!-- sig_tx2t_script&#45;&gt;tx2_script -->
<g id="edge24" class="edge"><title>sig_tx2t_script&#45;&gt;tx2_script</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M493.978,-136.124C493.854,-131.3 493.243,-107.47 492.732,-87.5593"/>
<polygon fill="black" stroke="black" points="496.225,-87.2438 492.47,-77.3368 489.228,-87.4233 496.225,-87.2438"/>
</g>
<!-- sig_tx2t_amount -->
<!-- tx2_amount -->
<g id="node17" class="node"><title>tx2_amount</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="597,-77 527,-77 527,-41 597,-41 597,-77"/>
<text text-anchor="middle" x="562" y="-54.9" font-family="Sans" font-size="14.00">Amount</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="655,-77 585,-77 585,-41 655,-41 655,-77"/>
<text text-anchor="middle" x="620" y="-54.9" font-family="Times Roman,serif" font-size="14.00">Amount</text>
</g>
<!-- sig_tx2t_amount&#45;&gt;tx2_amount -->
<g id="edge26" class="edge"><title>sig_tx2t_amount&#45;&gt;tx2_amount</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M562,-136.124C562,-131.3 562,-107.47 562,-87.5593"/>
<polygon fill="black" stroke="black" points="565.5,-87.3368 562,-77.3368 558.5,-87.3369 565.5,-87.3368"/>
</g>
<!-- signature -->
<!-- tx2_signature -->
<g id="node18" class="node"><title>tx2_signature</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="457,-77 373,-77 373,-41 457,-41 457,-77"/>
<text text-anchor="middle" x="415" y="-54.9" font-family="Sans" font-size="14.00">Signature</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="461,-77 377,-77 377,-41 461,-41 461,-77"/>
<text text-anchor="middle" x="419" y="-54.9" font-family="Times Roman,serif" font-size="14.00">Signature</text>
</g>
<!-- signature&#45;&gt;tx2_signature -->
<g id="edge28" class="edge"><title>signature&#45;&gt;tx2_signature</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M415,-136.124C415,-131.3 415,-107.47 415,-87.5593"/>
<polygon fill="black" stroke="black" points="418.5,-87.3368 415,-77.3368 411.5,-87.3369 418.5,-87.3368"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M418.011,-136.124C418.073,-131.3 418.379,-107.47 418.634,-87.5593"/>
<polygon fill="black" stroke="black" points="422.136,-87.3809 418.765,-77.3368 415.137,-87.2911 422.136,-87.3809"/>
</g>
<!-- public_key -->
<g id="node16" class="node"><title>public_key</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="366,-77 252,-77 252,-41 366,-41 366,-77"/>
<text text-anchor="middle" x="309" y="-54.9" font-family="Sans" font-size="14.00">Full Public Key</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="370,-77 256,-77 256,-41 370,-41 370,-77"/>
<text text-anchor="middle" x="313" y="-54.9" font-family="Times Roman,serif" font-size="14.00">Full Public Key</text>
</g>
<!-- private_key -->
<g id="node20" class="node"><title>private_key</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="450,-241 356,-241 356,-205 450,-205 450,-241"/>
<text text-anchor="middle" x="403" y="-218.9" font-family="Sans" font-size="14.00">Private Key</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="480,-241 386,-241 386,-205 480,-205 480,-241"/>
<text text-anchor="middle" x="433" y="-218.9" font-family="Times Roman,serif" font-size="14.00">Private Key</text>
</g>
<!-- private_key&#45;&gt;signature -->
<g id="edge18" class="edge"><title>private_key&#45;&gt;signature</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="1,5" d="M405.545,-204.762C408.082,-186.58 411.869,-159.439 413.79,-145.675"/>
<ellipse fill="black" stroke="black" cx="414.343" cy="-141.712" rx="4.00001" ry="4.00001"/>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="1,5" d="M429.819,-204.762C426.648,-186.58 421.914,-159.439 419.513,-145.675"/>
<ellipse fill="black" stroke="black" cx="418.818" cy="-141.691" rx="4.00001" ry="4.00001"/>
</g>
<!-- tx2t_script -->
<g id="node22" class="node"><title>tx2t_script</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="522,-241 466,-241 466,-205 522,-205 522,-241"/>
<text text-anchor="middle" x="494" y="-218.9" font-family="Sans" font-size="14.00">Script</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="606,-241 496,-241 496,-205 606,-205 606,-241"/>
<text text-anchor="middle" x="551" y="-218.9" font-family="Times Roman,serif" font-size="14.00">Pubkey Script</text>
</g>
<!-- tx2t_script&#45;&gt;sig_tx2t_script -->
<g id="edge14" class="edge"><title>tx2t_script&#45;&gt;sig_tx2t_script</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M494,-204.762C494,-186.762 494,-159.981 494,-146.092"/>
<ellipse fill="black" stroke="black" cx="494" cy="-141.75" rx="4" ry="4"/>
<!-- tx2t_script&#45;&gt;tx2_script -->
<g id="edge34" class="edge"><title>tx2t_script&#45;&gt;tx2_script</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M547.897,-204.823C543.04,-176.377 533.605,-121.115 527.847,-87.3904"/>
<polygon fill="black" stroke="black" points="531.25,-86.5272 526.117,-77.2589 524.35,-87.7053 531.25,-86.5272"/>
</g>
<!-- tx2t_amount -->
<g id="node23" class="node"><title>tx2t_amount</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="599,-241 529,-241 529,-205 599,-205 599,-241"/>
<text text-anchor="middle" x="564" y="-218.9" font-family="Sans" font-size="14.00">Amount</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="683,-241 613,-241 613,-205 683,-205 683,-241"/>
<text text-anchor="middle" x="648" y="-218.9" font-family="Times Roman,serif" font-size="14.00">Amount</text>
</g>
<!-- tx2t_amount&#45;&gt;sig_tx2t_amount -->
<g id="edge16" class="edge"><title>tx2t_amount&#45;&gt;sig_tx2t_amount</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M563.576,-204.762C563.157,-186.762 562.534,-159.981 562.211,-146.092"/>
<ellipse fill="black" stroke="black" cx="562.11" cy="-141.749" rx="4" ry="4"/>
<!-- tx2t_amount&#45;&gt;tx2_amount -->
<g id="edge36" class="edge"><title>tx2t_amount&#45;&gt;tx2_amount</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M644.897,-204.823C640.04,-176.377 630.605,-121.115 624.847,-87.3904"/>
<polygon fill="black" stroke="black" points="628.25,-86.5272 623.117,-77.2589 621.35,-87.7053 628.25,-86.5272"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Before After
Before After

View file

@ -15,10 +15,10 @@ graph [ fontname="Sans" ];
penwidth = 1.75;
subgraph cluster_tx2 {
scriptSig [ label = "ScriptSig", shape = "none" ];
scriptSig [ label = "Signature Script", shape = "none" ];
tx2_signature [ label = "Signature" ];
tx2_full_public_key [ label = "Full Public Key" ];
script [ label = " \nScript", shape = "none" ];
script [ label = " \nPubkey Script", shape = "none" ];
tx2_pubkey_hash [ label = "Public Key Hash" ];
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Before After
Before After

View file

@ -4,67 +4,67 @@
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
-->
<!-- Title: blockchain Pages: 1 -->
<svg width="450pt" height="240pt"
viewBox="0.00 0.00 450.00 239.57" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.809353 0.809353) rotate(0) translate(4 292)">
<svg width="450pt" height="239pt"
viewBox="0.00 0.00 450.00 238.71" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.806452 0.806452) rotate(0) translate(4 292)">
<title>blockchain</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-292 553,-292 553,5 -4,5"/>
<text text-anchor="middle" x="274" y="-25.4" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="274" y="-8.4" font-family="Sans" font-size="14.00">Spending A P2PKH Output</text>
<polygon fill="white" stroke="white" points="-4,5 -4,-292 555,-292 555,5 -4,5"/>
<text text-anchor="middle" x="275" y="-25.4" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="275" y="-8.4" font-family="Sans" font-size="14.00">Spending A P2PKH Output</text>
<g id="graph2" class="cluster"><title>cluster_tx2</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="208,-50 208,-280 350,-280 350,-50 208,-50"/>
<polygon fill="none" stroke="black" stroke-width="1.75" points="208,-50 208,-280 352,-280 352,-50 208,-50"/>
</g>
<g id="graph3" class="cluster"><title>cluster_tx1</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="8,-50 8,-127 150,-127 150,-50 8,-50"/>
<text text-anchor="middle" x="79" y="-110.4" font-family="Sans" font-size="14.00">TX 1 Output</text>
</g>
<g id="graph4" class="cluster"><title>cluster_bob</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="408,-142 408,-262 540,-262 540,-142 408,-142"/>
<text text-anchor="middle" x="474" y="-245.4" font-family="Sans" font-size="14.00">Bob&#39;s Computer</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="410,-142 410,-262 542,-262 542,-142 410,-142"/>
<text text-anchor="middle" x="476" y="-245.4" font-family="Sans" font-size="14.00">Bob&#39;s Computer</text>
</g>
<!-- scriptSig -->
<g id="node2" class="node"><title>scriptSig</title>
<text text-anchor="middle" x="279" y="-249.9" font-family="Sans" font-size="14.00">ScriptSig</text>
<text text-anchor="middle" x="280" y="-249.9" font-family="Sans" font-size="14.00">Signature Script</text>
</g>
<!-- tx2_signature -->
<g id="node3" class="node"><title>tx2_signature</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="321,-229 237,-229 237,-193 321,-193 321,-229"/>
<text text-anchor="middle" x="279" y="-206.9" font-family="Sans" font-size="14.00">Signature</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="322,-229 238,-229 238,-193 322,-193 322,-229"/>
<text text-anchor="middle" x="280" y="-206.9" font-family="Sans" font-size="14.00">Signature</text>
</g>
<!-- private_key -->
<g id="node10" class="node"><title>private_key</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="521,-229 427,-229 427,-193 521,-193 521,-229"/>
<text text-anchor="middle" x="474" y="-206.9" font-family="Sans" font-size="14.00">Private Key</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="523,-229 429,-229 429,-193 523,-193 523,-229"/>
<text text-anchor="middle" x="476" y="-206.9" font-family="Sans" font-size="14.00">Private Key</text>
</g>
<!-- tx2_signature&#45;&gt;private_key -->
<g id="edge10" class="edge"><title>tx2_signature&#45;&gt;private_key</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M331.438,-211C360.968,-211 397.568,-211 426.29,-211"/>
<polygon fill="black" stroke="black" points="331.312,-207.5 321.312,-211 331.312,-214.5 331.312,-207.5"/>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M332.259,-211C362.059,-211 399.134,-211 428.166,-211"/>
<polygon fill="black" stroke="black" points="332.047,-207.5 322.047,-211 332.047,-214.5 332.047,-207.5"/>
</g>
<!-- tx2_full_public_key -->
<g id="node4" class="node"><title>tx2_full_public_key</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="336,-186 222,-186 222,-150 336,-150 336,-186"/>
<text text-anchor="middle" x="279" y="-163.9" font-family="Sans" font-size="14.00">Full Public Key</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="337,-186 223,-186 223,-150 337,-150 337,-186"/>
<text text-anchor="middle" x="280" y="-163.9" font-family="Sans" font-size="14.00">Full Public Key</text>
</g>
<!-- full_public_key -->
<g id="node11" class="node"><title>full_public_key</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="531,-186 417,-186 417,-150 531,-150 531,-186"/>
<text text-anchor="middle" x="474" y="-163.9" font-family="Sans" font-size="14.00">Full Public Key</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="533,-186 419,-186 419,-150 533,-150 533,-186"/>
<text text-anchor="middle" x="476" y="-163.9" font-family="Sans" font-size="14.00">Full Public Key</text>
</g>
<!-- tx2_full_public_key&#45;&gt;full_public_key -->
<g id="edge8" class="edge"><title>tx2_full_public_key&#45;&gt;full_public_key</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M346.944,-168C369.611,-168 394.632,-168 416.433,-168"/>
<polygon fill="black" stroke="black" points="346.715,-164.5 336.715,-168 346.715,-171.5 346.715,-164.5"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M347.771,-168C370.757,-168 396.203,-168 418.328,-168"/>
<polygon fill="black" stroke="black" points="347.746,-164.5 337.746,-168 347.746,-171.5 347.746,-164.5"/>
</g>
<!-- script -->
<g id="node5" class="node"><title>script</title>
<text text-anchor="middle" x="279" y="-126.4" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="279" y="-109.4" font-family="Sans" font-size="14.00">Script</text>
<text text-anchor="middle" x="280" y="-126.4" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="280" y="-109.4" font-family="Sans" font-size="14.00">Pubkey Script</text>
</g>
<!-- tx2_pubkey_hash -->
<g id="node6" class="node"><title>tx2_pubkey_hash</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="341,-94 217,-94 217,-58 341,-58 341,-94"/>
<text text-anchor="middle" x="279" y="-71.9" font-family="Sans" font-size="14.00">Public Key Hash</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="342,-94 218,-94 218,-58 342,-58 342,-94"/>
<text text-anchor="middle" x="280" y="-71.9" font-family="Sans" font-size="14.00">Public Key Hash</text>
</g>
<!-- tx1_pubkey_hash -->
<g id="node8" class="node"><title>tx1_pubkey_hash</title>
@ -73,8 +73,8 @@
</g>
<!-- tx1_pubkey_hash&#45;&gt;tx2_pubkey_hash -->
<g id="edge5" class="edge"><title>tx1_pubkey_hash&#45;&gt;tx2_pubkey_hash</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M141.733,-76C162.21,-76 185.12,-76 206.268,-76"/>
<polygon fill="black" stroke="black" points="206.49,-79.5001 216.49,-76 206.49,-72.5001 206.49,-79.5001"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M141.771,-76C162.554,-76 185.854,-76 207.318,-76"/>
<polygon fill="black" stroke="black" points="207.36,-79.5001 217.36,-76 207.36,-72.5001 207.36,-79.5001"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Before After
Before After

View file

@ -14,23 +14,23 @@ edge [ penwidth = 1.75, minlen = 2 ];
penwidth = 1.75;
subgraph cluster_tx2 {
scriptSig [ label = "ScriptSig", shape = "none" ];
scriptSig [ label = "Signature Script", shape = "none" ];
tx2_signature [ label = "Signature" ];
tx2_redeemScript [ label = "Full RedeemScript" ];
script [ label = " \nScript", shape = "none" ];
tx2_redeemScript_hash [ label = "RedeemScript Hash" ];
tx2_redeemScript [ label = "Full Redeem Script" ];
script [ label = " \nPubkey Script", shape = "none" ];
tx2_redeemScript_hash [ label = "Redeem Script Hash" ];
}
subgraph cluster_tx1 {
tx1_redeemScript_hash [ label = "RedeemScript Hash" ];
tx1_redeemScript_hash [ label = "Redeem Script Hash" ];
label = "TX 1 Output"
}
subgraph cluster_bob {
private_key [ label = "Private Key" ];
redeemScript [ label = "Full RedeemScript" ];
redeemScript [ label = "Full Redeem Script" ];
label = "Bob's Computer"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Before After
Before After

View file

@ -4,77 +4,77 @@
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
-->
<!-- Title: blockchain Pages: 1 -->
<svg width="450pt" height="212pt"
viewBox="0.00 0.00 450.00 212.10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.716561 0.716561) rotate(0) translate(4 292)">
<svg width="450pt" height="207pt"
viewBox="0.00 0.00 450.00 206.83" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.698758 0.698758) rotate(0) translate(4 292)">
<title>blockchain</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-292 625,-292 625,5 -4,5"/>
<text text-anchor="middle" x="310" y="-25.4" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="310" y="-8.4" font-family="Sans" font-size="14.00">Spending A P2SH Output</text>
<polygon fill="white" stroke="white" points="-4,5 -4,-292 641,-292 641,5 -4,5"/>
<text text-anchor="middle" x="318" y="-25.4" font-family="Times Roman,serif" font-size="14.00"> </text>
<text text-anchor="middle" x="318" y="-8.4" font-family="Times Roman,serif" font-size="14.00">Spending A P2SH Output</text>
<g id="graph2" class="cluster"><title>cluster_tx2</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="232,-50 232,-280 398,-280 398,-50 232,-50"/>
<polygon fill="none" stroke="black" stroke-width="1.75" points="238,-50 238,-280 410,-280 410,-50 238,-50"/>
</g>
<g id="graph3" class="cluster"><title>cluster_tx1</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="8,-50 8,-127 174,-127 174,-50 8,-50"/>
<text text-anchor="middle" x="91" y="-110.4" font-family="Sans" font-size="14.00">TX 1 Output</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="8,-50 8,-127 180,-127 180,-50 8,-50"/>
<text text-anchor="middle" x="94" y="-110.4" font-family="Times Roman,serif" font-size="14.00">TX 1 Output</text>
</g>
<g id="graph4" class="cluster"><title>cluster_bob</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="456,-142 456,-262 612,-262 612,-142 456,-142"/>
<text text-anchor="middle" x="534" y="-245.4" font-family="Sans" font-size="14.00">Bob&#39;s Computer</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="468,-142 468,-262 628,-262 628,-142 468,-142"/>
<text text-anchor="middle" x="548" y="-245.4" font-family="Times Roman,serif" font-size="14.00">Bob&#39;s Computer</text>
</g>
<!-- scriptSig -->
<g id="node2" class="node"><title>scriptSig</title>
<text text-anchor="middle" x="315" y="-249.9" font-family="Sans" font-size="14.00">ScriptSig</text>
<text text-anchor="middle" x="324" y="-249.9" font-family="Times Roman,serif" font-size="14.00">Signature Script</text>
</g>
<!-- tx2_signature -->
<g id="node3" class="node"><title>tx2_signature</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="357,-229 273,-229 273,-193 357,-193 357,-229"/>
<text text-anchor="middle" x="315" y="-206.9" font-family="Sans" font-size="14.00">Signature</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="366,-229 282,-229 282,-193 366,-193 366,-229"/>
<text text-anchor="middle" x="324" y="-206.9" font-family="Times Roman,serif" font-size="14.00">Signature</text>
</g>
<!-- private_key -->
<g id="node10" class="node"><title>private_key</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="581,-229 487,-229 487,-193 581,-193 581,-229"/>
<text text-anchor="middle" x="534" y="-206.9" font-family="Sans" font-size="14.00">Private Key</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="595,-229 501,-229 501,-193 595,-193 595,-229"/>
<text text-anchor="middle" x="548" y="-206.9" font-family="Times Roman,serif" font-size="14.00">Private Key</text>
</g>
<!-- tx2_signature&#45;&gt;private_key -->
<g id="edge10" class="edge"><title>tx2_signature&#45;&gt;private_key</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M367.556,-211C403.645,-211 451.169,-211 486.193,-211"/>
<polygon fill="black" stroke="black" points="367.225,-207.5 357.225,-211 367.225,-214.5 367.225,-207.5"/>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M376.344,-211C413.809,-211 463.85,-211 500.232,-211"/>
<polygon fill="black" stroke="black" points="376.133,-207.5 366.133,-211 376.133,-214.5 376.133,-207.5"/>
</g>
<!-- tx2_redeemScript -->
<g id="node4" class="node"><title>tx2_redeemScript</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="385,-186 245,-186 245,-150 385,-150 385,-186"/>
<text text-anchor="middle" x="315" y="-163.9" font-family="Sans" font-size="14.00">Full RedeemScript</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="396,-186 252,-186 252,-150 396,-150 396,-186"/>
<text text-anchor="middle" x="324" y="-163.9" font-family="Times Roman,serif" font-size="14.00">Full Redeem Script</text>
</g>
<!-- redeemScript -->
<g id="node11" class="node"><title>redeemScript</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="604,-186 464,-186 464,-150 604,-150 604,-186"/>
<text text-anchor="middle" x="534" y="-163.9" font-family="Sans" font-size="14.00">Full RedeemScript</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="620,-186 476,-186 476,-150 620,-150 620,-186"/>
<text text-anchor="middle" x="548" y="-163.9" font-family="Times Roman,serif" font-size="14.00">Full Redeem Script</text>
</g>
<!-- tx2_redeemScript&#45;&gt;redeemScript -->
<g id="edge8" class="edge"><title>tx2_redeemScript&#45;&gt;redeemScript</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M395.37,-168C417.814,-168 442.019,-168 463.825,-168"/>
<polygon fill="black" stroke="black" points="395.197,-164.5 385.197,-168 395.197,-171.5 395.197,-164.5"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M406.401,-168C429.104,-168 453.555,-168 475.643,-168"/>
<polygon fill="black" stroke="black" points="406.108,-164.5 396.108,-168 406.108,-171.5 406.108,-164.5"/>
</g>
<!-- script -->
<g id="node5" class="node"><title>script</title>
<text text-anchor="middle" x="315" y="-126.4" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="315" y="-109.4" font-family="Sans" font-size="14.00">Script</text>
<text text-anchor="middle" x="324" y="-126.4" font-family="Times Roman,serif" font-size="14.00"> </text>
<text text-anchor="middle" x="324" y="-109.4" font-family="Times Roman,serif" font-size="14.00">Pubkey Script</text>
</g>
<!-- tx2_redeemScript_hash -->
<g id="node6" class="node"><title>tx2_redeemScript_hash</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="390,-94 240,-94 240,-58 390,-58 390,-94"/>
<text text-anchor="middle" x="315" y="-71.9" font-family="Sans" font-size="14.00">RedeemScript Hash</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="401,-94 247,-94 247,-58 401,-58 401,-94"/>
<text text-anchor="middle" x="324" y="-71.9" font-family="Times Roman,serif" font-size="14.00">Redeem Script Hash</text>
</g>
<!-- tx1_redeemScript_hash -->
<g id="node8" class="node"><title>tx1_redeemScript_hash</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="166,-94 16,-94 16,-58 166,-58 166,-94"/>
<text text-anchor="middle" x="91" y="-71.9" font-family="Sans" font-size="14.00">RedeemScript Hash</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="171,-94 17,-94 17,-58 171,-58 171,-94"/>
<text text-anchor="middle" x="94" y="-71.9" font-family="Times Roman,serif" font-size="14.00">Redeem Script Hash</text>
</g>
<!-- tx1_redeemScript_hash&#45;&gt;tx2_redeemScript_hash -->
<g id="edge5" class="edge"><title>tx1_redeemScript_hash&#45;&gt;tx2_redeemScript_hash</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M166.212,-76C186.637,-76 208.898,-76 229.831,-76"/>
<polygon fill="black" stroke="black" points="229.987,-79.5001 239.987,-76 229.987,-72.5001 229.987,-79.5001"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M171.547,-76C192.375,-76 215.043,-76 236.376,-76"/>
<polygon fill="black" stroke="black" points="236.399,-79.5001 246.399,-76 236.399,-72.5001 236.399,-79.5001"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 5 KiB

Before After
Before After