Merge pull request #887 from zcash/zip-2001

Assign ZIP 2001 to draft-nuttycom-lockbox-streams
This commit is contained in:
Jack Grigg 2024-08-01 16:01:13 +01:00 committed by GitHub
commit 6f1a2ea160
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 138 additions and 131 deletions

View File

@ -149,6 +149,7 @@ written.
<tr> <td><span class="reserved">402</span></td> <td class="left"><a class="reserved" href="zips/zip-0402.rst">New Wallet Database Format</a></td> <td>Reserved</td>
<tr> <td><span class="reserved">403</span></td> <td class="left"><a class="reserved" href="zips/zip-0403.rst">Verification Behaviour of zcashd</a></td> <td>Reserved</td>
<tr> <td><span class="reserved">416</span></td> <td class="left"><a class="reserved" href="zips/zip-0416.rst">Support for Unified Addresses in zcashd</a></td> <td>Reserved</td>
<tr> <td>2001</td> <td class="left"><a href="zips/zip-2001.rst">Lockbox Funding Streams</a></td> <td>Draft</td>
<tr> <td>guide-markdown</td> <td class="left"><a href="zips/zip-guide-markdown.md">{Something Short and To the Point}</a></td> <td>Draft</td>
<tr> <td>guide</td> <td class="left"><a href="zips/zip-guide.rst">{Something Short and To the Point}</a></td> <td>Draft</td>
</table></embed>
@ -168,7 +169,6 @@ be deleted.
<tr> <td class="left"><a href="zips/draft-hopwood-coinbase-balance.rst">Blocks should balance exactly</a></td>
<tr> <td class="left"><a href="zips/draft-noamchom67-manufacturing-consent.rst">Manufacturing Consent; Re-Establishing a Dev Fund for ECC, ZF, ZCG, Qedit, FPF, and ZecHub</a></td>
<tr> <td class="left"><a href="zips/draft-nuttycom-funding-allocation.rst">Block Reward Allocation for Non-Direct Development Funding</a></td>
<tr> <td class="left"><a href="zips/draft-nuttycom-lockbox-streams.rst">Lockbox Funding Streams</a></td>
<tr> <td class="left"><a href="zips/draft-zf-community-dev-fund-2-proposal.rst">Establishing a Hybrid Dev Fund for ZF, ZCG and a Dev Fund Reserve</a></td>
</table></embed>
@ -301,6 +301,7 @@ Index of ZIPs
<tr> <td><strike>1012</strike></td> <td class="left"><strike><a href="zips/zip-1012.rst">Dev Fund to ECC + ZF + Major Grants</a></strike></td> <td>Obsolete</td>
<tr> <td><strike>1013</strike></td> <td class="left"><strike><a href="zips/zip-1013.rst">Keep It Simple, Zcashers: 10% to ECC, 10% to ZF</a></strike></td> <td>Obsolete</td>
<tr> <td>1014</td> <td class="left"><a href="zips/zip-1014.rst">Establishing a Dev Fund for ECC, ZF, and Major Grants</a></td> <td>Active</td>
<tr> <td>2001</td> <td class="left"><a href="zips/zip-2001.rst">Lockbox Funding Streams</a></td> <td>Draft</td>
<tr> <td>guide-markdown</td> <td class="left"><a href="zips/zip-guide-markdown.md">{Something Short and To the Point}</a></td> <td>Draft</td>
<tr> <td>guide</td> <td class="left"><a href="zips/zip-guide.rst">{Something Short and To the Point}</a></td> <td>Draft</td>
</table></embed>

View File

@ -1,3 +1,5 @@
theme: jekyll-theme-tactile
url: "https://zips.z.cash"
markdown: GFM
gems:
- jekyll-redirect-from

View File

