Skip to content

Commit 9d9a1eb

Browse files
authored
Merge pull request zcash#904 from daira/nu6-updates
NU6 spec updates
2 parents 93a1a87 + c8d3553 commit 9d9a1eb

23 files changed

+971
-422
lines changed

protocol/Makefile

+5-7
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,9 @@ PDFDIR=../rendered/protocol
2222

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

28-
protocol: $(PDFDIR)/nu5.pdf
29-
cp -f $(PDFDIR)/nu5.pdf $(PDFDIR)/protocol.pdf
27+
protocol: $(PDFDIR)/protocol.pdf
3028

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

69-
$(PDFDIR)/nu6.pdf: protocol.tex zcash.bib jubjub.png key_components_sapling.png key_components_orchard.png incremental_merkle.png
67+
$(PDFDIR)/protocol.pdf: protocol.tex zcash.bib jubjub.png key_components_sapling.png key_components_orchard.png incremental_merkle.png
7068
$(MAKE) nu6
7169

7270
.PHONY: auxsapling sapling
@@ -139,8 +137,8 @@ auxnu6:
139137

140138
nu6:
141139
$(MAKE) auxnu6
142-
mv -f aux/nu6.pdf $(PDFDIR)
140+
mv -f aux/nu6.pdf $(PDFDIR)/protocol.pdf
143141

