Minor Bitcoin to Dash changes

This commit is contained in:
thephez 2018-01-11 12:46:31 -05:00
parent 2c3cf8a85d
commit da8a1f1737
19 changed files with 231 additions and 236 deletions

View file

@ -170,9 +170,9 @@ spent anything so far, except possibly a small transaction fee, and
he'll be able to broadcast the refund transaction in 24 hours for a
full refund.
Now, when Alice does some work worth 1 millibitcoin, she asks Bob to create
Now, when Alice does some work worth 1 millidash, she asks Bob to create
and sign a new version of the refund transaction. Version two of the
transaction spends 1 millibitcoin to Alice and the other 99 back to Bob; it does
transaction spends 1 millidash to Alice and the other 99 back to Bob; it does
not have a locktime, so Alice can sign it and spend it whenever she
wants. (But she doesn't do that immediately.)

View file

@ -288,7 +288,7 @@ Once the syncing node receives the counts and inventories, it may request any
*Governance Sync Data Flow*
| **Syncing Node Message** | **Direction** | **Masternode Response** | **Description** |
| **Inital request** | | | **Requests all governance objects (without votes)** |
| **Initial request** | | | **Requests all governance objects (without votes)** |
| `govsync` message | → | | Syncing node initiates governance sync (hash set to all zeros)
| | ← | `ssc` message (govobj) | Number of governance objects (0 or more)
| | ← | `ssc` message (govobjvote)| Number of governance object votes *(0 since votes are only returned if a specific hash is provided with the `govsync` message)*

View file

@ -506,7 +506,7 @@ Standard transactions must also meet the following conditions:
opcodes which solely push data to the stack.
* The transaction must not include any outputs which receive fewer than
1/3 as many satoshis as it would take to spend it in a typical input.
1/3 as many duffs as it would take to spend it in a typical input.
That's currently 5460 duffs for a
P2PKH or P2SH output on a Dash Core node with the default relay fee.
Exception: standard null data outputs must receive zero duffs.

View file

@ -280,7 +280,7 @@ In order to make copying of private keys less prone to error, [Wallet Import For
1. Take a private key.
2. Add a 0x80 byte in front of it for mainnet addresses or 0xef for testnet addresses.
2. Add a 0xCC byte in front of it for mainnet addresses or 0xEF for testnet addresses.
3. Append a 0x01 byte after it if it should be used with compressed
public keys (described in a later subsection). Nothing is appended if

View file

@ -158,14 +158,9 @@ Plugins include:
| Plugin | Seconds | Remote APIs | Used For
|--------------|---------|----------------|------------------------
| alerts | 5 | -- | Network alert pages
| autocrossref | 90 | -- | Developer documentation
| contributors | 5 | GitHub.com | Contributor listings
| events | 5 | Google Maps | Events page
| glossary | 30 | -- | Developer glossary
| redirects | 20 | -- | Redirects from old URLs
| releases | 10 | -- | Bitcoin Core release notes; Download
page
| sitemap | 10 | -- | /sitemap.xml
Notes: some plugins interact with each other or with translations; for example

View file

@ -56,5 +56,5 @@ _transactions0 -> _transactions1 -> _transactions2 [ style = "invis", minlen = 2
invis1 -> _transactions0 [ style = "invis", minlen = 1 ];
label = "\nSimplified Bitcoin Block Chain";
label = "\nSimplified Dash Block Chain";
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before After
Before After

View file

@ -1,119 +1,119 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: blockchain Pages: 1 -->
<svg width="480pt" height="220pt"
viewBox="0.00 0.00 480.00 220.44" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.752351 0.752351) rotate(0) translate(4 289)">
<svg width="480pt" height="216pt"
viewBox="0.00 0.00 480.00 216.33" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(0.769848 0.769848) rotate(0) translate(4 277)">
<title>blockchain</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-289 635,-289 635,5 -4,5"/>
<text text-anchor="middle" x="315" y="-8.4" font-family="Sans" font-size="14.00">Simplified Bitcoin Block Chain</text>
<g id="graph2" class="cluster"><title>cluster_block0header</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="34,-97 34,-277 186,-277 186,-97 34,-97"/>
<text text-anchor="middle" x="110" y="-260.4" font-family="Sans" font-size="14.00">Block 1</text>
<text text-anchor="middle" x="110" y="-243.4" font-family="Sans" font-size="14.00">Header</text>
<polygon fill="white" stroke="none" points="-4,4 -4,-277 619.5,-277 619.5,4 -4,4"/>
<text text-anchor="middle" x="307.75" y="-7.8" font-family="Times,serif" font-size="14.00">Simplified Dash Block Chain</text>
<g id="clust1" class="cluster"><title>cluster_block0header</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="44.5,-91 44.5,-265 173.5,-265 173.5,-91 44.5,-91"/>
<text text-anchor="middle" x="109" y="-249.8" font-family="Times,serif" font-size="14.00">Block 1</text>
<text text-anchor="middle" x="109" y="-234.8" font-family="Times,serif" font-size="14.00">Header</text>
</g>
<g id="graph3" class="cluster"><title>cluster_block1header</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="252,-97 252,-277 404,-277 404,-97 252,-97"/>
<text text-anchor="middle" x="328" y="-260.4" font-family="Sans" font-size="14.00">Block 2</text>
<text text-anchor="middle" x="328" y="-243.4" font-family="Sans" font-size="14.00">Header</text>
<g id="clust2" class="cluster"><title>cluster_block1header</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="261.5,-91 261.5,-265 390.5,-265 390.5,-91 261.5,-91"/>
<text text-anchor="middle" x="326" y="-249.8" font-family="Times,serif" font-size="14.00">Block 2</text>
<text text-anchor="middle" x="326" y="-234.8" font-family="Times,serif" font-size="14.00">Header</text>
</g>
<g id="graph4" class="cluster"><title>cluster_block2header</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="470,-97 470,-277 622,-277 622,-97 470,-97"/>
<text text-anchor="middle" x="546" y="-260.4" font-family="Sans" font-size="14.00">Block 3</text>
<text text-anchor="middle" x="546" y="-243.4" font-family="Sans" font-size="14.00">Header</text>
<g id="clust3" class="cluster"><title>cluster_block2header</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="478.5,-91 478.5,-265 607.5,-265 607.5,-91 478.5,-91"/>
<text text-anchor="middle" x="543" y="-249.8" font-family="Times,serif" font-size="14.00">Block 3</text>
<text text-anchor="middle" x="543" y="-234.8" font-family="Times,serif" font-size="14.00">Header</text>
</g>
<!-- _transactions0 -->
<g id="node1" class="node"><title>_transactions0</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="182,-83 38,-83 38,-41 182,-41 182,-83"/>
<text text-anchor="middle" x="110" y="-66.4" font-family="Sans" font-size="14.00">Block 1</text>
<text text-anchor="middle" x="110" y="-49.4" font-family="Sans" font-size="14.00">Transactions</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="181,-77 37,-77 37,-39 181,-39 181,-77"/>
<text text-anchor="middle" x="109" y="-61.8" font-family="Times,serif" font-size="14.00">Block 1</text>
<text text-anchor="middle" x="109" y="-46.8" font-family="Times,serif" font-size="14.00">Transactions</text>
</g>
<!-- hashMerkleRoot0 -->
<g id="node5" class="node"><title>hashMerkleRoot0</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="159,-141 61,-141 61,-105 159,-105 159,-141"/>
<text text-anchor="middle" x="110" y="-118.9" font-family="Sans" font-size="14.00">Merkle Root</text>
<g id="node4" class="node"><title>hashMerkleRoot0</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="152,-135 66,-135 66,-99 152,-99 152,-135"/>
<text text-anchor="middle" x="109" y="-113.3" font-family="Times,serif" font-size="14.00">Merkle Root</text>
</g>
<!-- _transactions0&#45;&gt;hashMerkleRoot0 -->
<g id="edge14" class="edge"><title>_transactions0&#45;&gt;hashMerkleRoot0</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M110,-83.4453C110,-87.1101 110,-90.7749 110,-94.4397"/>
<polygon fill="black" stroke="black" points="106.5,-94.7677 110,-104.768 113.5,-94.7678 106.5,-94.7677"/>
<g id="edge6" class="edge"><title>_transactions0&#45;&gt;hashMerkleRoot0</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M109,-77.3594C109,-81.1434 109,-84.9275 109,-88.7115"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="105.5,-88.7281 109,-98.7281 112.5,-88.7282 105.5,-88.7281"/>
</g>
<!-- _transactions1 -->
<g id="node6" class="node"><title>_transactions1</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="400,-83 256,-83 256,-41 400,-41 400,-83"/>
<text text-anchor="middle" x="328" y="-66.4" font-family="Sans" font-size="14.00">Block 2</text>
<text text-anchor="middle" x="328" y="-49.4" font-family="Sans" font-size="14.00">Transactions</text>
<g id="node5" class="node"><title>_transactions1</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="398,-77 254,-77 254,-39 398,-39 398,-77"/>
<text text-anchor="middle" x="326" y="-61.8" font-family="Times,serif" font-size="14.00">Block 2</text>
<text text-anchor="middle" x="326" y="-46.8" font-family="Times,serif" font-size="14.00">Transactions</text>
</g>
<!-- _transactions0&#45;&gt;_transactions1 -->
<!-- _blockHeader0 -->
<!-- hashBlock0 -->
<g id="node9" class="node"><title>hashBlock0</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="395,-205 261,-205 261,-163 395,-163 395,-205"/>
<text text-anchor="middle" x="328" y="-188.4" font-family="Sans" font-size="14.00">Hash Of Previous</text>
<text text-anchor="middle" x="328" y="-171.4" font-family="Sans" font-size="14.00">Block Header</text>
<g id="node7" class="node"><title>hashBlock0</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="382.5,-195 269.5,-195 269.5,-157 382.5,-157 382.5,-195"/>
<text text-anchor="middle" x="326" y="-179.8" font-family="Times,serif" font-size="14.00">Hash Of Previous</text>
<text text-anchor="middle" x="326" y="-164.8" font-family="Times,serif" font-size="14.00">Block Header</text>
</g>
<!-- _blockHeader0&#45;&gt;hashBlock0 -->
<g id="edge7" class="edge"><title>_blockHeader0&#45;&gt;hashBlock0</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M110.753,-226.914C116.577,-226.242 155.06,-221.716 186,-216 207.024,-212.116 229.66,-207.304 250.547,-202.602"/>
<polygon fill="black" stroke="black" points="251.35,-206.009 260.326,-200.38 249.799,-199.183 251.35,-206.009"/>
<g id="edge2" class="edge"><title>_blockHeader0&#45;&gt;hashBlock0</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M110.114,-217.982C112.464,-217.621 150.534,-211.746 181,-206 206.695,-201.154 234.872,-195.385 259.435,-190.207"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="260.308,-193.6 269.366,-188.104 258.858,-186.752 260.308,-193.6"/>
</g>
<!-- hashBlock9 -->
<g id="node4" class="node"><title>hashBlock9</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="177,-205 43,-205 43,-163 177,-163 177,-205"/>
<text text-anchor="middle" x="110" y="-188.4" font-family="Sans" font-size="14.00">Hash Of Previous</text>
<text text-anchor="middle" x="110" y="-171.4" font-family="Sans" font-size="14.00">Block Header</text>
<g id="node3" class="node"><title>hashBlock9</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="165.5,-195 52.5,-195 52.5,-157 165.5,-157 165.5,-195"/>
<text text-anchor="middle" x="109" y="-179.8" font-family="Times,serif" font-size="14.00">Hash Of Previous</text>
<text text-anchor="middle" x="109" y="-164.8" font-family="Times,serif" font-size="14.00">Block Header</text>
</g>
<!-- hashMerkleRoot1 -->
<g id="node10" class="node"><title>hashMerkleRoot1</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="377,-141 279,-141 279,-105 377,-105 377,-141"/>
<text text-anchor="middle" x="328" y="-118.9" font-family="Sans" font-size="14.00">Merkle Root</text>
<g id="node8" class="node"><title>hashMerkleRoot1</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="369,-135 283,-135 283,-99 369,-99 369,-135"/>
<text text-anchor="middle" x="326" y="-113.3" font-family="Times,serif" font-size="14.00">Merkle Root</text>
</g>
<!-- hashMerkleRoot0&#45;&gt;hashMerkleRoot1 -->
<!-- _transactions1&#45;&gt;hashMerkleRoot1 -->
<g id="edge16" class="edge"><title>_transactions1&#45;&gt;hashMerkleRoot1</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M328,-83.4453C328,-87.1101 328,-90.7749 328,-94.4397"/>
<polygon fill="black" stroke="black" points="324.5,-94.7677 328,-104.768 331.5,-94.7678 324.5,-94.7677"/>
<g id="edge7" class="edge"><title>_transactions1&#45;&gt;hashMerkleRoot1</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M326,-77.3594C326,-81.1434 326,-84.9275 326,-88.7115"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="322.5,-88.7281 326,-98.7281 329.5,-88.7282 322.5,-88.7281"/>
</g>
<!-- _transactions2 -->
<g id="node11" class="node"><title>_transactions2</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="618,-83 474,-83 474,-41 618,-41 618,-83"/>
<text text-anchor="middle" x="546" y="-66.4" font-family="Sans" font-size="14.00">Block 3</text>
<text text-anchor="middle" x="546" y="-49.4" font-family="Sans" font-size="14.00">Transactions</text>
<g id="node9" class="node"><title>_transactions2</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="615,-77 471,-77 471,-39 615,-39 615,-77"/>
<text text-anchor="middle" x="543" y="-61.8" font-family="Times,serif" font-size="14.00">Block 3</text>
<text text-anchor="middle" x="543" y="-46.8" font-family="Times,serif" font-size="14.00">Transactions</text>
</g>
<!-- _transactions1&#45;&gt;_transactions2 -->
<!-- _blockHeader1 -->
<!-- hashBlock1 -->
<g id="node15" class="node"><title>hashBlock1</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="613,-205 479,-205 479,-163 613,-163 613,-205"/>
<text text-anchor="middle" x="546" y="-188.4" font-family="Sans" font-size="14.00">Hash Of Previous</text>
<text text-anchor="middle" x="546" y="-171.4" font-family="Sans" font-size="14.00">Block Header</text>
<g id="node12" class="node"><title>hashBlock1</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="599.5,-195 486.5,-195 486.5,-157 599.5,-157 599.5,-195"/>
<text text-anchor="middle" x="543" y="-179.8" font-family="Times,serif" font-size="14.00">Hash Of Previous</text>
<text text-anchor="middle" x="543" y="-164.8" font-family="Times,serif" font-size="14.00">Block Header</text>
</g>
<!-- _blockHeader1&#45;&gt;hashBlock1 -->
<g id="edge9" class="edge"><title>_blockHeader1&#45;&gt;hashBlock1</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M328.753,-226.914C334.577,-226.242 373.06,-221.716 404,-216 425.024,-212.116 447.66,-207.304 468.547,-202.602"/>
<polygon fill="black" stroke="black" points="469.35,-206.009 478.326,-200.38 467.799,-199.183 469.35,-206.009"/>
<g id="edge3" class="edge"><title>_blockHeader1&#45;&gt;hashBlock1</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M327.114,-217.982C329.464,-217.621 367.534,-211.746 398,-206 423.695,-201.154 451.872,-195.385 476.435,-190.207"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="477.308,-193.6 486.366,-188.104 475.858,-186.752 477.308,-193.6"/>
</g>
<!-- hashMerkleRoot2 -->
<g id="node16" class="node"><title>hashMerkleRoot2</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="595,-141 497,-141 497,-105 595,-105 595,-141"/>
<text text-anchor="middle" x="546" y="-118.9" font-family="Sans" font-size="14.00">Merkle Root</text>
<g id="node13" class="node"><title>hashMerkleRoot2</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="586,-135 500,-135 500,-99 586,-99 586,-135"/>
<text text-anchor="middle" x="543" y="-113.3" font-family="Times,serif" font-size="14.00">Merkle Root</text>
</g>
<!-- hashMerkleRoot1&#45;&gt;hashMerkleRoot2 -->
<!-- _transactions2&#45;&gt;hashMerkleRoot2 -->
<g id="edge18" class="edge"><title>_transactions2&#45;&gt;hashMerkleRoot2</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M546,-83.4453C546,-87.1101 546,-90.7749 546,-94.4397"/>
<polygon fill="black" stroke="black" points="542.5,-94.7677 546,-104.768 549.5,-94.7678 542.5,-94.7677"/>
<g id="edge8" class="edge"><title>_transactions2&#45;&gt;hashMerkleRoot2</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M543,-77.3594C543,-81.1434 543,-84.9275 543,-88.7115"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="539.5,-88.7281 543,-98.7281 546.5,-88.7282 539.5,-88.7281"/>
</g>
<!-- _block2 -->
<!-- _blockHeader2 -->
<!-- invis0 -->
<!-- invis0&#45;&gt;hashBlock9 -->
<g id="edge5" class="edge"><title>invis0&#45;&gt;hashBlock9</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="1,5" d="M1.69605,-184C4.67071,-184 16.8595,-184 32.0519,-184"/>
<polygon fill="black" stroke="black" points="32.4026,-187.5 42.4025,-184 32.4025,-180.5 32.4026,-187.5"/>
<g id="edge1" class="edge"><title>invis0&#45;&gt;hashBlock9</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="1,5" d="M1.07755,-176C2.41601,-176 20.8946,-176 42.1239,-176"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="42.3601,-179.5 52.3601,-176 42.36,-172.5 42.3601,-179.5"/>
</g>
<!-- invis1 -->
<!-- invis1&#45;&gt;_transactions0 -->

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Before After
Before After

View file

@ -40,9 +40,9 @@ subgraph cluster_bob {
btx2v1 -> atx2v1s [ label = "B: Please sign refund version 1,\nwhich is a full refund of the bond\nthat can't be spent for 24 hours" ];
atx2v1s -> btx1v2 [ style = dashed, label = "A: Signed; please send me the bond to\nprove you funded the account" ];
btx1v2 -> atx1v2 [ label = "B: Here's the bond; please start working" ];
atx1v2 -> btx2v2s [ style = dashed, label = "A: Some work done; please sign refund v2\nreducing your refund by 1 mBTC" ];
atx1v2 -> btx2v2s [ style = dashed, label = "A: Some work done; please sign refund v2\nreducing your refund by 1 mDASH" ];
btx2v2s -> atx2v3 [ label = "B: Signed; refund now pays Bob: 99; Alice: 1" ];
atx2v3 -> btx2v3 [ style = dashed, label = "A: More work done; please sign v3\nreducing your refund by another 1 mBTC" ];
atx2v3 -> btx2v3 [ style = dashed, label = "A: More work done; please sign v3\nreducing your refund by another 1 mDASH" ];
btx2v3 -> atx2v4 [ label = "B: Signed; refund now pays Bob: 98; Alice: 2" ];
atx2v4 -> btx2v4 [ style = dashed, label = "A: [...]" ];
btx2v4 -> atx2v5 [ label = "B: [...]" ];
@ -50,5 +50,5 @@ btx2v4 -> atx2v5 [ label = "B: [...]" ];
atx2v5 -> btx2v5 [ style = dashed, label = "A: I'm done for the day. I'm\ngoing to broadcast refund v45" ];
label = " \n \nAlice broadcasts the bond to the Bitcoin network immediately.\nShe broadcasts the final version of the refund when she finishes work\nor before the locktime. If she fails to broadcast before refund v1's time lock\nexpires, Bob can broadcast refund v1 to get a full refund.\n \nBitcoin Micropayment Channels (As Implemented In Bitcoinj)"
label = " \n \nAlice broadcasts the bond to the Dash network immediately.\nShe broadcasts the final version of the refund when she finishes work\nor before the locktime. If she fails to broadcast before refund v1's time lock\nexpires, Bob can broadcast refund v1 to get a full refund.\n \nDash Micropayment Channels"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Before After
Before After

View file

@ -1,128 +1,128 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: paymentchannel Pages: 1 -->
<svg width="480pt" height="394pt"
viewBox="0.00 0.00 480.00 393.63" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.659341 0.659341) rotate(0) translate(4 593)">
<svg width="480pt" height="377pt"
viewBox="0.00 0.00 480.00 376.51" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(0.680851 0.680851) rotate(0) translate(4 549)">
<title>paymentchannel</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-593 725,-593 725,5 -4,5"/>
<text text-anchor="middle" x="360" y="-127.4" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="360" y="-110.4" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="360" y="-93.4" font-family="Sans" font-size="14.00">Alice broadcasts the bond to the Bitcoin network immediately.</text>
<text text-anchor="middle" x="360" y="-76.4" font-family="Sans" font-size="14.00">She broadcasts the final version of the refund when she finishes work</text>
<text text-anchor="middle" x="360" y="-59.4" font-family="Sans" font-size="14.00">or before the locktime. &#160;If she fails to broadcast before refund v1&#39;s time lock</text>
<text text-anchor="middle" x="360" y="-42.4" font-family="Sans" font-size="14.00">expires, Bob can broadcast refund v1 to get a full refund.</text>
<text text-anchor="middle" x="360" y="-25.4" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="360" y="-8.4" font-family="Sans" font-size="14.00">Bitcoin Micropayment Channels (As Implemented In Bitcoinj)</text>
<g id="graph2" class="cluster"><title>cluster_alice</title>
<polygon fill="none" stroke="black" points="8,-161 8,-511 139,-511 139,-161 8,-161"/>
<text text-anchor="middle" x="73.5" y="-494.4" font-family="Sans" font-size="14.00">Alice&#39;s Computer</text>
<text text-anchor="middle" x="73.5" y="-477.4" font-family="Sans" font-size="14.00">(Server)</text>
<polygon fill="white" stroke="none" points="-4,4 -4,-549 701,-549 701,4 -4,4"/>
<text text-anchor="middle" x="348.5" y="-112.8" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="348.5" y="-97.8" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="348.5" y="-82.8" font-family="Sans" font-size="14.00">Alice broadcasts the bond to the Dash network immediately.</text>
<text text-anchor="middle" x="348.5" y="-67.8" font-family="Sans" font-size="14.00">She broadcasts the final version of the refund when she finishes work</text>
<text text-anchor="middle" x="348.5" y="-52.8" font-family="Sans" font-size="14.00">or before the locktime. &#160;If she fails to broadcast before refund v1&#39;s time lock</text>
<text text-anchor="middle" x="348.5" y="-37.8" font-family="Sans" font-size="14.00">expires, Bob can broadcast refund v1 to get a full refund.</text>
<text text-anchor="middle" x="348.5" y="-22.8" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="348.5" y="-7.8" font-family="Sans" font-size="14.00">Dash Micropayment Channels</text>
<g id="clust1" class="cluster"><title>cluster_alice</title>
<polygon fill="none" stroke="black" points="0,-149 0,-478 131,-478 131,-149 0,-149"/>
<text text-anchor="middle" x="65.5" y="-462.8" font-family="Sans" font-size="14.00">Alice&#39;s Computer</text>
<text text-anchor="middle" x="65.5" y="-447.8" font-family="Sans" font-size="14.00">(Server)</text>
</g>
<g id="graph3" class="cluster"><title>cluster_bob</title>
<polygon fill="none" stroke="black" points="587,-152 587,-581 712,-581 712,-152 587,-152"/>
<text text-anchor="middle" x="649.5" y="-564.4" font-family="Sans" font-size="14.00">Bob&#39;s Computer</text>
<text text-anchor="middle" x="649.5" y="-547.4" font-family="Sans" font-size="14.00">(Client)</text>
<g id="clust2" class="cluster"><title>cluster_bob</title>
<polygon fill="none" stroke="black" points="572,-136 572,-537 697,-537 697,-136 572,-136"/>
<text text-anchor="middle" x="634.5" y="-521.8" font-family="Sans" font-size="14.00">Bob&#39;s Computer</text>
<text text-anchor="middle" x="634.5" y="-506.8" font-family="Sans" font-size="14.00">(Client)</text>
</g>
<!-- atx2v1s -->
<!-- btx1v2 -->
<!-- atx2v1s&#45;&gt;btx1v2 -->
<g id="edge6" class="edge"><title>atx2v1s&#45;&gt;btx1v2</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M109.156,-451.842C127.301,-455.543 149.689,-459 170,-459 170,-459 170,-459 556,-459 568.056,-459 592.44,-445.948 613.216,-433.316"/>
<polygon fill="black" stroke="black" points="615.193,-436.208 621.852,-427.968 611.508,-430.257 615.193,-436.208"/>
<text text-anchor="middle" x="363" y="-480.4" font-family="Sans" font-size="14.00">A: Signed; please send me the bond to</text>
<text text-anchor="middle" x="363" y="-463.4" font-family="Sans" font-size="14.00">prove you funded the account</text>
<g id="edge2" class="edge"><title>atx2v1s&#45;&gt;btx1v2</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M101.904,-420.143C119.341,-422.663 140.713,-425 160,-425 160,-425 160,-425 543,-425 562.667,-425 582.615,-416.613 598.759,-407.246"/>
<polygon fill="black" stroke="black" points="600.625,-410.208 607.311,-401.989 596.959,-404.245 600.625,-410.208"/>
<text text-anchor="middle" x="351.5" y="-443.8" font-family="Sans" font-size="14.00">A: Signed; please send me the bond to</text>
<text text-anchor="middle" x="351.5" y="-428.8" font-family="Sans" font-size="14.00">prove you funded the account</text>
</g>
<!-- atx1v2 -->
<g id="node3" class="node"><title>atx1v2</title>
<polygon fill="none" stroke="black" points="111,-418.5 35,-418.5 35,-359.5 111,-359.5 111,-418.5"/>
<text text-anchor="middle" x="73" y="-401.9" font-family="Sans" font-size="14.00">Bond</text>
<text text-anchor="middle" x="73" y="-384.9" font-family="Sans" font-size="14.00">(2&#45;of&#45;2</text>
<text text-anchor="middle" x="73" y="-367.9" font-family="Sans" font-size="14.00">multisig)</text>
<g id="node2" class="node"><title>atx1v2</title>
<polygon fill="none" stroke="black" points="103.5,-388.5 27.5,-388.5 27.5,-335.5 103.5,-335.5 103.5,-388.5"/>
<text text-anchor="middle" x="65.5" y="-373.3" font-family="Sans" font-size="14.00">Bond</text>
<text text-anchor="middle" x="65.5" y="-358.3" font-family="Sans" font-size="14.00">(2&#45;of&#45;2</text>
<text text-anchor="middle" x="65.5" y="-343.3" font-family="Sans" font-size="14.00">multisig)</text>
</g>
<!-- btx2v2s -->
<!-- atx1v2&#45;&gt;btx2v2s -->
<g id="edge10" class="edge"><title>atx1v2&#45;&gt;btx2v2s</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M111.163,-383.817C129.001,-381.816 150.55,-380 170,-380 170,-380 170,-380 556,-380 556,-380 579.688,-371.595 603.153,-363.268"/>
<polygon fill="black" stroke="black" points="604.524,-366.496 612.777,-359.853 602.183,-359.899 604.524,-366.496"/>
<text text-anchor="middle" x="363" y="-401.4" font-family="Sans" font-size="14.00">A: Some work done; please sign refund v2</text>
<text text-anchor="middle" x="363" y="-384.4" font-family="Sans" font-size="14.00">reducing your refund by 1 mBTC</text>
<g id="edge4" class="edge"><title>atx1v2&#45;&gt;btx2v2s</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M103.711,-356.183C120.812,-353.983 141.389,-352 160,-352 160,-352 160,-352 543,-352 547.985,-352 568.434,-345.536 588.635,-338.712"/>
<polygon fill="black" stroke="black" points="589.816,-342.007 598.152,-335.467 587.557,-335.382 589.816,-342.007"/>
<text text-anchor="middle" x="351.5" y="-370.8" font-family="Sans" font-size="14.00">A: Some work done; please sign refund v2</text>
<text text-anchor="middle" x="351.5" y="-355.8" font-family="Sans" font-size="14.00">reducing your refund by 1 mDASH</text>
</g>
<!-- atx2v3 -->
<!-- btx2v3 -->
<!-- atx2v3&#45;&gt;btx2v3 -->
<g id="edge14" class="edge"><title>atx2v3&#45;&gt;btx2v3</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M100.189,-313.979C119.413,-307.781 145.943,-301 170,-301 170,-301 170,-301 556,-301 572.432,-301 590.488,-301.474 606.284,-302.045"/>
<polygon fill="black" stroke="black" points="606.171,-305.543 616.298,-302.43 606.44,-298.548 606.171,-305.543"/>
<text text-anchor="middle" x="363" y="-322.4" font-family="Sans" font-size="14.00">A: More work done; please sign v3</text>
<text text-anchor="middle" x="363" y="-305.4" font-family="Sans" font-size="14.00">reducing your refund by another 1 mBTC</text>
<g id="edge6" class="edge"><title>atx2v3&#45;&gt;btx2v3</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M92.678,-291.979C111.196,-285.781 136.764,-279 160,-279 160,-279 160,-279 543,-279 558.831,-279 576.218,-279.155 591.485,-279.343"/>
<polygon fill="black" stroke="black" points="591.625,-282.845 601.67,-279.477 591.717,-275.845 591.625,-282.845"/>
<text text-anchor="middle" x="351.5" y="-297.8" font-family="Sans" font-size="14.00">A: More work done; please sign v3</text>
<text text-anchor="middle" x="351.5" y="-282.8" font-family="Sans" font-size="14.00">reducing your refund by another 1 mDASH</text>
</g>
<!-- atx2v4 -->
<!-- btx2v4 -->
<!-- atx2v4&#45;&gt;btx2v4 -->
<g id="edge18" class="edge"><title>atx2v4&#45;&gt;btx2v4</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M105.567,-259.071C132.409,-250.145 166.608,-239 170,-239 170,-239 170,-239 556,-239 574.322,-239 594.67,-239.393 611.65,-239.83"/>
<polygon fill="black" stroke="black" points="611.647,-243.331 621.738,-240.105 611.838,-236.334 611.647,-243.331"/>
<text text-anchor="middle" x="363" y="-243.4" font-family="Sans" font-size="14.00">A: [...]</text>
<g id="edge8" class="edge"><title>atx2v4&#45;&gt;btx2v4</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M98.0379,-239.201C122.621,-230.956 153.627,-221 160,-221 160,-221 160,-221 543,-221 560.786,-221 580.539,-221 597.041,-221"/>
<polygon fill="black" stroke="black" points="597.362,-224.5 607.362,-221 597.362,-217.5 597.362,-224.5"/>
<text text-anchor="middle" x="351.5" y="-224.8" font-family="Sans" font-size="14.00">A: [...]</text>
</g>
<!-- atx2v5 -->
<g id="node6" class="node"><title>atx2v5</title>
<polygon fill="none" stroke="black" points="120,-245 26,-245 26,-169 120,-169 120,-245"/>
<text text-anchor="middle" x="73" y="-228.4" font-family="Sans" font-size="14.00">Refund v45</text>
<text text-anchor="middle" x="73" y="-211.4" font-family="Sans" font-size="14.00">Bob: 66</text>
<text text-anchor="middle" x="73" y="-194.4" font-family="Sans" font-size="14.00"> Alice: 44</text>
<text text-anchor="middle" x="73" y="-177.4" font-family="Sans" font-size="14.00">(No Lock)</text>
<g id="node5" class="node"><title>atx2v5</title>
<polygon fill="none" stroke="black" points="113,-225 18,-225 18,-157 113,-157 113,-225"/>
<text text-anchor="middle" x="65.5" y="-209.8" font-family="Sans" font-size="14.00">Refund v45</text>
<text text-anchor="middle" x="65.5" y="-194.8" font-family="Sans" font-size="14.00">Bob: 66</text>
<text text-anchor="middle" x="65.5" y="-179.8" font-family="Sans" font-size="14.00"> Alice: 44</text>
<text text-anchor="middle" x="65.5" y="-164.8" font-family="Sans" font-size="14.00">(No Lock)</text>
</g>
<!-- btx2v5 -->
<!-- atx2v5&#45;&gt;btx2v5 -->
<g id="edge22" class="edge"><title>atx2v5&#45;&gt;btx2v5</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M120.721,-173.594C135.792,-165.939 152.971,-160 170,-160 170,-160 170,-160 556,-160 572.593,-160 590.553,-162.796 606.225,-166.184"/>
<polygon fill="black" stroke="black" points="605.626,-169.638 616.156,-168.473 607.198,-162.817 605.626,-169.638"/>
<text text-anchor="middle" x="363" y="-181.4" font-family="Sans" font-size="14.00">A: I&#39;m done for the day. &#160;I&#39;m</text>
<text text-anchor="middle" x="363" y="-164.4" font-family="Sans" font-size="14.00">going to broadcast refund v45</text>
<g id="edge10" class="edge"><title>atx2v5&#45;&gt;btx2v5</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M113.173,-160.207C127.59,-153.315 143.92,-148 160,-148 160,-148 160,-148 543,-148 559.018,-148 576.445,-150.168 591.691,-152.798"/>
<polygon fill="black" stroke="black" points="591.385,-156.301 601.854,-154.672 592.654,-149.417 591.385,-156.301"/>
<text text-anchor="middle" x="351.5" y="-166.8" font-family="Sans" font-size="14.00">A: I&#39;m done for the day. &#160;I&#39;m</text>
<text text-anchor="middle" x="351.5" y="-151.8" font-family="Sans" font-size="14.00">going to broadcast refund v45</text>
</g>
<!-- btx2v1 -->
<g id="node8" class="node"><title>btx2v1</title>
<polygon fill="none" stroke="black" points="693,-531 605,-531 605,-455 693,-455 693,-531"/>
<text text-anchor="middle" x="649" y="-514.4" font-family="Sans" font-size="14.00">Refund v1</text>
<text text-anchor="middle" x="649" y="-497.4" font-family="Sans" font-size="14.00">Bob: 100</text>
<text text-anchor="middle" x="649" y="-480.4" font-family="Sans" font-size="14.00">Alice: 0</text>
<text text-anchor="middle" x="649" y="-463.4" font-family="Sans" font-size="14.00">(Locktime)</text>
<g id="node6" class="node"><title>btx2v1</title>
<polygon fill="none" stroke="black" points="679,-491 590,-491 590,-423 679,-423 679,-491"/>
<text text-anchor="middle" x="634.5" y="-475.8" font-family="Sans" font-size="14.00">Refund v1</text>
<text text-anchor="middle" x="634.5" y="-460.8" font-family="Sans" font-size="14.00">Bob: 100</text>
<text text-anchor="middle" x="634.5" y="-445.8" font-family="Sans" font-size="14.00">Alice: 0</text>
<text text-anchor="middle" x="634.5" y="-430.8" font-family="Sans" font-size="14.00">(Locktime)</text>
</g>
<!-- btx2v1&#45;&gt;atx2v1s -->
<g id="edge4" class="edge"><title>btx2v1&#45;&gt;atx2v1s</title>
<path fill="none" stroke="black" d="M604.266,-502.493C589.026,-504.99 571.838,-507 556,-507 170,-507 170,-507 170,-507 140.695,-507 113.418,-486.397 95.3012,-468.57"/>
<polygon fill="black" stroke="black" points="97.5945,-465.908 88.1186,-461.169 92.5709,-470.783 97.5945,-465.908"/>
<text text-anchor="middle" x="363" y="-545.4" font-family="Sans" font-size="14.00">B: Please sign refund version 1,</text>
<text text-anchor="middle" x="363" y="-528.4" font-family="Sans" font-size="14.00">which is a full refund of the bond</text>
<text text-anchor="middle" x="363" y="-511.4" font-family="Sans" font-size="14.00">that can&#39;t be spent for 24 hours</text>
<g id="edge1" class="edge"><title>btx2v1&#45;&gt;atx2v1s</title>
<path fill="none" stroke="black" d="M589.925,-465.137C575.09,-467.277 558.374,-469 543,-469 160,-469 160,-469 160,-469 134.196,-469 109.23,-453.245 91.5962,-438.599"/>
<polygon fill="black" stroke="black" points="93.8722,-435.94 84.0337,-432.009 89.2733,-441.218 93.8722,-435.94"/>
<text text-anchor="middle" x="351.5" y="-502.8" font-family="Sans" font-size="14.00">B: Please sign refund version 1,</text>
<text text-anchor="middle" x="351.5" y="-487.8" font-family="Sans" font-size="14.00">which is a full refund of the bond</text>
<text text-anchor="middle" x="351.5" y="-472.8" font-family="Sans" font-size="14.00">that can&#39;t be spent for 24 hours</text>
</g>
<!-- btx1v2&#45;&gt;atx1v2 -->
<g id="edge8" class="edge"><title>btx1v2&#45;&gt;atx1v2</title>
<path fill="none" stroke="black" d="M621.597,-418.157C603.215,-422.92 578.366,-428 556,-428 170,-428 170,-428 170,-428 159.783,-428 139.794,-420.458 120.603,-412.007"/>
<polygon fill="black" stroke="black" points="121.847,-408.729 111.292,-407.815 118.973,-415.112 121.847,-408.729"/>
<text text-anchor="middle" x="363" y="-432.4" font-family="Sans" font-size="14.00">B: Here&#39;s the bond; please start working</text>
<g id="edge3" class="edge"><title>btx1v2&#45;&gt;atx1v2</title>
<path fill="none" stroke="black" d="M607.134,-388.263C589.168,-391.991 564.781,-396 543,-396 160,-396 160,-396 160,-396 144.131,-396 127.609,-391.621 112.948,-386.006"/>
<polygon fill="black" stroke="black" points="114.187,-382.731 103.607,-382.171 111.529,-389.207 114.187,-382.731"/>
<text text-anchor="middle" x="351.5" y="-399.8" font-family="Sans" font-size="14.00">B: Here&#39;s the bond; please start working</text>
</g>
<!-- btx2v2s&#45;&gt;atx2v3 -->
<g id="edge12" class="edge"><title>btx2v2s&#45;&gt;atx2v3</title>
<path fill="none" stroke="black" d="M612.788,-348.14C595.585,-348.589 574.733,-349 556,-349 170,-349 170,-349 170,-349 149.604,-349 127.537,-343.753 109.612,-338.066"/>
<polygon fill="black" stroke="black" points="110.71,-334.743 100.116,-334.893 108.491,-341.382 110.71,-334.743"/>
<text text-anchor="middle" x="363" y="-353.4" font-family="Sans" font-size="14.00">B: Signed; refund now pays Bob: 99; Alice: 1</text>
<g id="edge5" class="edge"><title>btx2v2s&#45;&gt;atx2v3</title>
<path fill="none" stroke="black" d="M598.258,-323C581.516,-323 561.226,-323 543,-323 160,-323 160,-323 160,-323 140.669,-323 119.623,-318.674 102.403,-313.948"/>
<polygon fill="black" stroke="black" points="103.326,-310.572 92.7473,-311.15 101.378,-317.295 103.326,-310.572"/>
<text text-anchor="middle" x="351.5" y="-326.8" font-family="Sans" font-size="14.00">B: Signed; refund now pays Bob: 99; Alice: 1</text>
</g>
<!-- btx2v3&#45;&gt;atx2v4 -->
<g id="edge16" class="edge"><title>btx2v3&#45;&gt;atx2v4</title>
<path fill="none" stroke="black" d="M616.438,-292.641C606.928,-289.271 596.531,-285.535 587,-282 573.148,-276.863 570.774,-270 556,-270 170,-270 170,-270 170,-270 152.289,-270 132.758,-270 115.893,-270"/>
<polygon fill="black" stroke="black" points="115.776,-266.5 105.776,-270 115.776,-273.5 115.776,-266.5"/>
<text text-anchor="middle" x="363" y="-274.4" font-family="Sans" font-size="14.00">B: Signed; refund now pays Bob: 98; Alice: 2</text>
<g id="edge7" class="edge"><title>btx2v3&#45;&gt;atx2v4</title>
<path fill="none" stroke="black" d="M601.56,-268.315C578.02,-259.892 549.083,-250 543,-250 160,-250 160,-250 160,-250 143.089,-250 124.457,-250 108.306,-250"/>
<polygon fill="black" stroke="black" points="108.094,-246.5 98.0937,-250 108.094,-253.5 108.094,-246.5"/>
<text text-anchor="middle" x="351.5" y="-253.8" font-family="Sans" font-size="14.00">B: Signed; refund now pays Bob: 98; Alice: 2</text>
</g>
<!-- btx2v4&#45;&gt;atx2v5 -->
<g id="edge20" class="edge"><title>btx2v4&#45;&gt;atx2v5</title>
<path fill="none" stroke="black" d="M621.812,-225.852C603.726,-217.177 579.128,-208 556,-208 170,-208 170,-208 170,-208 157.376,-208 143.828,-207.914 130.979,-207.793"/>
<polygon fill="black" stroke="black" points="130.892,-204.292 120.856,-207.689 130.82,-211.292 130.892,-204.292"/>
<text text-anchor="middle" x="363" y="-212.4" font-family="Sans" font-size="14.00">B: [...]</text>
<g id="edge9" class="edge"><title>btx2v4&#45;&gt;atx2v5</title>
<path fill="none" stroke="black" d="M607.278,-207.858C589.577,-200.185 565.438,-192 543,-192 160,-192 160,-192 160,-192 148.078,-192 135.302,-191.918 123.143,-191.8"/>
<polygon fill="black" stroke="black" points="123.143,-188.3 113.107,-191.695 123.069,-195.3 123.143,-188.3"/>
<text text-anchor="middle" x="351.5" y="-195.8" font-family="Sans" font-size="14.00">B: [...]</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Before After
Before After

View file

@ -21,5 +21,5 @@ asic0 -> software [ label = "←Headers\nBelow\nTarget" ];
software -> pool0 [ constraint = false, label = "←Shares" ];
label = "Pool-Based Bitcoin Mining Workflow"
label = "Pool-Based Dash Mining Workflow"
}

View file

@ -10,7 +10,7 @@ nodesep = 0.5;
p2pnetwork [ label = "P2P\nNetwork" ]
asic0 [ label = "ASIC" ];
software [ label = "Mining\nSoftware" ]
pool0 [ label = "bitcoind" ];
pool0 [ label = "dashd" ];
pool0 -> software [ label = "Block\nTemplate→" ];
p2pnetwork -> pool0 [ label = "TXes→" ];
@ -21,5 +21,5 @@ asic0 -> software [ label = "←Headers\nBelow\nTarget" ];
software -> pool0 [ constraint = false, label = "←Blocks" ];
label = "Solo Bitcoin Mining Workflow"
label = "Solo Dash Mining Workflow"
}