@ -23,7 +23,7 @@ Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/866">https://githu
<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>
</section>
<section id="abstract"><h2><span class="section-heading">Abstract</span><span class="section-anchor"> <a rel="bookmark" href="#abstract"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>This ZIP proposes several options for the allocation of a percentage of the Zcash block subsidy, post-November 2024 halving, to an in-protocol "lockbox." The "lockbox" will be a separate pool of issued funds tracked by the protocol, as described in ZIP &lt;TBD&gt;: Lockbox Funding Streams <a id="footnote-reference-2" class="footnote_reference" href="#draft-nuttycom-lockbox-streams">4</a>. No disbursement mechanism is currently defined for this "lockbox"; the Zcash community will need to decide upon and specify a suitable decentralized mechanism for permitting withdrawals from this lockbox in a future ZIP in order to make these funds available for funding grants to ecosystem participants.</p>
<p>This ZIP proposes several options for the allocation of a percentage of the Zcash block subsidy, post-November 2024 halving, to an in-protocol "lockbox." The "lockbox" will be a separate pool of issued funds tracked by the protocol, as described in ZIP 2001: Lockbox Funding Streams <a id="footnote-reference-2" class="footnote_reference" href="#zip-2001">4</a>. No disbursement mechanism is currently defined for this "lockbox"; the Zcash community will need to decide upon and specify a suitable decentralized mechanism for permitting withdrawals from this lockbox in a future ZIP in order to make these funds available for funding grants to ecosystem participants.</p>
<p>The proposed lockbox addresses significant issues observed with ZIP 1014 <a id="footnote-reference-3" class="footnote_reference" href="#zip-1014">3</a>, such as regulatory risks, inefficiencies due to funding of organizations instead of projects, and centralization. While the exact disbursement mechanism for the lockbox funds is yet to be determined and will be addressed in a future ZIP, the goal is to employ a decentralized mechanism that ensures community involvement and efficient, project-specific funding. This approach is intended to potentially improve regulatory compliance, reduce inefficiencies, and enhance the decentralization of Zcash's funding structure.</p>
</section>
<section id="motivation"><h2><span class="section-heading">Motivation</span><span class="section-anchor"> <a rel="bookmark" href="#motivation"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
@ -41,7 +41,7 @@ Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/866">https://githu
</section>
<section id="requirements"><h2><span class="section-heading">Requirements</span><span class="section-anchor"> <a rel="bookmark" href="#requirements"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<ol type="1">
<li><strong>In-Protocol Lockbox</strong>: The alternatives presented in this ZIP depend upon the Lockbox Funding Streams proposal <a id="footnote-reference-4" class="footnote_reference" href="#draft-nuttycom-lockbox-streams">4</a>.</li>
<li><strong>In-Protocol Lockbox</strong>: The alternatives presented in this ZIP depend upon the Lockbox Funding Streams proposal <a id="footnote-reference-4" class="footnote_reference" href="#zip-2001">4</a>.</li>
<li><strong>Regulatory Considerations</strong>: The allocation of funds should minimize regulatory risks by avoiding direct funding of specific organizations. The design should enable and encourage compliance with applicable laws and regulations to support the long-term sustainability of the funding model.</li>
</ol>
</section>
@ -54,7 +54,7 @@ Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/866">https://githu
</ol>
</section>
<section id="specification"><h2><span class="section-heading">Specification</span><span class="section-anchor"> <a rel="bookmark" href="#specification"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>The following alternatives all depend upon the Lockbox Funding Streams proposal <a id="footnote-reference-5" class="footnote_reference" href="#draft-nuttycom-lockbox-streams">4</a> for storage of funds into a deferred value pool.</p>
<p>The following alternatives all depend upon the Lockbox Funding Streams proposal <a id="footnote-reference-5" class="footnote_reference" href="#zip-2001">4</a> for storage of funds into a deferred value pool.</p>
<p>Some of the alternatives described below do not specify a termination height for the funding streams they propose. In these cases, the termination height is set to <cite>u32::MAX_VALUE</cite>. A future network upgrade that alters the maximum possible block height MUST also alter these termination heights.</p>
</section>
<section id="alternatives"><h2><span class="section-heading">Alternatives</span><span class="section-anchor"> <a rel="bookmark" href="#alternatives"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
@ -314,11 +314,11 @@ Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/866">https://githu
</tr>
</tbody>
</table>
<table id="draft-nuttycom-lockbox-streams" class="footnote">
<table id="zip-2001" class="footnote">
<tbody>
<tr>
<th>4</th>
<td><a href="draft-nuttycom-lockbox-streams">Draft ZIP: Lockbox Funding Streams</a></td>
<td><a href="zip-2001">ZIP 2001: Lockbox Funding Streams</a></td>
</tr>
</tbody>
</table>

