mirror of
https://github.com/seigler/dash-docs
synced 2025-07-28 18:26:13 +00:00
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.
90 lines
2.1 KiB
Text
90 lines
2.1 KiB
Text
digraph blockchain {
|
|
|
|
size="6.25";
|
|
|
|
splines = "false";
|
|
rankdir=TB;
|
|
ranksep=-0.1;
|
|
//splines=ortho;
|
|
overlap = true;
|
|
nodesep = 0.1;
|
|
|
|
node [ shape = box, penwidth = 1.75 ];
|
|
edge [ penwidth = 1.75, minlen = 2 ];
|
|
penwidth = 1.75;
|
|
|
|
subgraph cluster_tx1 {
|
|
tx1_txid [ label = "TXID" ];
|
|
tx1_vout [ label = "Output Index Number" ];
|
|
tx1_script [ label = "Pubkey Script" ];
|
|
|
|
label = "Transaction 1 (TX 1)"
|
|
}
|
|
|
|
|
|
|
|
subgraph cluster_sig {
|
|
node [ style = "invis", label = "", height=0 ];
|
|
|
|
sig_tx1_txid [ width = 0.7 ];
|
|
sig_tx1_vout [ width = 2.3 ];
|
|
sig_tx1_script [ width = 1.6 ];
|
|
//nil_pubkey [ width = 1.3 ];
|
|
sig_tx2t_script [ width = 1.65 ];
|
|
sig_tx2t_amount [ width = 0.95 ];
|
|
signature [ width = 1.25 ];
|
|
|
|
|
|
label = " Signed Data"
|
|
}
|
|
|
|
subgraph cluster_tx2 {
|
|
tx2_tx1_txid [ label = "TXID" ];
|
|
tx2_tx1_vout [ label = "Output Index Number" ];
|
|
tx2_script [ label = "Pubkey Script" ];
|
|
public_key [ label = "Full Public Key" ];
|
|
tx2_amount [ label = "Amount" ];
|
|
tx2_signature [ label = "Signature" ];
|
|
|
|
label = "Transaction 2"
|
|
}
|
|
|
|
subgraph cluster_bob {
|
|
private_key [ label = "Private Key" ];
|
|
|
|
label = "Bob's Computer"
|
|
subgraph cluster_tx2t {
|
|
tx2t_script [ label = "Pubkey Script" ];
|
|
tx2t_amount [ label = "Amount" ];
|
|
|
|
label = "TX2 Template"
|
|
}
|
|
|
|
}
|
|
|
|
{
|
|
edge [ arrowhead = "dot" ];
|
|
tx1_script -> sig_tx1_script;
|
|
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 [ 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"
|
|
}
|