developers/zcash-zf-frost-dag.html

243 lines
17 KiB
HTML
Raw Normal View History

<!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="1102pt"
viewBox="0.00 0.00 489.00 1101.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 1097.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1097.5 485,-1097.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,-325 6.5,-860 481,-860 481,-325 6.5,-325"/>
<text text-anchor="middle" x="243.75" y="-844.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,-828.5 14.5,-828.5 14.5,-775.5 222.5,-775.5 222.5,-828.5"/>
<text text-anchor="middle" x="118.5" y="-813.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#35</text>
<text text-anchor="middle" x="118.5" y="-798.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="-783.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,-829 265,-829 265,-761 473,-761 473,-829"/>
<text text-anchor="middle" x="369" y="-813.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#63</text>
<text text-anchor="middle" x="369" y="-798.8" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;ristretto255:</text>
<text text-anchor="middle" x="369" y="-783.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="-768.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,-799.09C233.15,-798.8 243.96,-798.49 254.65,-798.2"/>
<polygon fill="#000000" stroke="#000000" points="254.9634,-801.6926 264.86,-797.91 254.7646,-794.6954 254.9634,-801.6926"/>
</g>
<!-- ZcashFoundation/frost#79 -->
<g id="node5" class="node open">
<title>ZcashFoundation/frost#79</title>
<g id="a_node5"><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,-656 265,-656 265,-618 473,-618 473,-656"/>
<text text-anchor="middle" x="369" y="-640.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#79</text>
<text text-anchor="middle" x="369" y="-625.8" font-family="Times,serif" font-size="14.00" fill="#000000">Publish `frost&#45;` crates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#55 -->
<g id="node6" class="node open">
<title>ZcashFoundation/frost#55</title>
<g id="a_node6"><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,-757 14.5,-757 14.5,-689 222.5,-689 222.5,-757"/>
<text text-anchor="middle" x="118.5" y="-741.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#55</text>
<text text-anchor="middle" x="118.5" y="-726.8" font-family="Times,serif" font-size="14.00" fill="#000000">Rename participant</text>
<text text-anchor="middle" x="118.5" y="-711.8" font-family="Times,serif" font-size="14.00" fill="#000000">indexes to participant</text>
<text text-anchor="middle" x="118.5" y="-696.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="edge2" class="edge">
<title>ZcashFoundation/frost#55&#45;&gt;ZcashFoundation/frost#79</title>
<path fill="none" stroke="#000000" d="M217.86,-688.89C246.69,-678.99 277.43,-668.44 303.61,-659.45"/>
<polygon fill="#000000" stroke="#000000" points="305.0857,-662.6441 313.41,-656.09 302.8154,-656.0225 305.0857,-662.6441"/>
</g>
<!-- ZcashFoundation/frost#61 -->
<g id="node7" class="node open">
<title>ZcashFoundation/frost#61</title>
<g id="a_node7"><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,-671 14.5,-671 14.5,-603 222.5,-603 222.5,-671"/>
<text text-anchor="middle" x="118.5" y="-655.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#61</text>
<text text-anchor="middle" x="118.5" y="-640.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="-625.8" font-family="Times,serif" font-size="14.00" fill="#000000">`frost&#45;ristretto255`</text>
<text text-anchor="middle" x="118.5" y="-610.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="edge3" class="edge">
<title>ZcashFoundation/frost#61&#45;&gt;ZcashFoundation/frost#79</title>
<path fill="none" stroke="#000000" d="M222.56,-637C233.15,-637 243.96,-637 254.65,-637"/>
<polygon fill="#000000" stroke="#000000" points="254.86,-640.5001 264.86,-637 254.86,-633.5001 254.86,-640.5001"/>
</g>
<!-- ZcashFoundation/frost#81 -->
<g id="node8" class="node open">
<title>ZcashFoundation/frost#81</title>
<g id="a_node8"><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,-585 14.5,-585 14.5,-547 222.5,-547 222.5,-585"/>
<text text-anchor="middle" x="118.5" y="-569.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#81</text>
<text text-anchor="middle" x="118.5" y="-554.8" font-family="Times,serif" font-size="14.00" fill="#000000">Start rerandomized repo</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#71 -->
<g id="node9" class="node open">
<title>ZcashFoundation/frost#71</title>
<g id="a_node9"><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,-529 14.5,-529 14.5,-491 222.5,-491 222.5,-529"/>
<text text-anchor="middle" x="118.5" y="-513.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#71</text>
<text text-anchor="middle" x="118.5" y="-498.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Ed448 support</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#74 -->
<g id="node10" class="node open">
<title>ZcashFoundation/frost#74</title>
<g id="a_node10"><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,-472.5 14.5,-472.5 14.5,-389.5 222.5,-389.5 222.5,-472.5"/>
<text text-anchor="middle" x="118.5" y="-457.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#74</text>
<text text-anchor="middle" x="118.5" y="-442.3" font-family="Times,serif" font-size="14.00" fill="#000000">Port fresh keygen test</text>
<text text-anchor="middle" x="118.5" y="-427.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="-412.3" font-family="Times,serif" font-size="14.00" fill="#000000">`frost&#45;ristretto` and</text>
<text text-anchor="middle" x="118.5" y="-397.3" font-family="Times,serif" font-size="14.00" fill="#000000">other dependent crates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#70 -->
<g id="node11" class="node open">
<title>ZcashFoundation/frost#70</title>
<g id="a_node11"><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,-371 14.5,-371 14.5,-333 222.5,-333 222.5,-371"/>
<text text-anchor="middle" x="118.5" y="-355.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#70</text>
<text text-anchor="middle" x="118.5" y="-340.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Ed25519 support</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#39 -->
<g id="node12" class="node open">
<title>ZcashFoundation/frost#39</title>
<g id="a_node12"><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,-936 14.5,-936 14.5,-868 222.5,-868 222.5,-936"/>
<text text-anchor="middle" x="118.5" y="-920.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#39</text>
<text text-anchor="middle" x="118.5" y="-905.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redjubjub`</text>
<text text-anchor="middle" x="118.5" y="-890.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="-875.8" font-family="Times,serif" font-size="14.00" fill="#000000">spec v05+</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#40 -->
<g id="node13" class="node open">
<title>ZcashFoundation/frost#40</title>
<g id="a_node13"><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,-1022 14.5,-1022 14.5,-954 222.5,-954 222.5,-1022"/>
<text text-anchor="middle" x="118.5" y="-1006.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#40</text>
<text text-anchor="middle" x="118.5" y="-991.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redpallas`</text>
<text text-anchor="middle" x="118.5" y="-976.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="-961.8" font-family="Times,serif" font-size="14.00" fill="#000000">spec v05+</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#86 -->
<g id="node14" class="node open">
<title>ZcashFoundation/frost#86</title>
<g id="a_node14"><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,-1093.5 14.5,-1093.5 14.5,-1040.5 222.5,-1040.5 222.5,-1093.5"/>
<text text-anchor="middle" x="118.5" y="-1078.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#86</text>
<text text-anchor="middle" x="118.5" y="-1063.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="-1048.3" font-family="Times,serif" font-size="14.00" fill="#000000">spec version 6&amp;7</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#95 -->
<g id="node15" class="node open">
<title>ZcashFoundation/frost#95</title>
<g id="a_node15"><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,-314.5 14.5,-314.5 14.5,-261.5 222.5,-261.5 222.5,-314.5"/>
<text text-anchor="middle" x="118.5" y="-299.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#95</text>
<text text-anchor="middle" x="118.5" y="-284.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="-269.3" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;p256 public API</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#95&#45;&gt;ZcashFoundation/frost#79 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/frost#95&#45;&gt;ZcashFoundation/frost#79</title>
<path fill="none" stroke="#000000" d="M222.67,-310.65C227.77,-313.68 232.6,-317.11 237,-321 325.26,-398.94 355.96,-545.4 365.34,-607.73"/>
<polygon fill="#000000" stroke="#000000" points="361.8809,-608.2655 366.76,-617.67 368.8105,-607.2755 361.8809,-608.2655"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>