View File

@ -1,113 +1,3 @@
<!DOCTYPE html>
<html>
<head>
<title>Draft nuttycom-lockbox-streams: Lockbox Funding Streams</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>
<section>
<pre>ZIP: Unassigned
Title: Lockbox Funding Streams
Owners: Kris Nuttycombe &lt;kris@nutty.land&gt;
Credits: Daira-Emma Hopwood &lt;daira-emma@electriccoin.co&gt;
Jack Grigg &lt;jack@electriccoin.co&gt;
Status: Draft
Category: Consensus
Created: 2024-07-02
License: MIT
Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/">https://github.com/zcash/zips/pull/</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>
</section>
<section id="abstract"><h2><span class="section-heading">Abstract</span><span class="section-anchor"> <a rel="bookmark" href="#abstract"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>This ZIP specifies a change to the Zcash consensus protocol to define a pool of issued Zcash value to be used to fund future development efforts within the Zcash ecosystem.</p>
<p>This ZIP builds upon the funding stream mechanism defined in ZIP 207 <a id="footnote-reference-2" class="footnote_reference" href="#zip-0207">3</a>. It defines a new "DEFERRED_POOL" funding stream type such that portions of the block reward sent to a stream of this type are deposited directly into the deferred funding pool instead of being sent to a recipient address. Other ways of adding to the pool, such as allowing for direct deposits or fee value currently allocated to miners may be defined in the future.</p>
</section>
<section id="motivation"><h2><span class="section-heading">Motivation</span><span class="section-anchor"> <a rel="bookmark" href="#motivation"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>In accordance with ZIP 1014, <a id="footnote-reference-3" class="footnote_reference" href="#zip-1014">2</a> the Zcash block reward is allocated with 80% going to miners, and the remaining 20% distributed among the Major Grants Fund (8%), Electric Coin Company (ECC) (7%), and the Zcash Foundation (ZF) (5%). This funding structure supports various essential activities such as protocol development, security, marketing, and legal expenses. However, this model will expire in November 2024, leading to the entire block reward being allocated to miners if no changes are made.</p>
<p>Several draft ZIPs under consideration for replacing the existing direct allocation of block rewards suggest that part of the block reward be directed to a reserve, the distribution of which is to be determined via a future ZIP. This ZIP is intended to provide a common mechanism that can be used to implement these various proposals.</p>
</section>
<section id="requirements"><h2><span class="section-heading">Requirements</span><span class="section-anchor"> <a rel="bookmark" href="#requirements"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>The Zcash protocol will maintain a new Deferred chain pool value balance
<span class="math">\(\mathsf{PoolValue}_{Deferred}\)</span>
for the deferred funding pool, in much the same fashion as it maintains chain pool value balances for the transparent, Sprout, Sapling, and Orchard pools.</p>
<p>The funding stream mechanism defined in ZIP 207 <a id="footnote-reference-4" class="footnote_reference" href="#zip-0207">3</a> is modified such that a funding stream may deposit funds into the deferred pool.</p>
</section>
<section id="specification"><h2><span class="section-heading">Specification</span><span class="section-anchor"> <a rel="bookmark" href="#specification"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<section id="deferred-development-fund-chain-value-pool-balance"><h3><span class="section-heading">Deferred Development Fund Chain Value Pool Balance</span><span class="section-anchor"> <a rel="bookmark" href="#deferred-development-fund-chain-value-pool-balance"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h3>
<p>Full node implementations MUST track an additional
<span class="math">\(\mathsf{PoolValue}_{Deferred}\)</span>
chain value pool balance, in addition to the Sprout, Sapling, and Orchard chain value pool balances. This balance is set to zero prior to the activation of Network Upgrade 6.</p>
<p>ZIP 207 <a id="footnote-reference-5" class="footnote_reference" href="#zip-0207">3</a> is modified as follows:</p>
<p>In the section <strong>Funding streams</strong> <a id="footnote-reference-6" class="footnote_reference" href="#zip-0207-funding-streams">4</a>, instead of:</p>
<blockquote>
<p>Each funding stream has an associated sequence of recipient addresses, each of which MUST be either a transparent P2SH address or a Sapling address.</p>
</blockquote>
<p>it will be modified to read:</p>
<blockquote>
<p>Each funding stream has an associated sequence of recipients, each of which MUST be either a transparent P2SH address, a Sapling address, or the identifier <cite>DEFERRED_POOL</cite>.</p>
</blockquote>
<p>In the section <strong>Consensus rules</strong> <a id="footnote-reference-7" class="footnote_reference" href="#zip-0207-consensus-rules">5</a>, the following will be added:</p>
<blockquote>
<p>The "prescribed way" to pay to the <cite>DEFERRED_POOL</cite> is to add
<span class="math">\(\mathsf{FundingStream[FUND].Value}(\mathsf{height})\)</span>
to
<span class="math">\(\mathsf{PoolValue}_{Deferred}\)</span>
.</p>
</blockquote>
<p>The protocol specification is modified to define the "total issued supply" such that the total issued supply as of a given height is given by the function:</p>
<div class="math">\(\begin{array}{ll}
\mathsf{IssuedSupply}(\mathsf{height}) := &amp;\!\!\!\!\mathsf{PoolValue}_{Transparent}(\mathsf{height}) \\
&amp;+\;\; \mathsf{PoolValue}_{Sprout}(\mathsf{height}) \\
&amp;+\,\; \mathsf{PoolValue}_{Sapling}(\mathsf{height}) \\
&amp;+\,\; \mathsf{PoolValue}_{Orchard}(\mathsf{height}) \\
&amp;+\,\; \mathsf{PoolValue}_{Deferred}(\mathsf{height})
\end{array}\)</div>
</section>
</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">
<tbody>
<tr>
<th>1</th>
<td><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></td>
</tr>
</tbody>
</table>
<table id="zip-1014" class="footnote">
<tbody>
<tr>
<th>2</th>
<td><a href="zip-1014">ZIP 1014: Establishing a Dev Fund for ECC, ZF, and Major Grants</a></td>
</tr>
</tbody>
</table>
<table id="zip-0207" class="footnote">
<tbody>
<tr>
<th>3</th>
<td><a href="zip-0207">ZIP 207: Funding Streams</a></td>
</tr>
</tbody>
</table>
<table id="zip-0207-funding-streams" class="footnote">
<tbody>
<tr>
<th>4</th>
<td><a href="zip-0207#funding-streams">ZIP 207: Funding Streams. Section: Funding streams</a></td>
</tr>
</tbody>
</table>
<table id="zip-0207-consensus-rules" class="footnote">
<tbody>
<tr>
<th>5</th>
<td><a href="zip-0207#consensus-rules">ZIP 207: Funding Streams. Section: Consensus rules</a></td>
</tr>
</tbody>
</table>
</section>
</section>
</body>
</html>
---
redirect_to: "https://zips.z.cash/zip-2001"
---

