digraph blockchain {

size="6.25";

//splines = "false";
rankdir=LR;
//ranksep=0.1;
//splines=ortho;
overlap = false;
nodesep = 0.1;

node [ shape = box, penwidth = 1.75 ];
edge [ penwidth = 1.75, minlen = 2 ];
penwidth = 1.75;

subgraph cluster_tx2 {
    scriptSig [ label = "Signature Script", shape = "none" ];
    tx2_signature [ label = "Signature" ];
    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 = "Redeem Script Hash" ];

    label = "TX 1 Output"
}

subgraph cluster_bob {
    private_key [ label = "Private Key" ];
    redeemScript [ label = "Full Redeem Script" ];

    label = "Bob's Computer"
}

tx1_redeemScript_hash -> tx2_redeemScript_hash;

{
    edge [ dir=back ]
    tx2_redeemScript -> redeemScript;
    tx2_signature -> private_key [ style = "dashed" ];
}

label = " \nSpending A P2SH Output"
}
