developers/zcash-zf-frost-dag.html

197 lines
14 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="877pt"
viewBox="0.00 0.00 489.00 877.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 873)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-873 485,-873 485,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,0 0,-869 481,-869 481,0 0,0"/>
<text text-anchor="middle" x="240.5" y="-853.8" font-family="Times,serif" font-size="14.00" fill="#000000">Frost Work</text>
</g>
<!-- ZcashFoundation/frost#22 -->
<g id="node1" class="node open">
<title>ZcashFoundation/frost#22</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/22" xlink:title="ZcashFoundation/frost#22&#10;Refactor into common&#10;traits (frost&#45;core)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-837.5 14.5,-837.5 14.5,-784.5 222.5,-784.5 222.5,-837.5"/>
<text text-anchor="middle" x="118.5" y="-822.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#22</text>
<text text-anchor="middle" x="118.5" y="-807.3" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor into common</text>
<text text-anchor="middle" x="118.5" y="-792.3" font-family="Times,serif" font-size="14.00" fill="#000000">traits (frost&#45;core)</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#39 -->
<g id="node2" class="node open">
<title>ZcashFoundation/frost#39</title>
<g id="a_node2"><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 v03+" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="473,-752 265,-752 265,-684 473,-684 473,-752"/>
<text text-anchor="middle" x="369" y="-736.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#39</text>
<text text-anchor="middle" x="369" y="-721.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redjubjub`</text>
<text text-anchor="middle" x="369" y="-706.8" font-family="Times,serif" font-size="14.00" fill="#000000">to frost&#45;core / FROST</text>
<text text-anchor="middle" x="369" y="-691.8" font-family="Times,serif" font-size="14.00" fill="#000000">spec v03+</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#22&#45;&gt;ZcashFoundation/frost#39 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/frost#22&#45;&gt;ZcashFoundation/frost#39</title>
<path fill="none" stroke="#000000" d="M205.01,-784.4C213.15,-781.66 221.25,-778.84 229,-776 245.28,-770.04 248.99,-767.64 265,-761 269.07,-759.31 273.23,-757.59 277.43,-755.84"/>
<polygon fill="#000000" stroke="#000000" points="278.7796,-759.0694 286.68,-752.01 276.1017,-752.6019 278.7796,-759.0694"/>
</g>
<!-- ZcashFoundation/frost#40 -->
<g id="node3" class="node open">
<title>ZcashFoundation/frost#40</title>
<g id="a_node3"><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 v03+" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="473,-838 265,-838 265,-770 473,-770 473,-838"/>
<text text-anchor="middle" x="369" y="-822.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#40</text>
<text text-anchor="middle" x="369" y="-807.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redpallas`</text>
<text text-anchor="middle" x="369" y="-792.8" font-family="Times,serif" font-size="14.00" fill="#000000">to frost&#45;core / FROST</text>
<text text-anchor="middle" x="369" y="-777.8" font-family="Times,serif" font-size="14.00" fill="#000000">spec v03+</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#22&#45;&gt;ZcashFoundation/frost#40 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/frost#22&#45;&gt;ZcashFoundation/frost#40</title>
<path fill="none" stroke="#000000" d="M222.56,-808.09C233.15,-807.8 243.96,-807.49 254.65,-807.2"/>
<polygon fill="#000000" stroke="#000000" points="254.9634,-810.6926 264.86,-806.91 254.7646,-803.6954 254.9634,-810.6926"/>
</g>
<!-- ZcashFoundation/frost#41 -->
<g id="node4" class="node open">
<title>ZcashFoundation/frost#41</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/41" xlink:title="ZcashFoundation/frost#41&#10;feature: Share&#10;redistribution &#45; allow t&#10;signers to add/remove new&#10;members" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="223.5,-766.5 13.5,-766.5 13.5,-683.5 223.5,-683.5 223.5,-766.5"/>
<text text-anchor="middle" x="118.5" y="-751.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#41</text>
<text text-anchor="middle" x="118.5" y="-736.3" font-family="Times,serif" font-size="14.00" fill="#000000">feature: Share</text>
<text text-anchor="middle" x="118.5" y="-721.3" font-family="Times,serif" font-size="14.00" fill="#000000">redistribution &#45; allow t</text>
<text text-anchor="middle" x="118.5" y="-706.3" font-family="Times,serif" font-size="14.00" fill="#000000">signers to add/remove new</text>
<text text-anchor="middle" x="118.5" y="-691.3" font-family="Times,serif" font-size="14.00" fill="#000000">members</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#47 -->
<g id="node5" class="node open">
<title>ZcashFoundation/frost#47</title>
<g id="a_node5"><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;v04" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="229,-665 8,-665 8,-567 229,-567 229,-665"/>
<text text-anchor="middle" x="118.5" y="-649.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#47</text>
<text text-anchor="middle" x="118.5" y="-634.8" font-family="Times,serif" font-size="14.00" fill="#000000">Note in Ristretto255 near</text>
<text text-anchor="middle" x="118.5" y="-619.8" font-family="Times,serif" font-size="14.00" fill="#000000">PublicKeyPackage where we</text>
<text text-anchor="middle" x="118.5" y="-604.8" font-family="Times,serif" font-size="14.00" fill="#000000">impl</text>
<text text-anchor="middle" x="118.5" y="-589.8" font-family="Times,serif" font-size="14.00" fill="#000000">`derive_group_info()` for</text>
<text text-anchor="middle" x="118.5" y="-574.8" font-family="Times,serif" font-size="14.00" fill="#000000">v04</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#19 -->
<g id="node6" class="node open">
<title>ZcashFoundation/frost#19</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/19" xlink:title="ZcashFoundation/frost#19&#10;Implement FROST on&#10;Secp256k1 curve" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-548.5 14.5,-548.5 14.5,-495.5 222.5,-495.5 222.5,-548.5"/>
<text text-anchor="middle" x="118.5" y="-533.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#19</text>
<text text-anchor="middle" x="118.5" y="-518.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement FROST on</text>
<text text-anchor="middle" x="118.5" y="-503.3" font-family="Times,serif" font-size="14.00" fill="#000000">Secp256k1 curve</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#37 -->
<g id="node7" class="node open">
<title>ZcashFoundation/frost#37</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/37" xlink:title="ZcashFoundation/frost#37&#10;Draft a ZIP document for&#10;using FROST in the re&#45;&#10;randomized SpendAuth&#10;setting in Zcash" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-477.5 14.5,-477.5 14.5,-394.5 222.5,-394.5 222.5,-477.5"/>
<text text-anchor="middle" x="118.5" y="-462.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#37</text>
<text text-anchor="middle" x="118.5" y="-447.3" font-family="Times,serif" font-size="14.00" fill="#000000">Draft a ZIP document for</text>
<text text-anchor="middle" x="118.5" y="-432.3" font-family="Times,serif" font-size="14.00" fill="#000000">using FROST in the re&#45;</text>
<text text-anchor="middle" x="118.5" y="-417.3" font-family="Times,serif" font-size="14.00" fill="#000000">randomized SpendAuth</text>
<text text-anchor="middle" x="118.5" y="-402.3" font-family="Times,serif" font-size="14.00" fill="#000000">setting in Zcash</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#34 -->
<g id="node8" class="node open">
<title>ZcashFoundation/frost#34</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/34" xlink:title="ZcashFoundation/frost#34&#10;Construct a test case&#10;where t&#45;1 participants&#10;collude, 1 remains honest" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-376 14.5,-376 14.5,-308 222.5,-308 222.5,-376"/>
<text text-anchor="middle" x="118.5" y="-360.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#34</text>
<text text-anchor="middle" x="118.5" y="-345.8" font-family="Times,serif" font-size="14.00" fill="#000000">Construct a test case</text>
<text text-anchor="middle" x="118.5" y="-330.8" font-family="Times,serif" font-size="14.00" fill="#000000">where t&#45;1 participants</text>
<text text-anchor="middle" x="118.5" y="-315.8" font-family="Times,serif" font-size="14.00" fill="#000000">collude, 1 remains honest</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#3 -->
<g id="node9" class="node open">
<title>ZcashFoundation/frost#3</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/frost/pull/3" xlink:title="ZcashFoundation/frost#3&#10;Update digest requirement&#10;from 0.9 to 0.10" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="224.5,-289.5 12.5,-289.5 12.5,-285.5 8.5,-285.5 8.5,-281.5 12.5,-281.5 12.5,-244.5 8.5,-244.5 8.5,-240.5 12.5,-240.5 12.5,-236.5 224.5,-236.5 224.5,-289.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="12.5,-285.5 16.5,-285.5 16.5,-281.5 12.5,-281.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="12.5,-244.5 16.5,-244.5 16.5,-240.5 12.5,-240.5 "/>
<text text-anchor="middle" x="118.5" y="-274.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#3</text>
<text text-anchor="middle" x="118.5" y="-259.3" font-family="Times,serif" font-size="14.00" fill="#000000">Update digest requirement</text>
<text text-anchor="middle" x="118.5" y="-244.3" font-family="Times,serif" font-size="14.00" fill="#000000">from 0.9 to 0.10</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#33 -->
<g id="node10" class="node open">
<title>ZcashFoundation/frost#33</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/33" xlink:title="ZcashFoundation/frost#33&#10;Look at frost&#45;dalek for&#10;any good test cases we&#10;aren&#39;t covering" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-218 14.5,-218 14.5,-150 222.5,-150 222.5,-218"/>
<text text-anchor="middle" x="118.5" y="-202.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#33</text>
<text text-anchor="middle" x="118.5" y="-187.8" font-family="Times,serif" font-size="14.00" fill="#000000">Look at frost&#45;dalek for</text>
<text text-anchor="middle" x="118.5" y="-172.8" font-family="Times,serif" font-size="14.00" fill="#000000">any good test cases we</text>
<text text-anchor="middle" x="118.5" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">aren&#39;t covering</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#42 -->
<g id="node11" class="node open">
<title>ZcashFoundation/frost#42</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/42" xlink:title="ZcashFoundation/frost#42&#10;feature: ratchet forward&#10;the secret for forward&#10;secrecy" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-132 14.5,-132 14.5,-64 222.5,-64 222.5,-132"/>
<text text-anchor="middle" x="118.5" y="-116.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#42</text>
<text text-anchor="middle" x="118.5" y="-101.8" font-family="Times,serif" font-size="14.00" fill="#000000">feature: ratchet forward</text>
<text text-anchor="middle" x="118.5" y="-86.8" font-family="Times,serif" font-size="14.00" fill="#000000">the secret for forward</text>
<text text-anchor="middle" x="118.5" y="-71.8" font-family="Times,serif" font-size="14.00" fill="#000000">secrecy</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#35 -->
<g id="node12" class="node open">
<title>ZcashFoundation/frost#35</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/35" xlink:title="ZcashFoundation/frost#35&#10;Implement the DKG" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-46 14.5,-46 14.5,-8 222.5,-8 222.5,-46"/>
<text text-anchor="middle" x="118.5" y="-30.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#35</text>
<text text-anchor="middle" x="118.5" y="-15.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the DKG</text>
</a>
</g>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>