View File

@ -28,7 +28,7 @@ Pull-Request:</pre>
<p>"Section 501(c)(3)" refers to that section of the U.S. Internal Revenue Code (Title 26 of the U.S. Code). <a id="footnote-reference-5" class="footnote_reference" href="#section501c3">14</a></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-6" class="footnote_reference" href="#zcap">13</a>.</p>
<p>The terms "Testnet" and "Mainnet" are to be interpreted as described in section 3.12 of the Zcash Protocol Specification <a id="footnote-reference-7" class="footnote_reference" href="#protocol-networks">3</a>.</p>
<p>“Lockbox” refers to a deferred funding pool of issued Zcash value as described in <a id="footnote-reference-8" class="footnote_reference" href="#draft-nuttycom-lockbox-streams">12</a>.</p>
<p>“Lockbox” refers to a deferred funding pool of issued Zcash value as described in ZIP 2001 <a id="footnote-reference-8" class="footnote_reference" href="#zip-2001">12</a>.</p>
<p>“Dev Fund Reserve”, also called “DFR”, refers to the funds that are to be stored in the Lockbox as a result of the changes described in this ZIP.</p>
</section>
<section id="abstract"><h2><span class="section-heading">Abstract</span><span class="section-anchor"> <a rel="bookmark" href="#abstract"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
@ -250,11 +250,11 @@ Pull-Request:</pre>
</tr>
</tbody>
</table>
<table id="draft-nuttycom-lockbox-streams" class="footnote">
<table id="zip-2001" class="footnote">
<tbody>
<tr>
<th>12</th>
<td><a href="draft-nuttycom-lockbox-streams">Draft ZIP: Lockbox for Decentralized Grants Allocation</a></td>
<td><a href="zip-2001">ZIP 2001: Lockbox Funding Streams</a></td>
</tr>
</tbody>
</table>

