ZIP 252: mention amended ZIP 221, and the halo2 book.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2021-03-29 23:19:55 +01:00
parent 37479f7a11
commit 5c6ab07f15
2 changed files with 39 additions and 17 deletions

View File

@ -30,14 +30,16 @@ Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/446">https://githu
<ul>
<li>The Zcash Protocol Specification <a id="id4" class="footnote_reference" href="#protocol">2</a></li>
<li>ZIP 200: Network Upgrade Mechanism <a id="id5" class="footnote_reference" href="#zip-0200">5</a></li>
<li>ZIP 216: Require Canonical Point Encodings <a id="id6" class="footnote_reference" href="#zip-0216">7</a> <em>proposed</em></li>
<li>ZIP 224: Orchard Shielded Protocol <a id="id7" class="footnote_reference" href="#zip-0224">8</a> <em>proposed</em></li>
<li>ZIP 225: Version 5 Transaction Format <a id="id8" class="footnote_reference" href="#zip-0225">9</a> <em>proposed</em></li>
<li>ZIP 244: Transaction Identifier Non-Malleability <a id="id9" class="footnote_reference" href="#zip-0244">10</a> <em>proposed</em></li>
<li>The Orchard Book <a id="id10" class="footnote_reference" href="#orchard-book">11</a></li>
<li>ZIP 216: Require Canonical Point Encodings <a id="id6" class="footnote_reference" href="#zip-0216">7</a></li>
<li>ZIP 221: FlyClient - Consensus-Layer Changes <a id="id7" class="footnote_reference" href="#zip-0221">8</a> (amended)</li>
<li>ZIP 224: Orchard Shielded Protocol <a id="id8" class="footnote_reference" href="#zip-0224">9</a></li>
<li>ZIP 225: Version 5 Transaction Format <a id="id9" class="footnote_reference" href="#zip-0225">10</a></li>
<li>ZIP 244: Transaction Identifier Non-Malleability <a id="id10" class="footnote_reference" href="#zip-0244">11</a></li>
<li>The Orchard Book <a id="id11" class="footnote_reference" href="#orchard-book">12</a></li>
<li>The halo2 Book <a id="id12" class="footnote_reference" href="#halo2-book">13</a></li>
</ul>
<p>The network handshake and peer management mechanisms defined in ZIP 201 <a id="id11" class="footnote_reference" href="#zip-0201">6</a> also apply to this upgrade.</p>
<p>The following network upgrade constants <a id="id12" class="footnote_reference" href="#zip-0200">5</a> are defined for the NU5 upgrade:</p>
<p>The network handshake and peer management mechanisms defined in ZIP 201 <a id="id13" class="footnote_reference" href="#zip-0201">6</a> also apply to this upgrade.</p>
<p>The following network upgrade constants <a id="id14" class="footnote_reference" href="#zip-0200">5</a> are defined for the NU5 upgrade:</p>
<dl>
<dt>CONSENSUS_BRANCH_ID</dt>
<dd><code>0xF919A198</code></dd>
@ -64,7 +66,7 @@ Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/446">https://githu
<section id="backward-compatibility"><h2><span class="section-heading">Backward compatibility</span><span class="section-anchor"> <a rel="bookmark" href="#backward-compatibility"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>Prior to the network upgrade activating on each network, NU5 and pre-NU5 nodes are compatible and can connect to each other.</p>
<p>Once the network upgrades, even though pre-NU5 nodes can still accept the numerically larger protocol version used by NU5 as being valid, NU5 nodes will always disconnect peers using lower protocol versions.</p>
<p>Unlike Blossom, Heartwood, and Canopy, and like Overwinter and Sapling, NU5 defines a new transaction version. Therefore, NU5 transactions MAY be in the new v5 format specified by <a id="id13" class="footnote_reference" href="#zip-0225">9</a>. Unlike previous transaction version updates, the existing v4 transaction format remains valid after NU5 activation. Both transaction formats MUST be accepted by NU5 nodes.</p>
<p>Unlike Blossom, Heartwood, and Canopy, and like Overwinter and Sapling, NU5 defines a new transaction version. Therefore, NU5 transactions MAY be in the new v5 format specified by <a id="id15" class="footnote_reference" href="#zip-0225">10</a>. Unlike previous transaction version updates, the existing v4 transaction format remains valid after NU5 activation. Both transaction formats MUST be accepted by NU5 nodes.</p>
</section>
<section id="support-in-zcashd"><h2><span class="section-heading">Support in zcashd</span><span class="section-anchor"> <a rel="bookmark" href="#support-in-zcashd"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p><strong>TODO: Update as needed</strong></p>
@ -79,7 +81,7 @@ Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/446">https://githu
* This was three days for upgrades up to and including Blossom, and is 1.5 days from Heartwood onward.
*/
static const int NETWORK_UPGRADE_PEER_PREFERENCE_BLOCK_PERIOD = 1728;</pre>
<p>The implementation is similar to that for Overwinter which was described in <a id="id14" class="footnote_reference" href="#zip-0201">6</a>.</p>
<p>The implementation is similar to that for Overwinter which was described in <a id="id16" class="footnote_reference" href="#zip-0201">6</a>.</p>
<p>However, NU5 nodes will have a preference for connecting to other NU5 nodes, so pre-NU5 nodes will gradually be disconnected in the run up to activation.</p>
</section>
</section>
@ -155,10 +157,18 @@ static const int NETWORK_UPGRADE_PEER_PREFERENCE_BLOCK_PERIOD = 1728;</pre>
</tr>
</tbody>
</table>
<table id="zip-0224" class="footnote">
<table id="zip-0221" class="footnote">
<tbody>
<tr>
<th>8</th>
<td><a href="zip-0221">ZIP 221: FlyClient - Consensus-Layer Changes</a></td>
</tr>
</tbody>
</table>
<table id="zip-0224" class="footnote">
<tbody>
<tr>
<th>9</th>
<td><a href="zip-0224">ZIP 224: Orchard Shielded Protocol</a></td>
</tr>
</tbody>
@ -166,7 +176,7 @@ static const int NETWORK_UPGRADE_PEER_PREFERENCE_BLOCK_PERIOD = 1728;</pre>
<table id="zip-0225" class="footnote">
<tbody>
<tr>
<th>9</th>
<th>10</th>
<td><a href="zip-0225">ZIP 225: Version 5 Transaction Format</a></td>
</tr>
</tbody>
@ -174,7 +184,7 @@ static const int NETWORK_UPGRADE_PEER_PREFERENCE_BLOCK_PERIOD = 1728;</pre>
<table id="zip-0244" class="footnote">
<tbody>
<tr>
<th>10</th>
<th>11</th>
<td><a href="zip-0244">ZIP 244: Transaction Identifier Non-Malleability</a></td>
</tr>
</tbody>
@ -182,11 +192,19 @@ static const int NETWORK_UPGRADE_PEER_PREFERENCE_BLOCK_PERIOD = 1728;</pre>
<table id="orchard-book" class="footnote">
<tbody>
<tr>
<th>11</th>
<th>12</th>
<td><a href="https://zcash.github.io/orchard/">The Orchard Book</a></td>
</tr>
</tbody>
</table>
<table id="halo2-book" class="footnote">
<tbody>
<tr>
<th>13</th>
<td><a href="https://zcash.github.io/halo2/">The halo2 Book</a></td>
</tr>
</tbody>
</table>
</section>
</section>
</body>