View file

@ -82,5 +82,5 @@ tx4_output0 -> tx6_input0 [ label = "10k" ]
tx5_output0 -> tx6_input1 [ label = "10k" ]
tx3_output0 -> utxo0 [ style=dashed, labelfloat = true, minlen = 2, label = "20k Unspent TX\nOutput (UTXO)" ]
tx6_output0 -> utxo1 [ style=dashed, label = "10k\nUTXO" ]
label = "Triple-Entry Bookkeeping (Transaction-To-Transaction Payments) As Used By Bitcoin"
label = "Triple-Entry Bookkeeping (Transaction-To-Transaction Payments) As Used By Dash"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before After
Before After

View file

@ -9,7 +9,7 @@
<g id="graph0" class="graph" transform="scale(0.819672 0.819672) rotate(0) translate(4 500)">
<title>blockchain</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-500 545,-500 545,4 -4,4"/>
<text text-anchor="middle" x="270.5" y="-7.8" font-family="Times,serif" font-size="14.00">Triple&#45;Entry Bookkeeping (Transaction&#45;To&#45;Transaction Payments) As Used By Bitcoin</text>
<text text-anchor="middle" x="270.5" y="-7.8" font-family="Times,serif" font-size="14.00">Triple&#45;Entry Bookkeeping (Transaction&#45;To&#45;Transaction Payments) As Used By Dash</text>
<g id="clust1" class="cluster"><title>cluster_tx0</title>
<polygon fill="none" stroke="black" points="62,-286 62,-484 153,-484 153,-286 62,-286"/>
<text text-anchor="middle" x="107.5" y="-468.8" font-family="Times,serif" font-size="14.00">Transaction 0</text>

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

