Skip to content

Commit

Permalink
Merge pull request #904 from daira/nu6-updates
Browse files Browse the repository at this point in the history
NU6 spec updates
  • Loading branch information
daira authored Sep 26, 2024
2 parents 93a1a87 + c8d3553 commit 9d9a1eb
Show file tree
Hide file tree
Showing 23 changed files with 971 additions and 422 deletions.
12 changes: 5 additions & 7 deletions protocol/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,9 @@ PDFDIR=../rendered/protocol

.PHONY: all protocol all-specs tag-release discard
all: .Makefile.uptodate
$(MAKE) $(PDFDIR)/nu6.pdf $(PDFDIR)/nu5.pdf $(PDFDIR)/canopy.pdf $(PDFDIR)/heartwood.pdf $(PDFDIR)/blossom.pdf $(PDFDIR)/sapling.pdf
$(MAKE) protocol
$(MAKE) $(PDFDIR)/protocol.pdf $(PDFDIR)/nu5.pdf $(PDFDIR)/canopy.pdf $(PDFDIR)/heartwood.pdf $(PDFDIR)/blossom.pdf $(PDFDIR)/sapling.pdf

protocol: $(PDFDIR)/nu5.pdf
cp -f $(PDFDIR)/nu5.pdf $(PDFDIR)/protocol.pdf
protocol: $(PDFDIR)/protocol.pdf

all-specs: .Makefile.uptodate
$(MAKE) nu6 nu5 canopy heartwood blossom sapling
Expand Down Expand Up @@ -66,7 +64,7 @@ $(PDFDIR)/canopy.pdf: protocol.tex zcash.bib jubjub.png key_components_sapling.p
$(PDFDIR)/nu5.pdf: protocol.tex zcash.bib jubjub.png key_components_sapling.png key_components_orchard.png incremental_merkle.png
$(MAKE) nu5

$(PDFDIR)/nu6.pdf: protocol.tex zcash.bib jubjub.png key_components_sapling.png key_components_orchard.png incremental_merkle.png
$(PDFDIR)/protocol.pdf: protocol.tex zcash.bib jubjub.png key_components_sapling.png key_components_orchard.png incremental_merkle.png
$(MAKE) nu6

.PHONY: auxsapling sapling
Expand Down Expand Up @@ -139,8 +137,8 @@ auxnu6:

nu6:
$(MAKE) auxnu6
mv -f aux/nu6.pdf $(PDFDIR)
mv -f aux/nu6.pdf $(PDFDIR)/protocol.pdf

