mirror of https://github.com/zcash/zips.git
156 lines
7.0 KiB
HTML
156 lines
7.0 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>ZIP 253: Deployment of the NU6 Network Upgrade</title>
|
|
<meta charset="utf-8" />
|
|
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="css/style.css">
|
|
</head>
|
|
<body>
|
|
<pre><code>ZIP: 253
|
|
Title: Deployment of the NU6 Network Upgrade
|
|
Owners: Arya <arya@zfnd.org>
|
|
Status: Draft
|
|
Category: Consensus / Network
|
|
Created: 2024-07-17
|
|
License: MIT
|
|
Discussions-To: <<a href="https://github.com/zcash/zips/issues/806">https://github.com/zcash/zips/issues/806</a>></code></pre>
|
|
<h1 id="terminology">Terminology</h1>
|
|
<p>The key word “MUST” in this document are to be interpreted as
|
|
described in BCP 14 <a href="#fn1" class="footnote-ref" id="fnref1"
|
|
role="doc-noteref"><sup>1</sup></a> when, and only when, they appear in
|
|
all capitals.</p>
|
|
<p>The term “network upgrade” in this document is to be interpreted as
|
|
described in ZIP 200 <a href="#fn2" class="footnote-ref" id="fnref2"
|
|
role="doc-noteref"><sup>2</sup></a>.</p>
|
|
<p>The terms “Testnet” and “Mainnet” are to be interpreted as described
|
|
in section 3.12 of the Zcash Protocol Specification <a href="#fn3"
|
|
class="footnote-ref" id="fnref3"
|
|
role="doc-noteref"><sup>3</sup></a>.</p>
|
|
<h1 id="abstract">Abstract</h1>
|
|
<p>This proposal defines the deployment of the NU6 network upgrade.</p>
|
|
<h1 id="specification">Specification</h1>
|
|
<h2 id="nu6-deployment">NU6 deployment</h2>
|
|
<!-- TODO: Update these references once ZIP numbers are assigned to the draft ZIPs -->
|
|
<p>The primary sources of information about NU6 consensus protocol
|
|
changes are:</p>
|
|
<ul>
|
|
<li>The Zcash Protocol Specification <a href="#fn4" class="footnote-ref"
|
|
id="fnref4" role="doc-noteref"><sup>4</sup></a>.</li>
|
|
<li>ZIP 200: Network Upgrade Mechanism <a href="#fn5"
|
|
class="footnote-ref" id="fnref5"
|
|
role="doc-noteref"><sup>5</sup></a>.</li>
|
|
<li>ZIP 236: Blocks should balance exactly <a href="#fn6"
|
|
class="footnote-ref" id="fnref6"
|
|
role="doc-noteref"><sup>6</sup></a>.</li>
|
|
<li>ZIP ???: Block Reward Allocation for Non-Direct Development Funding
|
|
<a href="#fn7" class="footnote-ref" id="fnref7"
|
|
role="doc-noteref"><sup>7</sup></a>.</li>
|
|
<li>ZIP 2001: Lockbox Funding Streams <a href="#fn8"
|
|
class="footnote-ref" id="fnref8"
|
|
role="doc-noteref"><sup>8</sup></a>.</li>
|
|
</ul>
|
|
<p>The network handshake and peer management mechanisms defined in ZIP
|
|
201 <a href="#fn9" class="footnote-ref" id="fnref9"
|
|
role="doc-noteref"><sup>9</sup></a> also apply to this upgrade.</p>
|
|
<p>The following ZIPs have been updated in varying degrees to take into
|
|
account NU6:</p>
|
|
<ul>
|
|
<li>ZIP 207: Funding Streams <a href="#fn10" class="footnote-ref"
|
|
id="fnref10" role="doc-noteref"><sup>10</sup></a>.</li>
|
|
<li>ZIP 214: Consensus rules for a Zcash Development Fund <a
|
|
href="#fn11" class="footnote-ref" id="fnref11"
|
|
role="doc-noteref"><sup>11</sup></a>.</li>
|
|
</ul>
|
|
<p>The following network upgrade constants <a href="#fn12"
|
|
class="footnote-ref" id="fnref12" role="doc-noteref"><sup>12</sup></a>
|
|
are defined for the NU6 upgrade:</p>
|
|
<dl>
|
|
<dt>CONSENSUS_BRANCH_ID</dt>
|
|
<dd>
|
|
<code>0xC8E71055</code>
|
|
</dd>
|
|
<dt>ACTIVATION_HEIGHT (NU6)</dt>
|
|
<dd>
|
|
Testnet: 2976000
|
|
</dd>
|
|
<dd>
|
|
Mainnet: TBD
|
|
</dd>
|
|
<dt>MIN_NETWORK_PROTOCOL_VERSION (NU6)</dt>
|
|
<dd>
|
|
Testnet: <code>170110</code>
|
|
</dd>
|
|
<dd>
|
|
Mainnet: <code>170120</code>
|
|
</dd>
|
|
</dl>
|
|
<p>For each network (Testnet and Mainnet), nodes compatible with NU6
|
|
activation on that network MUST advertise a network protocol version
|
|
that is greater than or equal to the MIN_NETWORK_PROTOCOL_VERSION (NU6)
|
|
for that activation.</p>
|
|
<h1 id="backward-compatibility">Backward compatibility</h1>
|
|
<p>Prior to the network upgrade activating on each network, NU6 and
|
|
pre-NU6 nodes are compatible and can connect to each other. However, NU6
|
|
nodes will have a preference for connecting to other NU6 nodes, so
|
|
pre-NU6 nodes will gradually be disconnected in the run up to
|
|
activation.</p>
|
|
<p>Once the network upgrades, even though pre-NU6 nodes can still accept
|
|
the numerically larger protocol version used by NU6 as being valid, NU6
|
|
nodes will always disconnect peers using lower protocol versions.</p>
|
|
<p>NU6 does not define a new transaction version or impose a new minimum
|
|
transaction version. NU6 transactions are therefore in the same v4 or v5
|
|
formats as NU5 transactions. This does not imply that transactions are
|
|
valid across the NU6 activation, since signatures MUST use the
|
|
appropriate consensus branch ID.</p>
|
|
<h1 id="references">References</h1>
|
|
<section class="footnotes footnotes-end-of-document"
|
|
role="doc-endnotes">
|
|
<hr />
|
|
<ol>
|
|
<li id="fn1" role="doc-endnote"><p><a
|
|
href="https://www.rfc-editor.org/info/bcp14">Information on BCP 14 —
|
|
“RFC 2119: Key words for use in RFCs to Indicate Requirement Levels” and
|
|
“RFC 8174: Ambiguity of Uppercase vs Lowercase in RFC 2119 Key
|
|
Words”</a><a href="#fnref1" class="footnote-back"
|
|
role="doc-backlink">↩︎</a></p></li>
|
|
<li id="fn2" role="doc-endnote"><p><a href="zip-0200">ZIP 200:
|
|
Network Upgrade Mechanism</a><a href="#fnref2" class="footnote-back"
|
|
role="doc-backlink">↩︎</a></p></li>
|
|
<li id="fn3" role="doc-endnote"><p><a
|
|
href="protocol/protocol.pdf#networks">Zcash Protocol Specification,
|
|
Version v2023.4.0 or later. Section 3.12: Mainnet and Testnet</a><a
|
|
href="#fnref3" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
|
<li id="fn4" role="doc-endnote"><p><a href="protocol/protocol.pdf">Zcash
|
|
Protocol Specification, Version v2023.4.0 or later</a><a href="#fnref4"
|
|
class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
|
<li id="fn5" role="doc-endnote"><p><a href="zip-0200">ZIP 200:
|
|
Network Upgrade Mechanism</a><a href="#fnref5" class="footnote-back"
|
|
role="doc-backlink">↩︎</a></p></li>
|
|
<li id="fn6" role="doc-endnote"><p><a href="zip-0236">ZIP 236:
|
|
Blocks should balance exactly</a><a href="#fnref6" class="footnote-back"
|
|
role="doc-backlink">↩︎</a></p></li>
|
|
<li id="fn7" role="doc-endnote"><p><a
|
|
href="draft-nuttycom-funding-allocation.rst">ZIP ???: Block Reward
|
|
Allocation for Non-Direct Development Funding</a><a href="#fnref7"
|
|
class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
|
<li id="fn8" role="doc-endnote"><p><a href="zip-2001">ZIP 2001:
|
|
Lockbox Funding Streams</a><a href="#fnref8" class="footnote-back"
|
|
role="doc-backlink">↩︎</a></p></li>
|
|
<li id="fn9" role="doc-endnote"><p><a href="zip-0201">ZIP 201:
|
|
Network Peer Management for Overwinter</a><a href="#fnref9"
|
|
class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
|
<li id="fn10" role="doc-endnote"><p><a href="zip-0207">ZIP 207:
|
|
Funding Streams</a><a href="#fnref10" class="footnote-back"
|
|
role="doc-backlink">↩︎</a></p></li>
|
|
<li id="fn11" role="doc-endnote"><p><a href="zip-0214">ZIP 214:
|
|
Consensus rules for a Zcash Development Fund</a><a href="#fnref11"
|
|
class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
|
<li id="fn12" role="doc-endnote"><p><a href="zip-0200">ZIP 200:
|
|
Network Upgrade Mechanism</a><a href="#fnref12" class="footnote-back"
|
|
role="doc-backlink">↩︎</a></p></li>
|
|
</ol>
|
|
</section>
|
|
</body>
|
|
</html>
|