View File

@ -41,11 +41,13 @@ The primary sources of information about NU5 consensus protocol changes are:
- The Zcash Protocol Specification [#protocol]_
- ZIP 200: Network Upgrade Mechanism [#zip-0200]_
- ZIP 216: Require Canonical Point Encodings [#zip-0216]_ *proposed*
- ZIP 224: Orchard Shielded Protocol [#zip-0224]_ *proposed*
- ZIP 225: Version 5 Transaction Format [#zip-0225]_ *proposed*
- ZIP 244: Transaction Identifier Non-Malleability [#zip-0244]_ *proposed*
- ZIP 216: Require Canonical Point Encodings [#zip-0216]_
- ZIP 221: FlyClient - Consensus-Layer Changes [#zip-0221]_ (amended)
- ZIP 224: Orchard Shielded Protocol [#zip-0224]_
- ZIP 225: Version 5 Transaction Format [#zip-0225]_
- ZIP 244: Transaction Identifier Non-Malleability [#zip-0244]_
- The Orchard Book [#orchard-book]_
- The halo2 Book [#halo2-book]_
The network handshake and peer management mechanisms defined in ZIP 201 [#zip-0201]_
also apply to this upgrade.
@ -181,7 +183,9 @@ References
.. [#zip-0200] `ZIP 200: Network Upgrade Activation Mechanism <zip-0200.rst>`_
.. [#zip-0201] `ZIP 201: Network Peer Management for Overwinter <zip-0201.rst>`_
.. [#zip-0216] `ZIP 216: Require Canonical Point Encodings <zip-0216.rst>`_
.. [#zip-0221] `ZIP 221: FlyClient - Consensus-Layer Changes <zip-0221.rst>`_
.. [#zip-0224] `ZIP 224: Orchard Shielded Protocol <zip-0224.rst>`_
.. [#zip-0225] `ZIP 225: Version 5 Transaction Format <zip-0225.rst>`_
.. [#zip-0244] `ZIP 244: Transaction Identifier Non-Malleability <zip-0244.rst>`_
.. [#orchard-book] `The Orchard Book <https://zcash.github.io/orchard/>`_
.. [#halo2-book] `The halo2 Book <https://zcash.github.io/halo2/>`_