.PHONY: clean
clean:
rm -f aux/* protocol.ver $(PDFDIR)/protocol.pdf $(PDFDIR)/nu6.pdf $(PDFDIR)/nu5.pdf $(PDFDIR)/canopy.pdf $(PDFDIR)/heartwood.pdf $(PDFDIR)/blossom.pdf $(PDFDIR)/sapling.pdf
rm -f aux/* protocol.ver $(PDFDIR)/protocol.pdf $(PDFDIR)/nu5.pdf $(PDFDIR)/canopy.pdf $(PDFDIR)/heartwood.pdf $(PDFDIR)/blossom.pdf $(PDFDIR)/sapling.pdf
493 changes: 336 additions & 157 deletions protocol/protocol.tex

Large diffs are not rendered by default.

45 changes: 45 additions & 0 deletions protocol/zcash.bib
Original file line number Diff line number Diff line change
Expand Up @@ -1408,6 +1408,15 @@ @misc{ZIP-225
urldate={2021-03-21}
}

@misc{ZIP-236,
presort={ZIP-0236},
author={{Daira\nbh{}Emma} Hopwood},
title={Blocks should balance exactly},
howpublished={Zcash Improvement Proposal 236. Created July~2, 2024.},
url={https://zips.z.cash/zip-0236},
urldate={2024-09-24}
}

@misc{ZIP-239,
presort={ZIP-0239},
author={{Daira\nbh{}Emma} Hopwood and Jack Grigg},
Expand Down Expand Up @@ -1471,6 +1480,15 @@ @misc{ZIP-252
urldate={2022-06-22}
}

@misc{ZIP-253,
presort={ZIP-0253},
author={Arya},
title={Deployment of the {NU6} Network Upgrade},
howpublished={Zcash Improvement Proposal 253. Created July~17, 2024.},
url={https://zips.z.cash/zip-0253},
urldate={2024-09-24}
}

@misc{ZIP-302,
presort={ZIP-0302},
author={Jay Graber and Jack Grigg},
Expand All @@ -1489,6 +1507,33 @@ @misc{ZIP-316
urldate={2021-04-29}
}

@misc{ZIP-1014,
presort={ZIP-1014},
author={Andrew Miller and Zooko Wilcox},
title={Establishing a Dev Fund for ECC, ZF, and Major Grants},
howpublished={Zcash Improvement Proposal 1014. Created November~10, 2019.},
url={https://zips.z.cash/zip-1014},
urldate={2024-09-24}
}

@misc{ZIP-1015,
presort={ZIP-1015},
author={Jason McGee and @Peacemonger and Kris Nuttycombe},
title={Block Reward Allocation for Non-Direct Development Funding},
howpublished={Zcash Improvement Proposal 1015. Created August~26, 2024.},
url={https://zips.z.cash/zip-1015},
urldate={2024-09-24}
}

@misc{ZIP-2001,
presort={ZIP-2001},
author={Kris Nuttycombe},
title={Lockbox Funding Streams},
howpublished={Zcash Improvement Proposal 2001. Created July~2, 2024.},
url={https://zips.z.cash/zip-2001},
urldate={2024-09-24}
}

@misc{DigiByte-PoW,
presort={DigiByte-PoW},
author={DigiByte Core Developers},
Expand Down
Binary file modified rendered/protocol/blossom.pdf
Binary file not shown.
Binary file modified rendered/protocol/canopy.pdf
Binary file not shown.
Binary file modified rendered/protocol/heartwood.pdf
Binary file not shown.
Binary file modified rendered/protocol/nu5.pdf
Binary file not shown.
Binary file modified rendered/protocol/protocol.pdf
Binary file not shown.
Binary file modified rendered/protocol/sapling.pdf
Binary file not shown.
202 changes: 157 additions & 45 deletions rendered/zip-0207.html

Large diffs are not rendered by default.

28 changes: 15 additions & 13 deletions rendered/zip-0214.html
Original file line number Diff line number Diff line change
Expand Up @@ -150,15 +150,15 @@
</thead>
<tbody>
<tr>
<td><code>FS_DEFERRED</code></td>
<td>12</td>
<td><code>FS_FPF_ZCG</code></td>
<td>8</td>
<td>100</td>
<td>2726400</td>
<td>3146400</td>
</tr>
<tr>
<td><code>FS_FPF_ZCG</code></td>
<td>8</td>
<td><code>FS_DEFERRED</code></td>
<td>12</td>
<td>100</td>
<td>2726400</td>
<td>3146400</td>
Expand All @@ -178,15 +178,15 @@
</thead>
<tbody>
<tr>
<td><code>FS_DEFERRED</code></td>
<td>12</td>
<td><code>FS_FPF_ZCG</code></td>
<td>8</td>
<td>100</td>
<td>2976000</td>
<td>3396000</td>
</tr>
<tr>
<td><code>FS_FPF_ZCG</code></td>
<td>8</td>
<td><code>FS_DEFERRED</code></td>
<td>12</td>
<td>100</td>
<td>2976000</td>
<td>3396000</td>
Expand Down Expand Up @@ -277,7 +277,9 @@ <h3>Mainnet Recipient Addresses for <a href="#revision-0">Revision 0</a></h3>
</section>
<section id="mainnet-recipient-addresses-for-revision-1">
<h3>Mainnet Recipient Addresses for <a href="#revision-1">Revision 1</a></h3>
<p>&lt;TBD&gt;</p>
<blockquote>
<p>FS_FPF_ZCG.AddressList[0..11] = ["t3cFfPt1Bcvgez9ZbMBFWeZsskxTkPzGCow"] * 12</p>
</blockquote>
</section>
<section id="testnet-recipient-addresses-for-revision-0">
<h3>Testnet Recipient Addresses for <a href="#revision-0">Revision 0</a></h3>
Expand Down Expand Up @@ -369,31 +371,31 @@ <h2>Rationale for <a href="#revision-0">Revision 0</a></h2>
<tbody>
<tr>
<th>2</th>
<td><a href="protocol/protocol.pdf">Zcash Protocol Specification, Version 2023.4.0 or later</a></td>
<td><a href="protocol/protocol.pdf">Zcash Protocol Specification, Version 2024.5.1 or later</a></td>
</tr>
</tbody>
</table>
<table id="protocol-subsidyconcepts" class="footnote">
<tbody>
<tr>
<th>3</th>
<td><a href="protocol/protocol.pdf#subsidyconcepts">Zcash Protocol Specification, Version 2023.4.0 [NU5]. Section 3.10: Block Subsidy, Funding Streams, and Founders' Reward</a></td>
<td><a href="protocol/protocol.pdf#subsidyconcepts">Zcash Protocol Specification, Version 2024.5.1 [NU6]. Section 3.10: Block Subsidy, Funding Streams, and Founders' Reward</a></td>
</tr>
</tbody>
</table>
<table id="protocol-networks" class="footnote">
<tbody>
<tr>
<th>4</th>
<td><a href="protocol/protocol.pdf#networks">Zcash Protocol Specification, Version 2023.4.0 [NU5]. Section 3.12: Mainnet and Testnet</a></td>
<td><a href="protocol/protocol.pdf#networks">Zcash Protocol Specification, Version 2024.5.1 [NU6]. Section 3.12: Mainnet and Testnet</a></td>
</tr>
</tbody>
</table>
<table id="protocol-subsidies" class="footnote">
<tbody>
<tr>
<th>5</th>
<td><a href="protocol/protocol.pdf#subsidies">Zcash Protocol Specification, Version 2023.4.0 [NU5]. Section 7.8: Calculation of Block Subsidy, Funding Streams, and Founders' Reward</a></td>
<td><a href="protocol/protocol.pdf#subsidies">Zcash Protocol Specification, Version 2024.5.1 [NU6]. Section 7.8: Calculation of Block Subsidy, Funding Streams, and Founders' Reward</a></td>
</tr>
</tbody>
</table>
Expand Down
2 changes: 1 addition & 1 deletion rendered/zip-0227.html
Original file line number Diff line number Diff line change
Expand Up @@ -803,7 +803,7 @@
</ul>
</section>
<section id="deployment"><h2><span class="section-heading">Deployment</span><span class="section-anchor"> <a rel="bookmark" href="#deployment"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>This ZIP is proposed to activate with Network Upgrade 6.</p>
<p>TBD</p>
</section>
<section id="references"><h2><span class="section-heading">References</span><span class="section-anchor"> <a rel="bookmark" href="#references"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<table id="bcp14" class="footnote">
Expand Down
21 changes: 12 additions & 9 deletions rendered/zip-0236.html
Original file line number Diff line number Diff line change
Expand Up @@ -53,23 +53,26 @@
<blockquote>
<p>Transparent inputs to a transaction insert value into a transparent transaction value pool associated with the transaction, and transparent outputs remove value from this pool. The effect of Sapling Spends and Outputs, and of Orchard Actions on the transaction value pool are specified in § 4.13 and § 4.14 respectively.</p>
<p>As in Bitcoin, the remaining value in the transparent transaction value pool of a non-coinbase transaction is available to miners as a fee. That is, the sum of those values for non-coinbase transactions in each block is treated as an implicit input to the transaction value balance of the block's coinbase transaction (in addition to the implicit input created by issuance).</p>
<p>The remaining value in the transparent transaction value pool of coinbase transactions in blocks prior to NU-X is destroyed. From activation of NU-X, this remaining value is required to be zero; that is, all of the available balance MUST be consumed by outputs of the coinbase transaction.</p>
<p>The remaining value in the transparent transaction value pool of coinbase transactions in blocks prior to NU6 is destroyed. From activation of NU6, this remaining value is required to be zero; that is, all of the available balance MUST be consumed by outputs of the coinbase transaction.</p>
<p><strong>Consensus rules:</strong></p>
<ul>
<li>The remaining value in the transparent transaction value pool of a non-coinbase transaction MUST be nonnegative.</li>
<li>[Pre-NU-X] The remaining value in the transparent transaction value pool of a coinbase transaction MUST be nonnegative.</li>
<li>[NU-X onward] The remaining value in the transparent transaction value pool of a coinbase transaction MUST be zero.</li>
<li>[Pre-NU6] The remaining value in the transparent transaction value pool of a coinbase transaction MUST be nonnegative.</li>
<li>[NU6 onward] The remaining value in the transparent transaction value pool of a coinbase transaction MUST be zero.</li>
</ul>
</blockquote>
<p>where "NU-X" is to be replaced by the designation of the network upgrade in which this ZIP will be activated.</p>
<p>where "NU6" is to be replaced by the designation of the network upgrade in which this ZIP will be activated.</p>
<p>Note that the differences in the first two paragraphs of the above replacement text are clarifications of the protocol, rather than consensus changes. Those could be made independently of this ZIP.</p>
<p>This change applies identically to Mainnet and Testnet.</p>
</section>
<section id="deployment"><h2><span class="section-heading">Deployment</span><span class="section-anchor"> <a rel="bookmark" href="#deployment"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>Subject to community agreement, this ZIP is proposed to be deployed with NU6. <a id="footnote-reference-6" class="footnote_reference" href="#zip-0253">6</a></p>
<p>This ZIP is proposed to be deployed with NU6. <a id="footnote-reference-6" class="footnote_reference" href="#zip-0253">6</a></p>
</section>
<section id="reference-implementation"><h2><span class="section-heading">Reference implementation</span><span class="section-anchor"> <a rel="bookmark" href="#reference-implementation"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>TODO</p>
<ul>
<li><a href="https://github.com/zcash/zcash/pull/6933">https://github.com/zcash/zcash/pull/6933</a> (zcashd)</li>
<li><a href="https://github.com/ZcashFoundation/zebra/pull/8727">https://github.com/ZcashFoundation/zebra/pull/8727</a> (zebrad)</li>
</ul>
</section>
<section id="acknowledgements"><h2><span class="section-heading">Acknowledgements</span><span class="section-anchor"> <a rel="bookmark" href="#acknowledgements"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>The author would like to thank Jack Grigg and Kris Nuttycombe for discussions leading to the submission of this ZIP.</p>
Expand All @@ -87,23 +90,23 @@
<tbody>
<tr>
<th>2</th>
<td><a href="protocol/protocol.pdf">Zcash Protocol Specification, Version 2023.4.0 or later</a></td>
<td><a href="protocol/protocol.pdf">Zcash Protocol Specification, Version 2024.5.1 or later</a></td>
</tr>
</tbody>
</table>
<table id="protocol-transactions" class="footnote">
<tbody>
<tr>
<th>3</th>
<td><a href="protocol/protocol.pdf#transactions">Zcash Protocol Specification, Version 2023.4.0. Section 3.4: Transactions and Treestates</a></td>
<td><a href="protocol/protocol.pdf#transactions">Zcash Protocol Specification, Version 2024.5.1 [NU6]. Section 3.4: Transactions and Treestates</a></td>
</tr>
</tbody>
</table>
<table id="protocol-networks" class="footnote">
<tbody>
<tr>
<th>4</th>
<td><a href="protocol/protocol.pdf#networks">Zcash Protocol Specification, Version 2023.4.0. Section 3.12: Mainnet and Testnet</a></td>
<td><a href="protocol/protocol.pdf#networks">Zcash Protocol Specification, Version 2024.5.1 [NU6]. Section 3.12: Mainnet and Testnet</a></td>
</tr>
</tbody>
</table>
Expand Down
6 changes: 3 additions & 3 deletions rendered/zip-0253.html
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ <h2 id="nu6-deployment">NU6 deployment</h2>
Testnet: 2976000
</dd>
<dd>
Mainnet: TBD
Mainnet: 2726400
</dd>
<dt>MIN_NETWORK_PROTOCOL_VERSION (NU6)</dt>
<dd>
Expand Down Expand Up @@ -117,11 +117,11 @@ <h1 id="references">References</h1>
Mechanism</a><a href="#fnref2" class="footnote-back"
role="doc-backlink">↩︎</a></p></li>
<li id="fn3"><p><a href="protocol/protocol.pdf#networks">Zcash Protocol
Specification, Version v2023.4.0 or later. Section 3.12: Mainnet and
Specification, Version 2024.5.1 [NU6]. Section 3.12: Mainnet and
Testnet</a><a href="#fnref3" class="footnote-back"
role="doc-backlink">↩︎</a></p></li>
<li id="fn4"><p><a href="protocol/protocol.pdf">Zcash Protocol
Specification, Version v2023.4.0 or later</a><a href="#fnref4"
Specification, Version 2024.5.1 or later</a><a href="#fnref4"
class="footnote-back" role="doc-backlink">↩︎</a></p></li>
<li id="fn5"><p><a href="zip-0200">ZIP 200: Network Upgrade
Mechanism</a><a href="#fnref5" class="footnote-back"
Expand Down
18 changes: 9 additions & 9 deletions rendered/zip-1015.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
License: MIT
Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/881">https://github.com/zcash/zips/pull/881</a>&gt;</pre>
<section id="terminology"><h2><span class="section-heading">Terminology</span><span class="section-anchor"> <a rel="bookmark" href="#terminology"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>The key words "MUST", "REQUIRED", "MUST NOT", "SHOULD", and "MAY" in this document are to be interpreted as described in BCP 14 <a id="footnote-reference-1" class="footnote_reference" href="#bcp14">1</a> when, and only when, they appear in all capitals.</p>
<p>The key words "MUST", "SHALL", "MUST NOT", "SHOULD", and "MAY" in this document are to be interpreted as described in BCP 14 <a id="footnote-reference-1" class="footnote_reference" href="#bcp14">1</a> when, and only when, they appear in all capitals.</p>
<p>"Zcash Community Advisory Panel", also called "ZCAP", refers to the panel of community members assembled by the Zcash Foundation and described at <a id="footnote-reference-2" class="footnote_reference" href="#zcap">5</a>.</p>
<p>"Zcash Community Grants", also called "ZCG", refers to the committee selected by the Zcash Community Advisory Panel or a successor process (e.g. as established by FPF) to decide on the funding of grants intended to fund the Zcash ecosystem.</p>
<p>"Financial Privacy Foundation", also called "FPF", refers to the Cayman Islands-incorporated non-profit foundation company limited by guarantee of that name.</p>
Expand Down Expand Up @@ -132,15 +132,15 @@
</thead>
<tbody>
<tr>
<td><code>FS_DEFERRED</code></td>
<td>12</td>
<td><code>FS_FPF_ZCG</code></td>
<td>8</td>
<td>100</td>
<td>2726400</td>
<td>3146400</td>
</tr>
<tr>
<td><code>FS_FPF_ZCG</code></td>
<td>8</td>
<td><code>FS_DEFERRED</code></td>
<td>12</td>
<td>100</td>
<td>2726400</td>
<td>3146400</td>
Expand All @@ -160,15 +160,15 @@
</thead>
<tbody>
<tr>
<td><code>FS_DEFERRED</code></td>
<td>12</td>
<td><code>FS_FPF_ZCG</code></td>
<td>8</td>
<td>100</td>
<td>2976000</td>
<td>3396000</td>
</tr>
<tr>
<td><code>FS_FPF_ZCG</code></td>
<td>8</td>
<td><code>FS_DEFERRED</code></td>
<td>12</td>
<td>100</td>
<td>2976000</td>
<td>3396000</td>
Expand Down
Loading

0 comments on commit 9d9a1eb

Please sign in to comment.