View File

@ -114,6 +114,7 @@
<tr> <td><span class="reserved">402</span></td> <td class="left"><a class="reserved" href="zip-0402">New Wallet Database Format</a></td> <td>Reserved</td>
<tr> <td><span class="reserved">403</span></td> <td class="left"><a class="reserved" href="zip-0403">Verification Behaviour of zcashd</a></td> <td>Reserved</td>
<tr> <td><span class="reserved">416</span></td> <td class="left"><a class="reserved" href="zip-0416">Support for Unified Addresses in zcashd</a></td> <td>Reserved</td>
<tr> <td>2001</td> <td class="left"><a href="zip-2001">Lockbox Funding Streams</a></td> <td>Draft</td>
<tr> <td>guide-markdown</td> <td class="left"><a href="zip-guide-markdown">{Something Short and To the Point}</a></td> <td>Draft</td>
<tr> <td>guide</td> <td class="left"><a href="zip-guide">{Something Short and To the Point}</a></td> <td>Draft</td>
</table></embed></section>
@ -124,7 +125,6 @@
<tr> <td class="left"><a href="draft-hopwood-coinbase-balance">Blocks should balance exactly</a></td>
<tr> <td class="left"><a href="draft-noamchom67-manufacturing-consent">Manufacturing Consent; Re-Establishing a Dev Fund for ECC, ZF, ZCG, Qedit, FPF, and ZecHub</a></td>
<tr> <td class="left"><a href="draft-nuttycom-funding-allocation">Block Reward Allocation for Non-Direct Development Funding</a></td>
<tr> <td class="left"><a href="draft-nuttycom-lockbox-streams">Lockbox Funding Streams</a></td>
<tr> <td class="left"><a href="draft-zf-community-dev-fund-2-proposal">Establishing a Hybrid Dev Fund for ZF, ZCG and a Dev Fund Reserve</a></td>
</table></embed></section>
<section id="withdrawn-rejected-or-obsolete-zips"><h2><span class="section-heading">Withdrawn, Rejected, or Obsolete ZIPs</span><span class="section-anchor"> <a rel="bookmark" href="#withdrawn-rejected-or-obsolete-zips"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
@ -247,6 +247,7 @@
<tr> <td><strike>1012</strike></td> <td class="left"><strike><a href="zip-1012">Dev Fund to ECC + ZF + Major Grants</a></strike></td> <td>Obsolete</td>
<tr> <td><strike>1013</strike></td> <td class="left"><strike><a href="zip-1013">Keep It Simple, Zcashers: 10% to ECC, 10% to ZF</a></strike></td> <td>Obsolete</td>
<tr> <td>1014</td> <td class="left"><a href="zip-1014">Establishing a Dev Fund for ECC, ZF, and Major Grants</a></td> <td>Active</td>
<tr> <td>2001</td> <td class="left"><a href="zip-2001">Lockbox Funding Streams</a></td> <td>Draft</td>
<tr> <td>guide-markdown</td> <td class="left"><a href="zip-guide-markdown">{Something Short and To the Point}</a></td> <td>Draft</td>
<tr> <td>guide</td> <td class="left"><a href="zip-guide">{Something Short and To the Point}</a></td> <td>Draft</td>
</table></embed></section>

