PrivateSend P2P messages

- Add diagram of message exchange showing typical PrivateSend session
This commit is contained in:
thephez 2017-11-09 12:38:34 -05:00
parent 4e4255c2c1
commit 1d999fa23c
3 changed files with 128 additions and 0 deletions

View file

@ -1514,6 +1514,13 @@ The following network messages all help control the PrivateSend (formerly
DarkSend) coin mixing features built in to Dash and facilitated by the
masternode network.
Since the messages are all related to a single process, this diagram shows them
sequentially numbered. The `dssu` message (not shown) is sent by the
masternode in conjunction with some responses. For additional details, refer to
the Developer Guide [PrivateSend section](developer-guide#privatesend).
![Overview Of P2P Protocol PrivateSend Request And Reply Messages](/img/dev/en-p2p-privatesend-messages.svg)
{% endautocrossref %}
#### dsa

View file

@ -0,0 +1,33 @@
digraph {
size="6.25";
rankdir=LR
//nodesep=0.05;
//ranksep=0.1;
//splines="false"
edge [ penwidth = 1.75, fontname="Sans" ] //,style="dashed", dir="none" ]
node [ penwidth = 1.75, shape = "box", fontname="Sans", ]
graph [ penwidth = 1.75, fontname="Sans" ]
"Node" -> Masternode [ label="1. dsa", style="dashed" ];
Masternode -> "Node" [ label="2. dsq" ];
"Node" -> Masternode [ label="3. dsi", style="dashed" ];
Masternode -> "Node" [ label="4. dsf" ];
"Node" -> Masternode [ label="5. dss", style="dashed" ];
Masternode -> "Node" [ label="6. dsc" ];
// Relay to network
Masternode -> "Network" [ label="7. dstx" ];
{
node [ shape = "none" ];
label1 [ label = "PrivateSend\nClients" ];
label2 [ label = "Selected Mixing\nNode" ];
label3 [ label = "Transaction\nBroadcast" ];
label1 -> label2 -> label3 [style = "invis" ];
}
label = "Overview Of P2P Protocol PrivateSend Request and Reply Messages"
}

View file

@ -0,0 +1,88 @@
<?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.38.0 (20140413.2041)
-->
<!-- Title: %3 Pages: 1 -->
<svg width="450pt" height="217pt"
viewBox="0.00 0.00 450.00 217.48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(0.910931 0.910931) rotate(0) translate(4 234.745)">
<title>%3</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-234.745 490,-234.745 490,4 -4,4"/>
<text text-anchor="middle" x="243" y="-7.8" font-family="Sans" font-size="14.00">Overview Of P2P Protocol PrivateSend Request and Reply Messages</text>
<!-- Node -->
<g id="node1" class="node"><title>Node</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="79,-104.745 25,-104.745 25,-68.745 79,-68.745 79,-104.745"/>
<text text-anchor="middle" x="52" y="-83.045" font-family="Sans" font-size="14.00">Node</text>
</g>
<!-- Masternode -->
<g id="node2" class="node"><title>Masternode</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="292,-104.745 194,-104.745 194,-68.745 292,-68.745 292,-104.745"/>
<text text-anchor="middle" x="243" y="-83.045" font-family="Sans" font-size="14.00">Masternode</text>
</g>
<!-- Node&#45;&gt;Masternode -->
<g id="edge1" class="edge"><title>Node&#45;&gt;Masternode</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M63.4682,-104.842C74.9045,-122.607 95.0378,-148.61 120.5,-159.745 137.603,-167.224 145.106,-166.52 162.5,-159.745 186.658,-150.336 207.925,-129.774 222.37,-112.863"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="225.252,-114.868 228.895,-104.919 219.843,-110.425 225.252,-114.868"/>
<text text-anchor="middle" x="141.5" y="-169.545" font-family="Sans" font-size="14.00">1. dsa</text>
</g>
<!-- Node&#45;&gt;Masternode -->
<g id="edge3" class="edge"><title>Node&#45;&gt;Masternode</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M79.0899,-103.999C91.1582,-110.978 106.008,-118.211 120.5,-121.745 147.866,-128.418 178.325,-119.608 201.9,-109.159"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="203.66,-112.2 211.227,-104.783 200.687,-105.862 203.66,-112.2"/>
<text text-anchor="middle" x="141.5" y="-128.545" font-family="Sans" font-size="14.00">3. dsi</text>
</g>
<!-- Node&#45;&gt;Masternode -->
<g id="edge5" class="edge"><title>Node&#45;&gt;Masternode</title>
<path fill="none" stroke="black" stroke-width="1.75" stroke-dasharray="5,2" d="M79.2796,-86.745C106.144,-86.745 148.758,-86.745 183.638,-86.745"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="183.719,-90.2451 193.719,-86.745 183.719,-83.2451 183.719,-90.2451"/>
<text text-anchor="middle" x="141.5" y="-90.545" font-family="Sans" font-size="14.00">5. dss</text>
</g>
<!-- Masternode&#45;&gt;Node -->
<g id="edge2" class="edge"><title>Masternode&#45;&gt;Node</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M193.863,-73.4188C171.568,-68.8388 144.709,-65.5726 120.5,-68.745 110.128,-70.1042 99.083,-72.5907 88.9958,-75.2907"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="87.963,-71.9453 79.2882,-78.0279 89.8628,-78.6826 87.963,-71.9453"/>
<text text-anchor="middle" x="141.5" y="-72.545" font-family="Sans" font-size="14.00">2. dsq</text>
</g>
<!-- Masternode&#45;&gt;Node -->
<g id="edge4" class="edge"><title>Masternode&#45;&gt;Node</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M213.74,-68.5401C189.253,-55.024 152.782,-40.2826 120.5,-48.745 108.829,-51.8045 97.0476,-57.3869 86.667,-63.3479"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="84.6846,-60.4567 77.9432,-68.6301 88.3102,-66.4446 84.6846,-60.4567"/>
<text text-anchor="middle" x="141.5" y="-52.545" font-family="Sans" font-size="14.00">4. dsf</text>
</g>
<!-- Masternode&#45;&gt;Node -->
<g id="edge6" class="edge"><title>Masternode&#45;&gt;Node</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M224.688,-68.6519C209.758,-54.4504 186.816,-35.7822 162.5,-27.745 144.776,-21.8869 137.976,-21.1841 120.5,-27.745 102.52,-34.4952 86.1914,-48.4451 74.0989,-61.0861"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="71.2956,-58.9657 67.1402,-68.7116 76.4662,-63.6842 71.2956,-58.9657"/>
<text text-anchor="middle" x="141.5" y="-31.545" font-family="Sans" font-size="14.00">6. dsc</text>
</g>
<!-- Network -->
<g id="node3" class="node"><title>Network</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="475.5,-104.745 398.5,-104.745 398.5,-68.745 475.5,-68.745 475.5,-104.745"/>
<text text-anchor="middle" x="437" y="-83.045" font-family="Sans" font-size="14.00">Network</text>
</g>
<!-- Masternode&#45;&gt;Network -->
<g id="edge7" class="edge"><title>Masternode&#45;&gt;Network</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M292.45,-86.745C321.736,-86.745 358.921,-86.745 388.106,-86.745"/>
<polygon fill="black" stroke="black" stroke-width="1.75" points="388.468,-90.2451 398.468,-86.745 388.468,-83.2451 388.468,-90.2451"/>
<text text-anchor="middle" x="347.5" y="-90.545" font-family="Sans" font-size="14.00">7. dstx</text>
</g>
<!-- label1 -->
<g id="node4" class="node"><title>label1</title>
<text text-anchor="middle" x="52" y="-215.545" font-family="Sans" font-size="14.00">PrivateSend</text>
<text text-anchor="middle" x="52" y="-200.545" font-family="Sans" font-size="14.00">Clients</text>
</g>
<!-- label2 -->
<g id="node5" class="node"><title>label2</title>
<text text-anchor="middle" x="243" y="-215.545" font-family="Sans" font-size="14.00">Selected Mixing</text>
<text text-anchor="middle" x="243" y="-200.545" font-family="Sans" font-size="14.00">Node</text>
</g>
<!-- label1&#45;&gt;label2 -->
<!-- label3 -->
<g id="node6" class="node"><title>label3</title>
<text text-anchor="middle" x="437" y="-215.545" font-family="Sans" font-size="14.00">Transaction</text>
<text text-anchor="middle" x="437" y="-200.545" font-family="Sans" font-size="14.00">Broadcast</text>
</g>
<!-- label2&#45;&gt;label3 -->
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB