developers/zcash-zf-frost-dag.html

289 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="754pt" height="1090pt"
viewBox="0.00 0.00 754.00 1090.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 1086)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1086 750,-1086 750,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_3</title>
<polygon fill="none" stroke="#0000ff" points="0,-115 0,-421 240,-421 240,-115 0,-115"/>
<text text-anchor="middle" x="120" y="-405.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: v9/v10</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="8,0 8,-107 488.5,-107 488.5,0 8,0"/>
<text text-anchor="middle" x="248.25" y="-91.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: DKG</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="8,-429 8,-648 232,-648 232,-429 8,-429"/>
<text text-anchor="middle" x="120" y="-632.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Remaining Curves</text>
</g>
<g id="clust4" class="cluster">
<title>cluster_2</title>
<polygon fill="none" stroke="#0000ff" points="3.5,-656 3.5,-849 746,-849 746,-656 3.5,-656"/>
<text text-anchor="middle" x="374.75" y="-833.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Re&#45;randomizable FROST</text>
</g>
<!-- ZcashFoundation/frost#79 -->
<g id="node1" class="node open">
<title>ZcashFoundation/frost#79</title>
<g id="a_node1"><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="224,-390 16,-390 16,-352 224,-352 224,-390"/>
<text text-anchor="middle" x="120" y="-374.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#79</text>
<text text-anchor="middle" x="120" y="-359.8" font-family="Times,serif" font-size="14.00" fill="#000000">Publish `frost&#45;` crates</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#102 -->
<g id="node2" class="node open">
<title>ZcashFoundation/frost#102</title>
<g id="a_node2"><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="228.5,-334 11.5,-334 11.5,-266 228.5,-266 228.5,-334"/>
<text text-anchor="middle" x="120" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#102</text>
<text text-anchor="middle" x="120" y="-303.8" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;core: add and use C</text>
<text text-anchor="middle" x="120" y="-288.8" font-family="Times,serif" font-size="14.00" fill="#000000">iphersuite.identifier_to_</text>
<text text-anchor="middle" x="120" y="-273.8" font-family="Times,serif" font-size="14.00" fill="#000000">scalar()</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#133 -->
<g id="node3" class="node open">
<title>ZcashFoundation/frost#133</title>
<g id="a_node3"><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="228.5,-247.5 11.5,-247.5 11.5,-194.5 228.5,-194.5 228.5,-247.5"/>
<text text-anchor="middle" x="120" y="-232.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#133</text>
<text text-anchor="middle" x="120" y="-217.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use nonce_generate test</text>
<text text-anchor="middle" x="120" y="-202.3" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#127 -->
<g id="node4" class="node open">
<title>ZcashFoundation/frost#127</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/127" xlink:title="ZcashFoundation/frost#127&#10;Dedupe `SharePackage` and&#10;`SecretShare`" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="232,-176.5 8,-176.5 8,-123.5 232,-123.5 232,-176.5"/>
<text text-anchor="middle" x="120" y="-161.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#127</text>
<text text-anchor="middle" x="120" y="-146.3" font-family="Times,serif" font-size="14.00" fill="#000000">Dedupe `SharePackage` and</text>
<text text-anchor="middle" x="120" y="-131.3" font-family="Times,serif" font-size="14.00" fill="#000000">`SecretShare`</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#35 -->
<g id="node5" class="node open">
<title>ZcashFoundation/frost#35</title>
<g id="a_node5"><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="224,-68.5 16,-68.5 16,-15.5 224,-15.5 224,-68.5"/>
<text text-anchor="middle" x="120" y="-53.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#35</text>
<text text-anchor="middle" x="120" y="-38.3" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;core: Implement the</text>
<text text-anchor="middle" x="120" y="-23.3" font-family="Times,serif" font-size="14.00" fill="#000000">generic DKG</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#63 -->
<g id="node6" class="node open">
<title>ZcashFoundation/frost#63</title>
<g id="a_node6"><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="480.5,-76 272.5,-76 272.5,-8 480.5,-8 480.5,-76"/>
<text text-anchor="middle" x="376.5" y="-60.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#63</text>
<text text-anchor="middle" x="376.5" y="-45.8" font-family="Times,serif" font-size="14.00" fill="#000000">frost&#45;ristretto255:</text>
<text text-anchor="middle" x="376.5" y="-30.8" font-family="Times,serif" font-size="14.00" fill="#000000">implement `frost&#45;core`&#39;s</text>
<text text-anchor="middle" x="376.5" y="-15.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="M224.33,-42C236.8,-42 249.59,-42 262.2,-42"/>
<polygon fill="#000000" stroke="#000000" points="262.26,-45.5001 272.26,-42 262.26,-38.5001 262.26,-45.5001"/>
</g>
<!-- ZcashFoundation/frost#70 -->
<g id="node7" class="node open">
<title>ZcashFoundation/frost#70</title>
<g id="a_node7"><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="224,-617 16,-617 16,-579 224,-579 224,-617"/>
<text text-anchor="middle" x="120" y="-601.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#70</text>
<text text-anchor="middle" x="120" y="-586.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Ed25519 support</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#19 -->
<g id="node8" class="node open">
<title>ZcashFoundation/frost#19</title>
<g id="a_node8"><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="224,-561 16,-561 16,-493 224,-493 224,-561"/>
<text text-anchor="middle" x="120" y="-545.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#19</text>
<text text-anchor="middle" x="120" y="-530.8" font-family="Times,serif" font-size="14.00" fill="#000000">`frost&#45;secp256k1`:</text>
<text text-anchor="middle" x="120" y="-515.8" font-family="Times,serif" font-size="14.00" fill="#000000">implement FROST on</text>
<text text-anchor="middle" x="120" y="-500.8" font-family="Times,serif" font-size="14.00" fill="#000000">Secp256k1 curve</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="224,-475 16,-475 16,-437 224,-437 224,-475"/>
<text text-anchor="middle" x="120" y="-459.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#71</text>
<text text-anchor="middle" x="120" y="-444.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Ed448 support</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#119 -->
<g id="node10" class="node open">
<title>ZcashFoundation/frost#119</title>
<g id="a_node10"><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="485,-732 268,-732 268,-664 485,-664 485,-732"/>
<text text-anchor="middle" x="376.5" y="-716.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#119</text>
<text text-anchor="middle" x="376.5" y="-701.8" font-family="Times,serif" font-size="14.00" fill="#000000">Review and officially</text>
<text text-anchor="middle" x="376.5" y="-686.8" font-family="Times,serif" font-size="14.00" fill="#000000">submit the Re&#45;</text>
<text text-anchor="middle" x="376.5" y="-671.8" font-family="Times,serif" font-size="14.00" fill="#000000">randomizable FROST ZIP</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#120 -->
<g id="node11" class="node open">
<title>ZcashFoundation/frost#120</title>
<g id="a_node11"><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="485,-818 268,-818 268,-750 485,-750 485,-818"/>
<text text-anchor="middle" x="376.5" y="-802.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#120</text>
<text text-anchor="middle" x="376.5" y="-787.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update Re&#45;randomizable</text>
<text text-anchor="middle" x="376.5" y="-772.8" font-family="Times,serif" font-size="14.00" fill="#000000">FROST implementation to</text>
<text text-anchor="middle" x="376.5" y="-757.8" font-family="Times,serif" font-size="14.00" fill="#000000">V10</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#121 -->
<g id="node12" class="node open">
<title>ZcashFoundation/frost#121</title>
<g id="a_node12"><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="738,-818 521,-818 521,-750 738,-750 738,-818"/>
<text text-anchor="middle" x="629.5" y="-802.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#121</text>
<text text-anchor="middle" x="629.5" y="-787.8" font-family="Times,serif" font-size="14.00" fill="#000000">Organize the Re&#45;</text>
<text text-anchor="middle" x="629.5" y="-772.8" font-family="Times,serif" font-size="14.00" fill="#000000">randomizable FROST</text>
<text text-anchor="middle" x="629.5" y="-757.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="M485.26,-784C493.64,-784 502.13,-784 510.57,-784"/>
<polygon fill="#000000" stroke="#000000" points="510.83,-787.5001 520.83,-784 510.83,-780.5001 510.83,-787.5001"/>
</g>
<!-- ZcashFoundation/frost#140 -->
<g id="node13" class="node open">
<title>ZcashFoundation/frost#140</title>
<g id="a_node13"><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="228.5,-800.5 11.5,-800.5 11.5,-747.5 228.5,-747.5 228.5,-800.5"/>
<text text-anchor="middle" x="120" y="-785.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#140</text>
<text text-anchor="middle" x="120" y="-770.3" font-family="Times,serif" font-size="14.00" fill="#000000">Update Re&#45;randomizable</text>
<text text-anchor="middle" x="120" y="-755.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="M209.71,-747.42C225.26,-742.81 241.65,-737.96 257.83,-733.16"/>
<polygon fill="#000000" stroke="#000000" points="259.2736,-736.383 267.87,-730.19 257.2879,-729.6705 259.2736,-736.383"/>
</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="M228.78,-778.24C238.41,-778.62 248.18,-779 257.89,-779.38"/>
<polygon fill="#000000" stroke="#000000" points="257.832,-782.8803 267.96,-779.77 258.103,-775.8855 257.832,-782.8803"/>
</g>
<!-- ZcashFoundation/frost#81 -->
<g id="node14" class="node open">
<title>ZcashFoundation/frost#81</title>
<g id="a_node14"><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="224,-720 16,-720 16,-682 224,-682 224,-720"/>
<text text-anchor="middle" x="120" y="-704.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#81</text>
<text text-anchor="middle" x="120" y="-689.8" font-family="Times,serif" font-size="14.00" fill="#000000">Start rerandomized repo</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#39 -->
<g id="node15" class="node open">
<title>ZcashFoundation/frost#39</title>
<g id="a_node15"><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="224,-925 16,-925 16,-857 224,-857 224,-925"/>
<text text-anchor="middle" x="120" y="-909.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#39</text>
<text text-anchor="middle" x="120" y="-894.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redjubjub`</text>
<text text-anchor="middle" x="120" y="-879.8" font-family="Times,serif" font-size="14.00" fill="#000000">to frost&#45;core / FROST</text>
<text text-anchor="middle" x="120" y="-864.8" font-family="Times,serif" font-size="14.00" fill="#000000">spec v05+</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#40 -->
<g id="node16" class="node open">
<title>ZcashFoundation/frost#40</title>
<g id="a_node16"><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="224,-1011 16,-1011 16,-943 224,-943 224,-1011"/>
<text text-anchor="middle" x="120" y="-995.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#40</text>
<text text-anchor="middle" x="120" y="-980.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redpallas`</text>
<text text-anchor="middle" x="120" y="-965.8" font-family="Times,serif" font-size="14.00" fill="#000000">to frost&#45;core / FROST</text>
<text text-anchor="middle" x="120" y="-950.8" font-family="Times,serif" font-size="14.00" fill="#000000">spec v05+</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#132 -->
<g id="node17" class="node open">
<title>ZcashFoundation/frost#132</title>
<g id="a_node17"><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="228.5,-1067 11.5,-1067 11.5,-1029 228.5,-1029 228.5,-1067"/>
<text text-anchor="middle" x="120" y="-1051.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#132</text>
<text text-anchor="middle" x="120" y="-1036.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: v9/v10</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#114 -->
<g id="node18" class="node open">
<title>ZcashFoundation/frost#114</title>
<g id="a_node18"><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="485,-1082 268,-1082 268,-1078 264,-1078 264,-1074 268,-1074 268,-1022 264,-1022 264,-1018 268,-1018 268,-1014 485,-1014 485,-1082"/>
<polyline fill="none" stroke="#000000" points="268,-1078 272,-1078 272,-1074 268,-1074 "/>
<polyline fill="none" stroke="#000000" points="268,-1022 272,-1022 272,-1018 268,-1018 "/>
<text text-anchor="middle" x="376.5" y="-1066.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#114</text>
<text text-anchor="middle" x="376.5" y="-1051.8" font-family="Times,serif" font-size="14.00" fill="#000000">Refreshed Identifier</text>
<text text-anchor="middle" x="376.5" y="-1036.8" font-family="Times,serif" font-size="14.00" fill="#000000">newtype of Scalar with</text>
<text text-anchor="middle" x="376.5" y="-1021.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="M228.78,-1048C238.41,-1048 248.18,-1048 257.89,-1048"/>
<polygon fill="#000000" stroke="#000000" points="257.96,-1051.5001 267.96,-1048 257.96,-1044.5001 257.96,-1051.5001"/>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>