113
rendered/zip-2001.html Normal file
View File

@ -0,0 +1,113 @@
<!DOCTYPE html>
<html>
<head>
<title>ZIP 2001: Lockbox Funding Streams</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>
<section>
<pre>ZIP: 2001
Title: Lockbox Funding Streams
Owners: Kris Nuttycombe &lt;kris@nutty.land&gt;
Credits: Daira-Emma Hopwood &lt;daira-emma@electriccoin.co&gt;
Jack Grigg &lt;jack@electriccoin.co&gt;
Status: Draft
Category: Consensus
Created: 2024-07-02
License: MIT
Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/">https://github.com/zcash/zips/pull/</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>
</section>
<section id="abstract"><h2><span class="section-heading">Abstract</span><span class="section-anchor"> <a rel="bookmark" href="#abstract"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>This ZIP specifies a change to the Zcash consensus protocol to define a pool of issued Zcash value to be used to fund future development efforts within the Zcash ecosystem.</p>
<p>This ZIP builds upon the funding stream mechanism defined in ZIP 207 <a id="footnote-reference-2" class="footnote_reference" href="#zip-0207">3</a>. It defines a new "DEFERRED_POOL" funding stream type such that portions of the block reward sent to a stream of this type are deposited directly into the deferred funding pool instead of being sent to a recipient address. Other ways of adding to the pool, such as allowing for direct deposits or fee value currently allocated to miners may be defined in the future.</p>
</section>
<section id="motivation"><h2><span class="section-heading">Motivation</span><span class="section-anchor"> <a rel="bookmark" href="#motivation"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>In accordance with ZIP 1014, <a id="footnote-reference-3" class="footnote_reference" href="#zip-1014">2</a> the Zcash block reward is allocated with 80% going to miners, and the remaining 20% distributed among the Major Grants Fund (8%), Electric Coin Company (ECC) (7%), and the Zcash Foundation (ZF) (5%). This funding structure supports various essential activities such as protocol development, security, marketing, and legal expenses. However, this model will expire in November 2024, leading to the entire block reward being allocated to miners if no changes are made.</p>
<p>Several draft ZIPs under consideration for replacing the existing direct allocation of block rewards suggest that part of the block reward be directed to a reserve, the distribution of which is to be determined via a future ZIP. This ZIP is intended to provide a common mechanism that can be used to implement these various proposals.</p>
</section>
<section id="requirements"><h2><span class="section-heading">Requirements</span><span class="section-anchor"> <a rel="bookmark" href="#requirements"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>The Zcash protocol will maintain a new Deferred chain pool value balance
<span class="math">\(\mathsf{PoolValue}_{Deferred}\)</span>
for the deferred funding pool, in much the same fashion as it maintains chain pool value balances for the transparent, Sprout, Sapling, and Orchard pools.</p>
<p>The funding stream mechanism defined in ZIP 207 <a id="footnote-reference-4" class="footnote_reference" href="#zip-0207">3</a> is modified such that a funding stream may deposit funds into the deferred pool.</p>
</section>
<section id="specification"><h2><span class="section-heading">Specification</span><span class="section-anchor"> <a rel="bookmark" href="#specification"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<section id="deferred-development-fund-chain-value-pool-balance"><h3><span class="section-heading">Deferred Development Fund Chain Value Pool Balance</span><span class="section-anchor"> <a rel="bookmark" href="#deferred-development-fund-chain-value-pool-balance"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h3>
<p>Full node implementations MUST track an additional
<span class="math">\(\mathsf{PoolValue}_{Deferred}\)</span>
chain value pool balance, in addition to the Sprout, Sapling, and Orchard chain value pool balances. This balance is set to zero prior to the activation of Network Upgrade 6.</p>
<p>ZIP 207 <a id="footnote-reference-5" class="footnote_reference" href="#zip-0207">3</a> is modified as follows:</p>
<p>In the section <strong>Funding streams</strong> <a id="footnote-reference-6" class="footnote_reference" href="#zip-0207-funding-streams">4</a>, instead of:</p>
<blockquote>
<p>Each funding stream has an associated sequence of recipient addresses, each of which MUST be either a transparent P2SH address or a Sapling address.</p>
</blockquote>
<p>it will be modified to read:</p>
<blockquote>
<p>Each funding stream has an associated sequence of recipients, each of which MUST be either a transparent P2SH address, a Sapling address, or the identifier <cite>DEFERRED_POOL</cite>.</p>
</blockquote>
<p>In the section <strong>Consensus rules</strong> <a id="footnote-reference-7" class="footnote_reference" href="#zip-0207-consensus-rules">5</a>, the following will be added:</p>
<blockquote>
<p>The "prescribed way" to pay to the <cite>DEFERRED_POOL</cite> is to add
<span class="math">\(\mathsf{FundingStream[FUND].Value}(\mathsf{height})\)</span>
to
<span class="math">\(\mathsf{PoolValue}_{Deferred}\)</span>
.</p>
</blockquote>
<p>The protocol specification is modified to define the "total issued supply" such that the total issued supply as of a given height is given by the function:</p>
<div class="math">\(\begin{array}{ll}
\mathsf{IssuedSupply}(\mathsf{height}) := &amp;\!\!\!\!\mathsf{PoolValue}_{Transparent}(\mathsf{height}) \\
&amp;+\;\; \mathsf{PoolValue}_{Sprout}(\mathsf{height}) \\
&amp;+\,\; \mathsf{PoolValue}_{Sapling}(\mathsf{height}) \\
&amp;+\,\; \mathsf{PoolValue}_{Orchard}(\mathsf{height}) \\
&amp;+\,\; \mathsf{PoolValue}_{Deferred}(\mathsf{height})
\end{array}\)</div>
</section>
</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">
<tbody>
<tr>
<th>1</th>
<td><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></td>
</tr>
</tbody>
</table>
<table id="zip-1014" class="footnote">
<tbody>
<tr>
<th>2</th>
<td><a href="zip-1014">ZIP 1014: Establishing a Dev Fund for ECC, ZF, and Major Grants</a></td>
</tr>
</tbody>
</table>
<table id="zip-0207" class="footnote">
<tbody>
<tr>
<th>3</th>
<td><a href="zip-0207">ZIP 207: Funding Streams</a></td>
</tr>
</tbody>
</table>
<table id="zip-0207-funding-streams" class="footnote">
<tbody>
<tr>
<th>4</th>
<td><a href="zip-0207#funding-streams">ZIP 207: Funding Streams. Section: Funding streams</a></td>
</tr>
</tbody>
</table>
<table id="zip-0207-consensus-rules" class="footnote">
<tbody>
<tr>
<th>5</th>
<td><a href="zip-0207#consensus-rules">ZIP 207: Funding Streams. Section: Consensus rules</a></td>
</tr>
</tbody>
</table>
</section>
</section>
</body>
</html>

