developers/zcash-zf-frost-dag.html

219 lines
16 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="1019pt"
viewBox="0.00 0.00 489.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 485,-1015 485,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="0,0 0,-1011 481,-1011 481,0 0,0"/>
<text text-anchor="middle" x="240.5" y="-995.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,-979.5 14.5,-979.5 14.5,-926.5 222.5,-926.5 222.5,-979.5"/>
<text text-anchor="middle" x="118.5" y="-964.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#22</text>
<text text-anchor="middle" x="118.5" y="-949.3" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor into common</text>
<text text-anchor="middle" x="118.5" y="-934.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,-894 265,-894 265,-826 473,-826 473,-894"/>
<text text-anchor="middle" x="369" y="-878.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#39</text>
<text text-anchor="middle" x="369" y="-863.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redjubjub`</text>
<text text-anchor="middle" x="369" y="-848.8" font-family="Times,serif" font-size="14.00" fill="#000000">to frost&#45;core / FROST</text>
<text text-anchor="middle" x="369" y="-833.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,-926.4C213.15,-923.66 221.25,-920.84 229,-918 245.28,-912.04 248.99,-909.64 265,-903 269.07,-901.31 273.23,-899.59 277.43,-897.84"/>
<polygon fill="#000000" stroke="#000000" points="278.7796,-901.0694 286.68,-894.01 276.1017,-894.6019 278.7796,-901.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,-980 265,-980 265,-912 473,-912 473,-980"/>
<text text-anchor="middle" x="369" y="-964.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#40</text>
<text text-anchor="middle" x="369" y="-949.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate/port `redpallas`</text>
<text text-anchor="middle" x="369" y="-934.8" font-family="Times,serif" font-size="14.00" fill="#000000">to frost&#45;core / FROST</text>
<text text-anchor="middle" x="369" y="-919.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,-950.09C233.15,-949.8 243.96,-949.49 254.65,-949.2"/>
<polygon fill="#000000" stroke="#000000" points="254.9634,-952.6926 264.86,-948.91 254.7646,-945.6954 254.9634,-952.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,-908.5 13.5,-908.5 13.5,-825.5 223.5,-825.5 223.5,-908.5"/>
<text text-anchor="middle" x="118.5" y="-893.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#41</text>
<text text-anchor="middle" x="118.5" y="-878.3" font-family="Times,serif" font-size="14.00" fill="#000000">feature: Share</text>
<text text-anchor="middle" x="118.5" y="-863.3" font-family="Times,serif" font-size="14.00" fill="#000000">redistribution &#45; allow t</text>
<text text-anchor="middle" x="118.5" y="-848.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="-833.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,-807 8,-807 8,-709 229,-709 229,-807"/>
<text text-anchor="middle" x="118.5" y="-791.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#47</text>
<text text-anchor="middle" x="118.5" y="-776.8" font-family="Times,serif" font-size="14.00" fill="#000000">Note in Ristretto255 near</text>
<text text-anchor="middle" x="118.5" y="-761.8" font-family="Times,serif" font-size="14.00" fill="#000000">PublicKeyPackage where we</text>
<text text-anchor="middle" x="118.5" y="-746.8" font-family="Times,serif" font-size="14.00" fill="#000000">impl</text>
<text text-anchor="middle" x="118.5" y="-731.8" font-family="Times,serif" font-size="14.00" fill="#000000">`derive_group_info()` for</text>
<text text-anchor="middle" x="118.5" y="-716.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,-690.5 14.5,-690.5 14.5,-637.5 222.5,-637.5 222.5,-690.5"/>
<text text-anchor="middle" x="118.5" y="-675.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#19</text>
<text text-anchor="middle" x="118.5" y="-660.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement FROST on</text>
<text text-anchor="middle" x="118.5" y="-645.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,-619.5 14.5,-619.5 14.5,-536.5 222.5,-536.5 222.5,-619.5"/>
<text text-anchor="middle" x="118.5" y="-604.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#37</text>
<text text-anchor="middle" x="118.5" y="-589.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="-574.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="-559.3" font-family="Times,serif" font-size="14.00" fill="#000000">randomized SpendAuth</text>
<text text-anchor="middle" x="118.5" y="-544.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,-518 14.5,-518 14.5,-450 222.5,-450 222.5,-518"/>
<text text-anchor="middle" x="118.5" y="-502.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#34</text>
<text text-anchor="middle" x="118.5" y="-487.8" font-family="Times,serif" font-size="14.00" fill="#000000">Construct a test case</text>
<text text-anchor="middle" x="118.5" y="-472.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="-457.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,-431.5 12.5,-431.5 12.5,-427.5 8.5,-427.5 8.5,-423.5 12.5,-423.5 12.5,-386.5 8.5,-386.5 8.5,-382.5 12.5,-382.5 12.5,-378.5 224.5,-378.5 224.5,-431.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="12.5,-427.5 16.5,-427.5 16.5,-423.5 12.5,-423.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="12.5,-386.5 16.5,-386.5 16.5,-382.5 12.5,-382.5 "/>
<text text-anchor="middle" x="118.5" y="-416.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#3</text>
<text text-anchor="middle" x="118.5" y="-401.3" font-family="Times,serif" font-size="14.00" fill="#000000">Update digest requirement</text>
<text text-anchor="middle" x="118.5" y="-386.3" font-family="Times,serif" font-size="14.00" fill="#000000">from 0.9 to 0.10</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#9 -->
<g id="node10" class="node open">
<title>ZcashFoundation/frost#9</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/9" xlink:title="ZcashFoundation/frost#9&#10;Write a README" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="218,-360 19,-360 19,-322 218,-322 218,-360"/>
<text text-anchor="middle" x="118.5" y="-344.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#9</text>
<text text-anchor="middle" x="118.5" y="-329.8" font-family="Times,serif" font-size="14.00" fill="#000000">Write a README</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#27 -->
<g id="node11" class="node open">
<title>ZcashFoundation/frost#27</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/frost/issues/27" xlink:title="ZcashFoundation/frost#27&#10;Ensure serialization/dese&#10;rialization is up to date&#10;with spec" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="222.5,-304 14.5,-304 14.5,-236 222.5,-236 222.5,-304"/>
<text text-anchor="middle" x="118.5" y="-288.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/frost#27</text>
<text text-anchor="middle" x="118.5" y="-273.8" font-family="Times,serif" font-size="14.00" fill="#000000">Ensure serialization/dese</text>
<text text-anchor="middle" x="118.5" y="-258.8" font-family="Times,serif" font-size="14.00" fill="#000000">rialization is up to date</text>
<text text-anchor="middle" x="118.5" y="-243.8" font-family="Times,serif" font-size="14.00" fill="#000000">with spec</text>
</a>
</g>
</g>
<!-- ZcashFoundation/frost#33 -->
<g id="node12" class="node open">
<title>ZcashFoundation/frost#33</title>
<g id="a_node12"><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="node13" class="node open">
<title>ZcashFoundation/frost#42</title>
<g id="a_node13"><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="node14" class="node open">
<title>ZcashFoundation/frost#35</title>
<g id="a_node14"><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>