View file

@ -22,7 +22,7 @@ subgraph cluster_tx0 {
subgraph cluster_outputs {
pubkey_script [ label = "Pubkey\nScript" ];
amount [ label = "Amount\n(satoshis)" ];
amount [ label = "Amount\n(duffs)" ];
output0_label [ shape = "none", label = "Output 0\n(Implied)" ]
label = "Example Output Paying A Pubkey Script"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

View file

@ -1,108 +1,108 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: tx_overview Pages: 1 -->
<svg width="450pt" height="189pt"
viewBox="0.00 0.00 450.00 189.14" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.703125 0.703125) rotate(0) translate(4 265)">
<svg width="450pt" height="177pt"
viewBox="0.00 0.00 450.00 176.64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(0.700935 0.700935) rotate(0) translate(4 248)">
<title>tx_overview</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-265 637,-265 637,5 -4,5"/>
<text text-anchor="middle" x="316" y="-8.4" font-family="Sans" font-size="14.00">Overview Of Transaction Spending</text>
<g id="graph2" class="cluster"><title>cluster_tx0</title>
<polygon fill="none" stroke="black" stroke-width="0" points="185,-154 185,-253 494,-253 494,-154 185,-154"/>
<polygon fill="white" stroke="none" points="-4,4 -4,-248 638,-248 638,4 -4,4"/>
<text text-anchor="middle" x="317" y="-7.8" font-family="Sans" font-size="14.00">Overview Of Transaction Spending</text>
<g id="clust1" class="cluster"><title>cluster_tx0</title>
<polygon fill="none" stroke="black" stroke-width="0" points="185.5,-143 185.5,-236 494.5,-236 494.5,-143 185.5,-143"/>
</g>
<g id="graph3" class="cluster"><title>cluster_outputs</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="193,-162 193,-245 486,-245 486,-162 193,-162"/>
<text text-anchor="middle" x="339.5" y="-228.4" font-family="Sans" font-size="14.00">Example Output Paying A Pubkey Script</text>
<g id="clust2" class="cluster"><title>cluster_outputs</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="193.5,-151 193.5,-228 486.5,-228 486.5,-151 193.5,-151"/>
<text text-anchor="middle" x="340" y="-212.8" font-family="Sans" font-size="14.00">Example Output Paying A Pubkey Script</text>
</g>
<g id="graph4" class="cluster"><title>cluster_tx1</title>
<polygon fill="none" stroke="black" stroke-width="0" points="104,-33 104,-132 476,-132 476,-33 104,-33"/>
<g id="clust3" class="cluster"><title>cluster_tx1</title>
<polygon fill="none" stroke="black" stroke-width="0" points="103.5,-31 103.5,-124 477.5,-124 477.5,-31 103.5,-31"/>
</g>
<g id="graph5" class="cluster"><title>cluster_inputs</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="112,-41 112,-124 468,-124 468,-41 112,-41"/>
<text text-anchor="middle" x="290" y="-49.4" font-family="Sans" font-size="14.00">Example Input Spending The Example Output</text>
<g id="clust4" class="cluster"><title>cluster_inputs</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="111.5,-39 111.5,-116 469.5,-116 469.5,-39 111.5,-39"/>
<text text-anchor="middle" x="290.5" y="-46.8" font-family="Sans" font-size="14.00">Example Input Spending The Example Output</text>
</g>
<!-- tx1_label -->
<g id="node1" class="node"><title>tx1_label</title>
<text text-anchor="middle" x="48" y="-99.4" font-family="Sans" font-size="14.00">Transaction</text>
<text text-anchor="middle" x="48" y="-82.4" font-family="Sans" font-size="14.00">1</text>
<text text-anchor="middle" x="47.5" y="-92.8" font-family="Sans" font-size="14.00">Transaction</text>
<text text-anchor="middle" x="47.5" y="-77.8" font-family="Sans" font-size="14.00">1</text>
</g>
<!-- tx0_label -->
<g id="node2" class="node"><title>tx0_label</title>
<text text-anchor="middle" x="48" y="-195.4" font-family="Sans" font-size="14.00">Transaction</text>
<text text-anchor="middle" x="48" y="-178.4" font-family="Sans" font-size="14.00">0</text>
<text text-anchor="middle" x="47.5" y="-181.8" font-family="Sans" font-size="14.00">Transaction</text>
<text text-anchor="middle" x="47.5" y="-166.8" font-family="Sans" font-size="14.00">0</text>
</g>
<!-- tx0_label&#45;&gt;tx1_label -->
<!-- txid -->
<g id="node17" class="node"><title>txid</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="216,-116 120,-116 120,-74 216,-74 216,-116"/>
<text text-anchor="middle" x="168" y="-99.4" font-family="Sans" font-size="14.00">Transaction</text>
<text text-anchor="middle" x="168" y="-82.4" font-family="Sans" font-size="14.00">Identifier</text>
<g id="node11" class="node"><title>txid</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="215,-108 120,-108 120,-70 215,-70 215,-108"/>
<text text-anchor="middle" x="167.5" y="-92.8" font-family="Sans" font-size="14.00">Transaction</text>
<text text-anchor="middle" x="167.5" y="-77.8" font-family="Sans" font-size="14.00">Identifier</text>
</g>
<!-- tx0_label&#45;&gt;txid -->
<g id="edge14" class="edge"><title>tx0_label&#45;&gt;txid</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M74.3345,-169.932C91.8413,-155.927 115.002,-137.399 133.912,-122.271"/>
<polygon fill="black" stroke="black" points="136.105,-124.998 141.727,-116.018 131.732,-119.532 136.105,-124.998"/>
<g id="edge5" class="edge"><title>tx0_label&#45;&gt;txid</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M72.3641,-158.974C90.3042,-145.967 114.715,-128.269 134.318,-114.057"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="136.626,-116.707 142.668,-108.003 132.517,-111.039 136.626,-116.707"/>
</g>
<!-- tx1_notshown -->
<g id="node4" class="node"><title>tx1_notshown</title>
<text text-anchor="middle" x="564" y="-107.9" font-family="Sans" font-size="14.00">Not Shown:</text>
<text text-anchor="middle" x="564" y="-90.9" font-family="Sans" font-size="14.00">Version, Outputs,</text>
<text text-anchor="middle" x="564" y="-73.9" font-family="Sans" font-size="14.00">Locktime</text>
<g id="node3" class="node"><title>tx1_notshown</title>
<text text-anchor="middle" x="565.5" y="-100.3" font-family="Sans" font-size="14.00">Not Shown:</text>
<text text-anchor="middle" x="565.5" y="-85.3" font-family="Sans" font-size="14.00">Version, Outputs,</text>
<text text-anchor="middle" x="565.5" y="-70.3" font-family="Sans" font-size="14.00">Locktime</text>
</g>
<!-- tx0_notshown -->
<g id="node5" class="node"><title>tx0_notshown</title>
<text text-anchor="middle" x="564" y="-203.9" font-family="Sans" font-size="14.00">Not Shown:</text>
<text text-anchor="middle" x="564" y="-186.9" font-family="Sans" font-size="14.00">Version, Inputs,</text>
<text text-anchor="middle" x="564" y="-169.9" font-family="Sans" font-size="14.00">Locktime</text>
<g id="node4" class="node"><title>tx0_notshown</title>
<text text-anchor="middle" x="565.5" y="-189.3" font-family="Sans" font-size="14.00">Not Shown:</text>
<text text-anchor="middle" x="565.5" y="-174.3" font-family="Sans" font-size="14.00">Version, Inputs,</text>
<text text-anchor="middle" x="565.5" y="-159.3" font-family="Sans" font-size="14.00">Locktime</text>
</g>
<!-- tx0_notshown&#45;&gt;tx1_notshown -->
<!-- pubkey_script -->
<g id="node9" class="node"><title>pubkey_script</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="451,-212 385,-212 385,-170 451,-170 451,-212"/>
<text text-anchor="middle" x="418" y="-195.4" font-family="Sans" font-size="14.00">Pubkey</text>
<text text-anchor="middle" x="418" y="-178.4" font-family="Sans" font-size="14.00">Script</text>
<g id="node5" class="node"><title>pubkey_script</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="453,-197 386,-197 386,-159 453,-159 453,-197"/>
<text text-anchor="middle" x="419.5" y="-181.8" font-family="Sans" font-size="14.00">Pubkey</text>
<text text-anchor="middle" x="419.5" y="-166.8" font-family="Sans" font-size="14.00">Script</text>
</g>
<!-- signature_script -->
<g id="node16" class="node"><title>signature_script</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="460,-116 376,-116 376,-74 460,-74 460,-116"/>
<text text-anchor="middle" x="418" y="-99.4" font-family="Sans" font-size="14.00">Signature</text>
<text text-anchor="middle" x="418" y="-82.4" font-family="Sans" font-size="14.00">Script</text>
<g id="node10" class="node"><title>signature_script</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="461.5,-108 377.5,-108 377.5,-70 461.5,-70 461.5,-108"/>
<text text-anchor="middle" x="419.5" y="-92.8" font-family="Sans" font-size="14.00">Signature</text>
<text text-anchor="middle" x="419.5" y="-77.8" font-family="Sans" font-size="14.00">Script</text>
</g>
<!-- pubkey_script&#45;&gt;signature_script -->
<g id="edge10" class="edge"><title>pubkey_script&#45;&gt;signature_script</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M418,-169.694C418,-157.017 418,-140.697 418,-126.547"/>
<polygon fill="black" stroke="black" points="421.5,-126.246 418,-116.246 414.5,-126.246 421.5,-126.246"/>
<g id="edge3" class="edge"><title>pubkey_script&#45;&gt;signature_script</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M419.5,-158.974C419.5,-147.192 419.5,-131.561 419.5,-118.158"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="423,-118.003 419.5,-108.003 416,-118.003 423,-118.003"/>
</g>
<!-- amount -->
<g id="node10" class="node"><title>amount</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="380,-212 298,-212 298,-170 380,-170 380,-212"/>
<text text-anchor="middle" x="339" y="-195.4" font-family="Sans" font-size="14.00">Amount</text>
<text text-anchor="middle" x="339" y="-178.4" font-family="Sans" font-size="14.00">(satoshis)</text>
<g id="node6" class="node"><title>amount</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="375,-197 304,-197 304,-159 375,-159 375,-197"/>
<text text-anchor="middle" x="339.5" y="-181.8" font-family="Sans" font-size="14.00">Amount</text>
<text text-anchor="middle" x="339.5" y="-166.8" font-family="Sans" font-size="14.00">(duffs)</text>
</g>
<!-- output0_label -->
<g id="node11" class="node"><title>output0_label</title>
<text text-anchor="middle" x="253" y="-195.4" font-family="Sans" font-size="14.00">Output 0</text>
<text text-anchor="middle" x="253" y="-178.4" font-family="Sans" font-size="14.00">(Implied)</text>
<g id="node7" class="node"><title>output0_label</title>
<text text-anchor="middle" x="252.5" y="-181.8" font-family="Sans" font-size="14.00">Output 0</text>
<text text-anchor="middle" x="252.5" y="-166.8" font-family="Sans" font-size="14.00">(Implied)</text>
</g>
<!-- index -->
<g id="node14" class="node"><title>index</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="286,-116 220,-116 220,-74 286,-74 286,-116"/>
<text text-anchor="middle" x="253" y="-99.4" font-family="Sans" font-size="14.00">Output</text>
<text text-anchor="middle" x="253" y="-82.4" font-family="Sans" font-size="14.00">Index</text>
<g id="node8" class="node"><title>index</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="285.5,-108 219.5,-108 219.5,-70 285.5,-70 285.5,-108"/>
<text text-anchor="middle" x="252.5" y="-92.8" font-family="Sans" font-size="14.00">Output</text>
<text text-anchor="middle" x="252.5" y="-77.8" font-family="Sans" font-size="14.00">Index</text>
</g>
<!-- output0_label&#45;&gt;index -->
<g id="edge12" class="edge"><title>output0_label&#45;&gt;index</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M253,-169.694C253,-157.017 253,-140.697 253,-126.547"/>
<polygon fill="black" stroke="black" points="256.5,-126.246 253,-116.246 249.5,-126.246 256.5,-126.246"/>
<g id="edge4" class="edge"><title>output0_label&#45;&gt;index</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M252.5,-158.974C252.5,-147.192 252.5,-131.561 252.5,-118.158"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="256,-118.003 252.5,-108.003 249,-118.003 256,-118.003"/>
</g>
<!-- sequence -->
<g id="node15" class="node"><title>sequence</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="372,-116 290,-116 290,-74 372,-74 372,-116"/>
<text text-anchor="middle" x="331" y="-99.4" font-family="Sans" font-size="14.00">Sequence</text>
<text text-anchor="middle" x="331" y="-82.4" font-family="Sans" font-size="14.00">Number</text>
<g id="node9" class="node"><title>sequence</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="373,-108 290,-108 290,-70 373,-70 373,-108"/>
<text text-anchor="middle" x="331.5" y="-92.8" font-family="Sans" font-size="14.00">Sequence</text>
<text text-anchor="middle" x="331.5" y="-77.8" font-family="Sans" font-size="14.00">Number</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Before After
Before After