View File

@ -27,8 +27,8 @@ Abstract
This ZIP proposes several options for the allocation of a percentage of the
Zcash block subsidy, post-November 2024 halving, to an in-protocol "lockbox."
The "lockbox" will be a separate pool of issued funds tracked by the protocol,
as described in ZIP <TBD>: Lockbox Funding Streams
[#draft-nuttycom-lockbox-streams]_. No disbursement mechanism is currently defined
as described in ZIP 2001: Lockbox Funding Streams
[#zip-2001]_. No disbursement mechanism is currently defined
for this "lockbox"; the Zcash community will need to decide upon and specify a
suitable decentralized mechanism for permitting withdrawals from this lockbox
in a future ZIP in order to make these funds available for funding grants to
@ -105,7 +105,7 @@ Requirements
============
1. **In-Protocol Lockbox**: The alternatives presented in this ZIP depend upon
the Lockbox Funding Streams proposal [#draft-nuttycom-lockbox-streams]_.
the Lockbox Funding Streams proposal [#zip-2001]_.
2. **Regulatory Considerations**: The allocation of funds should minimize
regulatory risks by avoiding direct funding of specific organizations. The
@ -141,7 +141,7 @@ Specification
=============
The following alternatives all depend upon the Lockbox Funding Streams proposal
[#draft-nuttycom-lockbox-streams]_ for storage of funds into a deferred value
[#zip-2001]_ for storage of funds into a deferred value
pool.
Some of the alternatives described below do not specify a termination height
@ -608,4 +608,4 @@ References
Lowercase in RFC 2119 Key Words" <https://www.rfc-editor.org/info/bcp14>`_
.. [#osd] `The Open Source Definition <https://opensource.org/osd>`_
.. [#zip-1014] `ZIP 1014: Dev Fund Proposal and Governance <zip-1014.rst>`_
.. [#draft-nuttycom-lockbox-streams] `Draft ZIP: Lockbox Funding Streams <draft-nuttycom-lockbox-streams.rst>`_
.. [#zip-2001] `ZIP 2001: Lockbox Funding Streams <zip-2001.rst>`_

View File

@ -54,7 +54,7 @@ The terms "Testnet" and "Mainnet" are to be interpreted as described in
section 3.12 of the Zcash Protocol Specification [#protocol-networks]_.
“Lockbox” refers to a deferred funding pool of issued Zcash value as described
in [#draft-nuttycom-lockbox-streams]_.
in ZIP 2001 [#zip-2001]_.
“Dev Fund Reserve”, also called “DFR”, refers to the funds that are to be
stored in the Lockbox as a result of the changes described in this ZIP.
@ -493,7 +493,7 @@ References
.. [#zip-1011] `ZIP 1011: Decentralize the Dev Fee <zip-1011.rst>`_
.. [#zip-1012] `ZIP 1012: Dev Fund to ECC + ZF + Major Grants <zip-1012.rst>`_
.. [#zip-1014] `ZIP 1014: Establishing a Dev Fund for ECC, ZF, and Major Grants <zip-1014.rst>`_
.. [#draft-nuttycom-lockbox-streams] `Draft ZIP: Lockbox for Decentralized Grants Allocation <draft-nuttycom-lockbox-streams.rst>`_
.. [#zip-2001] `ZIP 2001: Lockbox Funding Streams <zip-2001.rst>`_
.. [#zcap] `Zcash Community Advisory Panel <https://zfnd.org/zcap/>`_
.. [#section501c3] `U.S. Code, Title 26, Section 501(c)(3) <https://www.law.cornell.edu/uscode/text/26/501>`_

View File

@ -1,6 +1,6 @@
::
ZIP: Unassigned
ZIP: 2001
Title: Lockbox Funding Streams
Owners: Kris Nuttycombe <kris@nutty.land>
Credits: Daira-Emma Hopwood <daira-emma@electriccoin.co>