144142
.PHONY: clean
145143
clean:
146-
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
144+
rm -f aux/* protocol.ver $(PDFDIR)/protocol.pdf $(PDFDIR)/nu5.pdf $(PDFDIR)/canopy.pdf $(PDFDIR)/heartwood.pdf $(PDFDIR)/blossom.pdf $(PDFDIR)/sapling.pdf

protocol/protocol.tex

+336-157
Large diffs are not rendered by default.

protocol/zcash.bib

+45
Original file line numberDiff line numberDiff line change
@@ -1408,6 +1408,15 @@ @misc{ZIP-225
14081408
urldate={2021-03-21}
14091409
}
14101410

1411+
@misc{ZIP-236,
1412+
presort={ZIP-0236},
1413+
author={{Daira\nbh{}Emma} Hopwood},
1414+
title={Blocks should balance exactly},
1415+
howpublished={Zcash Improvement Proposal 236. Created July~2, 2024.},
1416+
url={https://zips.z.cash/zip-0236},
1417+
urldate={2024-09-24}
1418+
}
1419+
14111420
@misc{ZIP-239,
14121421
presort={ZIP-0239},
14131422
author={{Daira\nbh{}Emma} Hopwood and Jack Grigg},
@@ -1471,6 +1480,15 @@ @misc{ZIP-252
14711480
urldate={2022-06-22}
14721481
}
14731482

1483+
@misc{ZIP-253,
1484+
presort={ZIP-0253},
1485+
author={Arya},
1486+
title={Deployment of the {NU6} Network Upgrade},
1487+
howpublished={Zcash Improvement Proposal 253. Created July~17, 2024.},
1488+
url={https://zips.z.cash/zip-0253},
1489+
urldate={2024-09-24}
1490+
}
1491+
14741492
@misc{ZIP-302,
14751493
presort={ZIP-0302},
14761494
author={Jay Graber and Jack Grigg},
@@ -1489,6 +1507,33 @@ @misc{ZIP-316
14891507
urldate={2021-04-29}
14901508
}
14911509

1510+
@misc{ZIP-1014,
1511+
presort={ZIP-1014},
1512+
author={Andrew Miller and Zooko Wilcox},
1513+
title={Establishing a Dev Fund for ECC, ZF, and Major Grants},
1514+
howpublished={Zcash Improvement Proposal 1014. Created November~10, 2019.},
1515+
url={https://zips.z.cash/zip-1014},
1516+
urldate={2024-09-24}
1517+
}
1518+
1519+
@misc{ZIP-1015,
1520+
presort={ZIP-1015},
1521+
author={Jason McGee and @Peacemonger and Kris Nuttycombe},
1522+
title={Block Reward Allocation for Non-Direct Development Funding},
1523+
howpublished={Zcash Improvement Proposal 1015. Created August~26, 2024.},
1524+
url={https://zips.z.cash/zip-1015},
1525+
urldate={2024-09-24}
1526+
}
1527+
1528+
@misc{ZIP-2001,
1529+
presort={ZIP-2001},
1530+
author={Kris Nuttycombe},
1531+
title={Lockbox Funding Streams},
1532+
howpublished={Zcash Improvement Proposal 2001. Created July~2, 2024.},
1533+
url={https://zips.z.cash/zip-2001},
1534+
urldate={2024-09-24}
1535+
}
1536+
14921537
@misc{DigiByte-PoW,
14931538
presort={DigiByte-PoW},
14941539
author={DigiByte Core Developers},

rendered/protocol/blossom.pdf

6.96 KB
Binary file not shown.

rendered/protocol/canopy.pdf

8 KB
Binary file not shown.

rendered/protocol/heartwood.pdf

8.23 KB
Binary file not shown.

rendered/protocol/nu5.pdf

7.67 KB
Binary file not shown.

rendered/protocol/protocol.pdf

14.9 KB
Binary file not shown.

rendered/protocol/sapling.pdf

7.5 KB
Binary file not shown.

rendered/zip-0207.html

+157-45
Large diffs are not rendered by default.

rendered/zip-0214.html

+15-13
Original file line numberDiff line numberDiff line change
@@ -150,15 +150,15 @@
150150
</thead>
151151
<tbody>
152152
<tr>
153-
<td><code>FS_DEFERRED</code></td>
154-
<td>12</td>
153+
<td><code>FS_FPF_ZCG</code></td>
154+
<td>8</td>
155155
<td>100</td>
156156
<td>2726400</td>
157157
<td>3146400</td>
158158
</tr>
159159
<tr>
160-
<td><code>FS_FPF_ZCG</code></td>
161-
<td>8</td>
160+
<td><code>FS_DEFERRED</code></td>
161+
<td>12</td>
162162
<td>100</td>
163163
<td>2726400</td>
164164
<td>3146400</td>
@@ -178,15 +178,15 @@
178178
</thead>
179179
<tbody>
180180
<tr>
181-
<td><code>FS_DEFERRED</code></td>
182-
<td>12</td>
181+
<td><code>FS_FPF_ZCG</code></td>
182+
<td>8</td>
183183
<td>100</td>
184184
<td>2976000</td>
185185
<td>3396000</td>
186186
</tr>
187187
<tr>
188-
<td><code>FS_FPF_ZCG</code></td>
189-
<td>8</td>
188+
<td><code>FS_DEFERRED</code></td>
189+
<td>12</td>
190190
<td>100</td>
191191
<td>2976000</td>
192192
<td>3396000</td>
@@ -277,7 +277,9 @@ <h3>Mainnet Recipient Addresses for <a href="#revision-0">Revision 0</a></h3>
277277
</section>
278278
<section id="mainnet-recipient-addresses-for-revision-1">
279279
<h3>Mainnet Recipient Addresses for <a href="#revision-1">Revision 1</a></h3>
280-
<p>&lt;TBD&gt;</p>
280+
<blockquote>
281+
<p>FS_FPF_ZCG.AddressList[0..11] = ["t3cFfPt1Bcvgez9ZbMBFWeZsskxTkPzGCow"] * 12</p>
282+
</blockquote>
281283
</section>
282284
<section id="testnet-recipient-addresses-for-revision-0">
283285
<h3>Testnet Recipient Addresses for <a href="#revision-0">Revision 0</a></h3>
@@ -369,31 +371,31 @@ <h2>Rationale for <a href="#revision-0">Revision 0</a></h2>
369371
<tbody>
370372
<tr>
371373
<th>2</th>
372-
<td><a href="protocol/protocol.pdf">Zcash Protocol Specification, Version 2023.4.0 or later</a></td>
374+
<td><a href="protocol/protocol.pdf">Zcash Protocol Specification, Version 2024.5.1 or later</a></td>
373375
</tr>
374376
</tbody>
375377
</table>
376378
<table id="protocol-subsidyconcepts" class="footnote">
377379
<tbody>
378380
<tr>
379381
<th>3</th>
380-
<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>
382+
<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>
381383
</tr>
382384
</tbody>
383385
</table>
384386
<table id="protocol-networks" class="footnote">
385387
<tbody>
386388
<tr>
387389
<th>4</th>
388-
<td><a href="protocol/protocol.pdf#networks">Zcash Protocol Specification, Version 2023.4.0 [NU5]. Section 3.12: Mainnet and Testnet</a></td>
390+
<td><a href="protocol/protocol.pdf#networks">Zcash Protocol Specification, Version 2024.5.1 [NU6]. Section 3.12: Mainnet and Testnet</a></td>
389391
</tr>
390392
</tbody>
391393
</table>
392394
<table id="protocol-subsidies" class="footnote">
393395
<tbody>
394396
<tr>
395397
<th>5</th>
396-
<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>
398+
<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>
397399
</tr>
398400
</tbody>
399401
</table>

rendered/zip-0227.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -803,7 +803,7 @@
803803
</ul>
804804
</section>
805805
<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>
806-
<p>This ZIP is proposed to activate with Network Upgrade 6.</p>
806+
<p>TBD</p>
807807
</section>
808808
<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>
809809
<table id="bcp14" class="footnote">

rendered/zip-0236.html

+12-9
Original file line numberDiff line numberDiff line change
@@ -53,23 +53,26 @@
5353
<blockquote>
5454
<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>
5555
<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>
56-
<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>
56+
<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>
5757
<p><strong>Consensus rules:</strong></p>
5858
<ul>
5959
<li>The remaining value in the transparent transaction value pool of a non-coinbase transaction MUST be nonnegative.</li>
60-
<li>[Pre-NU-X] The remaining value in the transparent transaction value pool of a coinbase transaction MUST be nonnegative.</li>
61-
<li>[NU-X onward] The remaining value in the transparent transaction value pool of a coinbase transaction MUST be zero.</li>
60+
<li>[Pre-NU6] The remaining value in the transparent transaction value pool of a coinbase transaction MUST be nonnegative.</li>
61+
<li>[NU6 onward] The remaining value in the transparent transaction value pool of a coinbase transaction MUST be zero.</li>
6262
</ul>
6363
</blockquote>
64-
<p>where "NU-X" is to be replaced by the designation of the network upgrade in which this ZIP will be activated.</p>
64+
<p>where "NU6" is to be replaced by the designation of the network upgrade in which this ZIP will be activated.</p>
6565
<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>
6666
<p>This change applies identically to Mainnet and Testnet.</p>
6767
</section>
6868
<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>
69-
<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>
69+
<p>This ZIP is proposed to be deployed with NU6. <a id="footnote-reference-6" class="footnote_reference" href="#zip-0253">6</a></p>
7070
</section>
7171
<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>
72-
<p>TODO</p>
72+
<ul>
73+
<li><a href="https://github.com/zcash/zcash/pull/6933">https://github.com/zcash/zcash/pull/6933</a> (zcashd)</li>
74+
<li><a href="https://github.com/ZcashFoundation/zebra/pull/8727">https://github.com/ZcashFoundation/zebra/pull/8727</a> (zebrad)</li>
75+
</ul>
7376
</section>
7477
<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>
7578
<p>The author would like to thank Jack Grigg and Kris Nuttycombe for discussions leading to the submission of this ZIP.</p>
@@ -87,23 +90,23 @@
8790
<tbody>
8891
<tr>
8992
<th>2</th>
90-
<td><a href="protocol/protocol.pdf">Zcash Protocol Specification, Version 2023.4.0 or later</a></td>
93+
<td><a href="protocol/protocol.pdf">Zcash Protocol Specification, Version 2024.5.1 or later</a></td>
9194
</tr>
9295
</tbody>
9396
</table>
9497
<table id="protocol-transactions" class="footnote">
9598
<tbody>
9699
<tr>
97100
<th>3</th>
98-
<td><a href="protocol/protocol.pdf#transactions">Zcash Protocol Specification, Version 2023.4.0. Section 3.4: Transactions and Treestates</a></td>
101+
<td><a href="protocol/protocol.pdf#transactions">Zcash Protocol Specification, Version 2024.5.1 [NU6]. Section 3.4: Transactions and Treestates</a></td>
99102
</tr>
100103
</tbody>
101104
</table>
102105
<table id="protocol-networks" class="footnote">
103106
<tbody>
104107
<tr>
105108
<th>4</th>
106-
<td><a href="protocol/protocol.pdf#networks">Zcash Protocol Specification, Version 2023.4.0. Section 3.12: Mainnet and Testnet</a></td>
109+
<td><a href="protocol/protocol.pdf#networks">Zcash Protocol Specification, Version 2024.5.1 [NU6]. Section 3.12: Mainnet and Testnet</a></td>
107110
</tr>
108111
</tbody>
109112
</table>

rendered/zip-0253.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ <h2 id="nu6-deployment">NU6 deployment</h2>
7474
Testnet: 2976000
7575
</dd>
7676
<dd>
77-
Mainnet: TBD
77+
Mainnet: 2726400
7878
</dd>
7979
<dt>MIN_NETWORK_PROTOCOL_VERSION (NU6)</dt>
8080
<dd>
@@ -117,11 +117,11 @@ <h1 id="references">References</h1>
117117
Mechanism</a><a href="#fnref2" class="footnote-back"
118118
role="doc-backlink">↩︎</a></p></li>
119119
<li id="fn3"><p><a href="protocol/protocol.pdf#networks">Zcash Protocol
120-
Specification, Version v2023.4.0 or later. Section 3.12: Mainnet and
120+
Specification, Version 2024.5.1 [NU6]. Section 3.12: Mainnet and
121121
Testnet</a><a href="#fnref3" class="footnote-back"
122122
role="doc-backlink">↩︎</a></p></li>
123123
<li id="fn4"><p><a href="protocol/protocol.pdf">Zcash Protocol
124-
Specification, Version v2023.4.0 or later</a><a href="#fnref4"
124+
Specification, Version 2024.5.1 or later</a><a href="#fnref4"
125125
class="footnote-back" role="doc-backlink">↩︎</a></p></li>
126126
<li id="fn5"><p><a href="zip-0200">ZIP 200: Network Upgrade
127127
Mechanism</a><a href="#fnref5" class="footnote-back"

rendered/zip-1015.html

+9-9
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
License: MIT
2222
Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/881">https://github.com/zcash/zips/pull/881</a>&gt;</pre>
2323
<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>
24-
<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>
24+
<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>
2525
<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>
2626
<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>
2727
<p>"Financial Privacy Foundation", also called "FPF", refers to the Cayman Islands-incorporated non-profit foundation company limited by guarantee of that name.</p>
@@ -132,15 +132,15 @@
132132
</thead>
133133
<tbody>
134134
<tr>
135-
<td><code>FS_DEFERRED</code></td>
136-
<td>12</td>
135+
<td><code>FS_FPF_ZCG</code></td>
136+
<td>8</td>
137137
<td>100</td>
138138
<td>2726400</td>
139139
<td>3146400</td>
140140
</tr>
141141
<tr>
142-
<td><code>FS_FPF_ZCG</code></td>
143-
<td>8</td>
142+
<td><code>FS_DEFERRED</code></td>
143+
<td>12</td>
144144
<td>100</td>
145145
<td>2726400</td>
146146
<td>3146400</td>
@@ -160,15 +160,15 @@
160160
</thead>
161161
<tbody>
162162
<tr>
163-
<td><code>FS_DEFERRED</code></td>
164-
<td>12</td>
163+
<td><code>FS_FPF_ZCG</code></td>
164+
<td>8</td>
165165
<td>100</td>
166166
<td>2976000</td>
167167
<td>3396000</td>
168168
</tr>
169169
<tr>
170-
<td><code>FS_FPF_ZCG</code></td>
171-
<td>8</td>
170+
<td><code>FS_DEFERRED</code></td>
171+
<td>12</td>
172172
<td>100</td>
173173
<td>2976000</td>
174174
<td>3396000</td>

0 commit comments

Comments
 (0)