developers/zcash-zf-frost-dag.html

278 lines
19 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="747pt" height="1019pt"
viewBox="0.00 0.00 747.00 1019.00" 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 1015)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1015 743,-1015 743,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="4.5,0 4.5,-219 228.5,-219 228.5,0 4.5,0"/>
<text text-anchor="middle" x="116.5" y="-203.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Remaining Curves</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="4.5,-227 4.5,-334 481.5,-334 481.5,-227 4.5,-227"/>
<text text-anchor="middle" x="243" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: DKG</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="0,-342 0,-535 739,-535 739,-342 0,-342"/>
<text text-anchor="middle" x="369.5" y="-519.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Re&#45;randomizable FROST</text>
</g>
<g id="clust4" class="cluster">
<title>cluster_3</title>
<polygon fill="none" stroke="#0000ff" points="0,-543 0,-778 233,-778 233,-543 0,-543"/>
<text text-anchor="middle" x="116.5" y="-762.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: v9/v10</text>
</g>
<!-- ZcashFoundation/frost#70 -->
<g id="node1" class="node open">
<title>ZcashFoundation/frost#70</title>
<g id="a_node1"><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="220.5,-188 12.5,-188 12.5,-150 220.5,-150 220.5,-188"/>
<text text-anchor="middle" x="116.5" y="-172.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#70</text>
<text text-anchor="middle" x="116.5" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Ed25519 support</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#19 -->
<g id="node2" class="node open">
<title>ZcashFoundation/frost#19</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/19" xlink:title="ZcashFoundation/frost#19&#10;`frost&#45;secp256k1`:&#10;implement FROST on&#10;Secp256k1 curve" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="220.5,-132 12.5,-132 12.5,-64 220.5,-64 220.5,-132"/>
<text text-anchor="middle" x="116.5" y="-116.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#19</text>
<text text-anchor="middle" x="116.5" y="-101.8" font-family="Times,serif" font-size="14.00" fill="#000000">`frost&#45;secp256k1`:</text>
<text text-anchor="middle" x="116.5" y="-86.8" font-family="Times,serif" font-size="14.00" fill="#000000">implement FROST on</text>
<text text-anchor="middle" x="116.5" y="-71.8" font-family="Times,serif" font-size="14.00" fill="#000000">Secp256k1 curve</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#71 -->
<g id="node3" class="node open">
<title>ZcashFoundation/frost#71</title>
<g id="a_node3"><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="220.5,-46 12.5,-46 12.5,-8 220.5,-8 220.5,-46"/>
<text text-anchor="middle" x="116.5" y="-30.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#71</text>
<text text-anchor="middle" x="116.5" y="-15.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Ed448 support</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#35 -->
<g id="node4" class="node open">
<title>ZcashFoundation/frost#35</title>
<g id="a_node4"><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="220.5,-295.5 12.5,-295.5 12.5,-242.5 220.5,-242.5 220.5,-295.5"/>
<text text-anchor="middle" x="116.5" y="-280.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#35</text>
<text text-anchor="middle" x="116.5" y="-265.3" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;core: Implement the</text>
<text text-anchor="middle" x="116.5" y="-250.3" font-family="Times,serif" font-size="14.00" fill="#000000">generic DKG</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#63 -->
<g id="node5" class="node open">
<title>ZcashFoundation/frost#63</title>
<g id="a_node5"><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.5,-303 265.5,-303 265.5,-235 473.5,-235 473.5,-303"/>
<text text-anchor="middle" x="369.5" y="-287.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#63</text>
<text text-anchor="middle" x="369.5" y="-272.8" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;ristretto255:</text>
<text text-anchor="middle" x="369.5" y="-257.8" font-family="Times,serif" font-size="14.00" fill="#000000">implement `frost&#45;core`&#39;s</text>
<text text-anchor="middle" x="369.5" y="-242.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="M220.5,-269C231.99,-269 243.74,-269 255.34,-269"/>
<polygon fill="#000000" stroke="#000000" points="255.49,-272.5001 265.49,-269 255.49,-265.5001 255.49,-272.5001"/>
</g>
<!-- ZcashFoundation/frost#119 -->
<g id="node6" class="node open">
<title>ZcashFoundation/frost#119</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/119" xlink:title="ZcashFoundation/frost#119&#10;Review and officially&#10;submit the Re&#45;&#10;randomizable FROST ZIP" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="478,-418 261,-418 261,-350 478,-350 478,-418"/>
<text text-anchor="middle" x="369.5" y="-402.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#119</text>
<text text-anchor="middle" x="369.5" y="-387.8" font-family="Times,serif" font-size="14.00" fill="#000000">Review and officially</text>
<text text-anchor="middle" x="369.5" y="-372.8" font-family="Times,serif" font-size="14.00" fill="#000000">submit the Re&#45;</text>
<text text-anchor="middle" x="369.5" y="-357.8" font-family="Times,serif" font-size="14.00" fill="#000000">randomizable FROST ZIP</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#120 -->
<g id="node7" class="node open">
<title>ZcashFoundation/frost#120</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/120" xlink:title="ZcashFoundation/frost#120&#10;Update Re&#45;randomizable&#10;FROST implementation to&#10;V10" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="478,-504 261,-504 261,-436 478,-436 478,-504"/>
<text text-anchor="middle" x="369.5" y="-488.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#120</text>
<text text-anchor="middle" x="369.5" y="-473.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update Re&#45;randomizable</text>
<text text-anchor="middle" x="369.5" y="-458.8" font-family="Times,serif" font-size="14.00" fill="#000000">FROST implementation to</text>
<text text-anchor="middle" x="369.5" y="-443.8" font-family="Times,serif" font-size="14.00" fill="#000000">V10</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#121 -->
<g id="node8" class="node open">
<title>ZcashFoundation/frost#121</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/121" xlink:title="ZcashFoundation/frost#121&#10;Organize the Re&#45;&#10;randomizable FROST&#10;implementation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="731,-504 514,-504 514,-436 731,-436 731,-504"/>
<text text-anchor="middle" x="622.5" y="-488.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#121</text>
<text text-anchor="middle" x="622.5" y="-473.8" font-family="Times,serif" font-size="14.00" fill="#000000">Organize the Re&#45;</text>
<text text-anchor="middle" x="622.5" y="-458.8" font-family="Times,serif" font-size="14.00" fill="#000000">randomizable FROST</text>
<text text-anchor="middle" x="622.5" y="-443.8" font-family="Times,serif" font-size="14.00" fill="#000000">implementation</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#120&#45;&gt;ZcashFoundation/frost#121 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/frost#120&#45;&gt;ZcashFoundation/frost#121</title>
<path fill="none" stroke="#000000" d="M478.26,-470C486.64,-470 495.13,-470 503.57,-470"/>
<polygon fill="#000000" stroke="#000000" points="503.83,-473.5001 513.83,-470 503.83,-466.5001 503.83,-473.5001"/>
</g>
<!-- ZcashFoundation/frost#140 -->
<g id="node9" class="node open">
<title>ZcashFoundation/frost#140</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/140" xlink:title="ZcashFoundation/frost#140&#10;Update Re&#45;randomizable&#10;FROST ZIP to V10" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="225,-486.5 8,-486.5 8,-433.5 225,-433.5 225,-486.5"/>
<text text-anchor="middle" x="116.5" y="-471.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#140</text>
<text text-anchor="middle" x="116.5" y="-456.3" font-family="Times,serif" font-size="14.00" fill="#000000">Update Re&#45;randomizable</text>
<text text-anchor="middle" x="116.5" y="-441.3" font-family="Times,serif" font-size="14.00" fill="#000000">FROST ZIP to V10</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#140&#45;&gt;ZcashFoundation/frost#119 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/frost#140&#45;&gt;ZcashFoundation/frost#119</title>
<path fill="none" stroke="#000000" d="M204.99,-433.42C219.86,-428.95 235.5,-424.25 250.98,-419.6"/>
<polygon fill="#000000" stroke="#000000" points="252.0157,-422.9435 260.59,-416.72 250.0061,-416.2381 252.0157,-422.9435"/>
</g>
<!-- ZcashFoundation/frost#140&#45;&gt;ZcashFoundation/frost#120 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/frost#140&#45;&gt;ZcashFoundation/frost#120</title>
<path fill="none" stroke="#000000" d="M225.26,-464.3C233.64,-464.63 242.13,-464.97 250.57,-465.3"/>
<polygon fill="#000000" stroke="#000000" points="250.7012,-468.8077 260.83,-465.7 250.974,-461.813 250.7012,-468.8077"/>
</g>
<!-- ZcashFoundation/frost#81 -->
<g id="node10" class="node open">
<title>ZcashFoundation/frost#81</title>
<g id="a_node10"><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="220.5,-406 12.5,-406 12.5,-368 220.5,-368 220.5,-406"/>
<text text-anchor="middle" x="116.5" y="-390.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#81</text>
<text text-anchor="middle" x="116.5" y="-375.8" font-family="Times,serif" font-size="14.00" fill="#000000">Start rerandomized repo</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#79 -->
<g id="node11" class="node open">
<title>ZcashFoundation/frost#79</title>
<g id="a_node11"><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" stroke-width="2" points="220.5,-747 12.5,-747 12.5,-709 220.5,-709 220.5,-747"/>
<text text-anchor="middle" x="116.5" y="-731.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#79</text>
<text text-anchor="middle" x="116.5" y="-716.8" font-family="Times,serif" font-size="14.00" fill="#000000">Publish `frost&#45;` crates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#102 -->
<g id="node12" class="node open">
<title>ZcashFoundation/frost#102</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/102" xlink:title="ZcashFoundation/frost#102&#10;frost&#45;core: add and use C&#10;iphersuite.identifier_to_&#10;scalar()" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="225,-691 8,-691 8,-623 225,-623 225,-691"/>
<text text-anchor="middle" x="116.5" y="-675.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#102</text>
<text text-anchor="middle" x="116.5" y="-660.8" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;core: add and use C</text>
<text text-anchor="middle" x="116.5" y="-645.8" font-family="Times,serif" font-size="14.00" fill="#000000">iphersuite.identifier_to_</text>
<text text-anchor="middle" x="116.5" y="-630.8" font-family="Times,serif" font-size="14.00" fill="#000000">scalar()</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#133 -->
<g id="node13" class="node open">
<title>ZcashFoundation/frost#133</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/133" xlink:title="ZcashFoundation/frost#133&#10;Use nonce_generate test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="225,-604.5 8,-604.5 8,-551.5 225,-551.5 225,-604.5"/>
<text text-anchor="middle" x="116.5" y="-589.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#133</text>
<text text-anchor="middle" x="116.5" y="-574.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use nonce_generate test</text>
<text text-anchor="middle" x="116.5" y="-559.3" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#39 -->
<g id="node14" class="node open">
<title>ZcashFoundation/frost#39</title>
<g id="a_node14"><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="220.5,-854 12.5,-854 12.5,-786 220.5,-786 220.5,-854"/>
<text text-anchor="middle" x="116.5" y="-838.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#39</text>
<text text-anchor="middle" x="116.5" y="-823.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redjubjub`</text>
<text text-anchor="middle" x="116.5" y="-808.8" font-family="Times,serif" font-size="14.00" fill="#000000">to frost&#45;core / FROST</text>
<text text-anchor="middle" x="116.5" y="-793.8" font-family="Times,serif" font-size="14.00" fill="#000000">spec v05+</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#40 -->
<g id="node15" class="node open">
<title>ZcashFoundation/frost#40</title>
<g id="a_node15"><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="220.5,-940 12.5,-940 12.5,-872 220.5,-872 220.5,-940"/>
<text text-anchor="middle" x="116.5" y="-924.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#40</text>
<text text-anchor="middle" x="116.5" y="-909.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redpallas`</text>
<text text-anchor="middle" x="116.5" y="-894.8" font-family="Times,serif" font-size="14.00" fill="#000000">to frost&#45;core / FROST</text>
<text text-anchor="middle" x="116.5" y="-879.8" font-family="Times,serif" font-size="14.00" fill="#000000">spec v05+</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#132 -->
<g id="node16" class="node open">
<title>ZcashFoundation/frost#132</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/132" xlink:title="ZcashFoundation/frost#132&#10;Epic: v9/v10" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="225,-996 8,-996 8,-958 225,-958 225,-996"/>
<text text-anchor="middle" x="116.5" y="-980.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#132</text>
<text text-anchor="middle" x="116.5" y="-965.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: v9/v10</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#114 -->
<g id="node17" class="node open">
<title>ZcashFoundation/frost#114</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/frost/pull/114" xlink:title="ZcashFoundation/frost#114&#10;Refreshed Identifier&#10;newtype of Scalar with&#10;traits" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="478,-1011 261,-1011 261,-1007 257,-1007 257,-1003 261,-1003 261,-951 257,-951 257,-947 261,-947 261,-943 478,-943 478,-1011"/>
<polyline fill="none" stroke="#000000" points="261,-1007 265,-1007 265,-1003 261,-1003 "/>
<polyline fill="none" stroke="#000000" points="261,-951 265,-951 265,-947 261,-947 "/>
<text text-anchor="middle" x="369.5" y="-995.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#114</text>
<text text-anchor="middle" x="369.5" y="-980.8" font-family="Times,serif" font-size="14.00" fill="#000000">Refreshed Identifier</text>
<text text-anchor="middle" x="369.5" y="-965.8" font-family="Times,serif" font-size="14.00" fill="#000000">newtype of Scalar with</text>
<text text-anchor="middle" x="369.5" y="-950.8" font-family="Times,serif" font-size="14.00" fill="#000000">traits</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#132&#45;&gt;ZcashFoundation/frost#114 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/frost#132&#45;&gt;ZcashFoundation/frost#114</title>
<path fill="none" stroke="#000000" d="M225.26,-977C233.64,-977 242.13,-977 250.57,-977"/>
<polygon fill="#000000" stroke="#000000" points="250.83,-980.5001 260.83,-977 250.83,-973.5001 250.83,-980.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>