developers/zcash-zf-frost-dag.html

243 lines
17 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf-frost DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="489pt" height="1109pt"
viewBox="0.00 0.00 489.00 1108.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1104.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1104.5 485,-1104.5 485,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,0 0,-253 237,-253 237,0 0,0"/>
<text text-anchor="middle" x="118.5" y="-237.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: IETF&#45;ready FROST</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="6.5,-261 6.5,-867 481,-867 481,-261 6.5,-261"/>
<text text-anchor="middle" x="243.75" y="-851.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zcon&#45;ready FROST</text>
</g>
<!-- ZcashFoundation/frost#47 -->
<g id="node1" class="node open">
<title>ZcashFoundation/frost#47</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/47" xlink:title="ZcashFoundation/frost#47&#10;Note in Ristretto255 near&#10;PublicKeyPackage where we&#10;impl&#10;`derive_group_info()` for&#10;v05" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="229,-222 8,-222 8,-124 229,-124 229,-222"/>
<text text-anchor="middle" x="118.5" y="-206.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#47</text>
<text text-anchor="middle" x="118.5" y="-191.8" font-family="Times,serif" font-size="14.00" fill="#000000">Note in Ristretto255 near</text>
<text text-anchor="middle" x="118.5" y="-176.8" font-family="Times,serif" font-size="14.00" fill="#000000">PublicKeyPackage where we</text>
<text text-anchor="middle" x="118.5" y="-161.8" font-family="Times,serif" font-size="14.00" fill="#000000">impl</text>
<text text-anchor="middle" x="118.5" y="-146.8" font-family="Times,serif" font-size="14.00" fill="#000000">`derive_group_info()` for</text>
<text text-anchor="middle" x="118.5" y="-131.8" font-family="Times,serif" font-size="14.00" fill="#000000">v05</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#59 -->
<g id="node2" class="node open">
<title>ZcashFoundation/frost#59</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/59" xlink:title="ZcashFoundation/frost#59&#10;Rename&#10;`frost::keys::{Secret,&#10;Public}`to indicate&#10;signing participants&#39;&#10;shares, not full keys." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-106 14.5,-106 14.5,-8 222.5,-8 222.5,-106"/>
<text text-anchor="middle" x="118.5" y="-90.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#59</text>
<text text-anchor="middle" x="118.5" y="-75.8" font-family="Times,serif" font-size="14.00" fill="#000000">Rename</text>
<text text-anchor="middle" x="118.5" y="-60.8" font-family="Times,serif" font-size="14.00" fill="#000000">`frost::keys::{Secret,</text>
<text text-anchor="middle" x="118.5" y="-45.8" font-family="Times,serif" font-size="14.00" fill="#000000">Public}`to indicate</text>
<text text-anchor="middle" x="118.5" y="-30.8" font-family="Times,serif" font-size="14.00" fill="#000000">signing participants&#39;</text>
<text text-anchor="middle" x="118.5" y="-15.8" font-family="Times,serif" font-size="14.00" fill="#000000">shares, not full keys.</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#35 -->
<g id="node3" class="node open">
<title>ZcashFoundation/frost#35</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/35" xlink:title="ZcashFoundation/frost#35&#10;frost&#45;core: Implement the&#10;generic DKG" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-835.5 14.5,-835.5 14.5,-782.5 222.5,-782.5 222.5,-835.5"/>
<text text-anchor="middle" x="118.5" y="-820.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#35</text>
<text text-anchor="middle" x="118.5" y="-805.3" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;core: Implement the</text>
<text text-anchor="middle" x="118.5" y="-790.3" font-family="Times,serif" font-size="14.00" fill="#000000">generic DKG</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#63 -->
<g id="node4" class="node open">
<title>ZcashFoundation/frost#63</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/63" xlink:title="ZcashFoundation/frost#63&#10;frost&#45;ristretto255:&#10;implement `frost&#45;core`&#39;s&#10;DKG concretely" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="473,-836 265,-836 265,-768 473,-768 473,-836"/>
<text text-anchor="middle" x="369" y="-820.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#63</text>
<text text-anchor="middle" x="369" y="-805.8" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;ristretto255:</text>
<text text-anchor="middle" x="369" y="-790.8" font-family="Times,serif" font-size="14.00" fill="#000000">implement `frost&#45;core`&#39;s</text>
<text text-anchor="middle" x="369" y="-775.8" font-family="Times,serif" font-size="14.00" fill="#000000">DKG concretely</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#35&#45;&gt;ZcashFoundation/frost#63 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/frost#35&#45;&gt;ZcashFoundation/frost#63</title>
<path fill="none" stroke="#000000" d="M222.56,-806.09C233.15,-805.8 243.96,-805.49 254.65,-805.2"/>
<polygon fill="#000000" stroke="#000000" points="254.9634,-808.6926 264.86,-804.91 254.7646,-801.6954 254.9634,-808.6926"/>
</g>
<!-- ZcashFoundation/frost#95 -->
<g id="node5" class="node open">
<title>ZcashFoundation/frost#95</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/95" xlink:title="ZcashFoundation/frost#95&#10;Flesh out all rustdoc in&#10;frost&#45;p256 public API" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-764.5 14.5,-764.5 14.5,-711.5 222.5,-711.5 222.5,-764.5"/>
<text text-anchor="middle" x="118.5" y="-749.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#95</text>
<text text-anchor="middle" x="118.5" y="-734.3" font-family="Times,serif" font-size="14.00" fill="#000000">Flesh out all rustdoc in</text>
<text text-anchor="middle" x="118.5" y="-719.3" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;p256 public API</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#79 -->
<g id="node6" class="node open">
<title>ZcashFoundation/frost#79</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/79" xlink:title="ZcashFoundation/frost#79&#10;Publish `frost&#45;` crates" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="473,-678 265,-678 265,-640 473,-640 473,-678"/>
<text text-anchor="middle" x="369" y="-662.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#79</text>
<text text-anchor="middle" x="369" y="-647.8" font-family="Times,serif" font-size="14.00" fill="#000000">Publish `frost&#45;` crates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#95&#45;&gt;ZcashFoundation/frost#79 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/frost#95&#45;&gt;ZcashFoundation/frost#79</title>
<path fill="none" stroke="#000000" d="M206.57,-711.46C216.84,-708.3 227.16,-705.1 237,-702 258.04,-695.38 280.9,-688 301.6,-681.24"/>
<polygon fill="#000000" stroke="#000000" points="302.8298,-684.5204 311.25,-678.09 300.6575,-677.866 302.8298,-684.5204"/>
</g>
<!-- ZcashFoundation/frost#55 -->
<g id="node7" class="node open">
<title>ZcashFoundation/frost#55</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/55" xlink:title="ZcashFoundation/frost#55&#10;Rename participant&#10;indexes to participant&#10;identifiers or IDs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-693 14.5,-693 14.5,-625 222.5,-625 222.5,-693"/>
<text text-anchor="middle" x="118.5" y="-677.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#55</text>
<text text-anchor="middle" x="118.5" y="-662.8" font-family="Times,serif" font-size="14.00" fill="#000000">Rename participant</text>
<text text-anchor="middle" x="118.5" y="-647.8" font-family="Times,serif" font-size="14.00" fill="#000000">indexes to participant</text>
<text text-anchor="middle" x="118.5" y="-632.8" font-family="Times,serif" font-size="14.00" fill="#000000">identifiers or IDs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#55&#45;&gt;ZcashFoundation/frost#79 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/frost#55&#45;&gt;ZcashFoundation/frost#79</title>
<path fill="none" stroke="#000000" d="M222.56,-659C233.15,-659 243.96,-659 254.65,-659"/>
<polygon fill="#000000" stroke="#000000" points="254.86,-662.5001 264.86,-659 254.86,-655.5001 254.86,-662.5001"/>
</g>
<!-- ZcashFoundation/frost#61 -->
<g id="node8" class="node open">
<title>ZcashFoundation/frost#61</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/61" xlink:title="ZcashFoundation/frost#61&#10;Flesh out all rustdoc in&#10;`frost&#45;ristretto255`&#10;public API" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-607 14.5,-607 14.5,-539 222.5,-539 222.5,-607"/>
<text text-anchor="middle" x="118.5" y="-591.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#61</text>
<text text-anchor="middle" x="118.5" y="-576.8" font-family="Times,serif" font-size="14.00" fill="#000000">Flesh out all rustdoc in</text>
<text text-anchor="middle" x="118.5" y="-561.8" font-family="Times,serif" font-size="14.00" fill="#000000">`frost&#45;ristretto255`</text>
<text text-anchor="middle" x="118.5" y="-546.8" font-family="Times,serif" font-size="14.00" fill="#000000">public API</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#61&#45;&gt;ZcashFoundation/frost#79 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/frost#61&#45;&gt;ZcashFoundation/frost#79</title>
<path fill="none" stroke="#000000" d="M217.86,-607.11C246.69,-617.01 277.43,-627.56 303.61,-636.55"/>
<polygon fill="#000000" stroke="#000000" points="302.8154,-639.9775 313.41,-639.91 305.0857,-633.3559 302.8154,-639.9775"/>
</g>
<!-- ZcashFoundation/frost#81 -->
<g id="node9" class="node open">
<title>ZcashFoundation/frost#81</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/81" xlink:title="ZcashFoundation/frost#81&#10;Start rerandomized repo" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-521 14.5,-521 14.5,-483 222.5,-483 222.5,-521"/>
<text text-anchor="middle" x="118.5" y="-505.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#81</text>
<text text-anchor="middle" x="118.5" y="-490.8" font-family="Times,serif" font-size="14.00" fill="#000000">Start rerandomized repo</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#71 -->
<g id="node10" class="node open">
<title>ZcashFoundation/frost#71</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/71" xlink:title="ZcashFoundation/frost#71&#10;Add Ed448 support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-465 14.5,-465 14.5,-427 222.5,-427 222.5,-465"/>
<text text-anchor="middle" x="118.5" y="-449.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#71</text>
<text text-anchor="middle" x="118.5" y="-434.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Ed448 support</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#74 -->
<g id="node11" class="node open">
<title>ZcashFoundation/frost#74</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/74" xlink:title="ZcashFoundation/frost#74&#10;Port fresh keygen test&#10;from `frost&#45;core` to&#10;`frost&#45;ristretto` and&#10;other dependent crates" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-408.5 14.5,-408.5 14.5,-325.5 222.5,-325.5 222.5,-408.5"/>
<text text-anchor="middle" x="118.5" y="-393.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#74</text>
<text text-anchor="middle" x="118.5" y="-378.3" font-family="Times,serif" font-size="14.00" fill="#000000">Port fresh keygen test</text>
<text text-anchor="middle" x="118.5" y="-363.3" font-family="Times,serif" font-size="14.00" fill="#000000">from `frost&#45;core` to</text>
<text text-anchor="middle" x="118.5" y="-348.3" font-family="Times,serif" font-size="14.00" fill="#000000">`frost&#45;ristretto` and</text>
<text text-anchor="middle" x="118.5" y="-333.3" font-family="Times,serif" font-size="14.00" fill="#000000">other dependent crates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#70 -->
<g id="node12" class="node open">
<title>ZcashFoundation/frost#70</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/70" xlink:title="ZcashFoundation/frost#70&#10;Add Ed25519 support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-307 14.5,-307 14.5,-269 222.5,-269 222.5,-307"/>
<text text-anchor="middle" x="118.5" y="-291.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#70</text>
<text text-anchor="middle" x="118.5" y="-276.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Ed25519 support</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#39 -->
<g id="node13" class="node open">
<title>ZcashFoundation/frost#39</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/39" xlink:title="ZcashFoundation/frost#39&#10;Migrate/port `redjubjub`&#10;to frost&#45;core / FROST&#10;spec v05+" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-943 14.5,-943 14.5,-875 222.5,-875 222.5,-943"/>
<text text-anchor="middle" x="118.5" y="-927.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#39</text>
<text text-anchor="middle" x="118.5" y="-912.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redjubjub`</text>
<text text-anchor="middle" x="118.5" y="-897.8" font-family="Times,serif" font-size="14.00" fill="#000000">to frost&#45;core / FROST</text>
<text text-anchor="middle" x="118.5" y="-882.8" font-family="Times,serif" font-size="14.00" fill="#000000">spec v05+</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#40 -->
<g id="node14" class="node open">
<title>ZcashFoundation/frost#40</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/40" xlink:title="ZcashFoundation/frost#40&#10;Migrate/port `redpallas`&#10;to frost&#45;core / FROST&#10;spec v05+" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-1029 14.5,-1029 14.5,-961 222.5,-961 222.5,-1029"/>
<text text-anchor="middle" x="118.5" y="-1013.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#40</text>
<text text-anchor="middle" x="118.5" y="-998.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redpallas`</text>
<text text-anchor="middle" x="118.5" y="-983.8" font-family="Times,serif" font-size="14.00" fill="#000000">to frost&#45;core / FROST</text>
<text text-anchor="middle" x="118.5" y="-968.8" font-family="Times,serif" font-size="14.00" fill="#000000">spec v05+</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#86 -->
<g id="node15" class="node open">
<title>ZcashFoundation/frost#86</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/86" xlink:title="ZcashFoundation/frost#86&#10;frost&#45;core: update for&#10;spec version 6&amp;7" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-1100.5 14.5,-1100.5 14.5,-1047.5 222.5,-1047.5 222.5,-1100.5"/>
<text text-anchor="middle" x="118.5" y="-1085.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#86</text>
<text text-anchor="middle" x="118.5" y="-1070.3" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;core: update for</text>
<text text-anchor="middle" x="118.5" y="-1055.3" font-family="Times,serif" font-size="14.00" fill="#000000">spec version 6&amp;7</text>
</a>
</g>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>