-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ZIP 235] Deposit 60% of Transaction Fees to the ZSF #718
Open
aphelionz
wants to merge
42
commits into
zcash:main
Choose a base branch
from
eigerco:ZSF-50-50
base: main
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
7b8eb0a
draft: ZSF 90/10 split
aphelionz 5ef964a
fix: 10% -> 50%
aphelionz 16fa913
Update draft-zip.md
aphelionz 7858c79
Update draft-zip.md
aphelionz 9139ff6
Update draft-zip.md
aphelionz effc321
Update draft-zip.md
aphelionz 66e7e85
Update draft-zip.md
aphelionz 529e251
Update draft-zip.md
aphelionz b23ab0b
update: draft-zip.md
aphelionz efd69f7
fix: ZIP header credits
aphelionz 28d6404
update: definitions and references
aphelionz dd0cac4
update: remove network upgrade line
aphelionz dacf0ec
fix: date
aphelionz 1cf67e8
update: change split to 60%
aphelionz 2993a5c
update: future implications
aphelionz cd9e1af
Update draft-zip.md
aphelionz 30381fe
Update draft-zip.md
aphelionz 44e3864
Update draft-zip.md
aphelionz c6422c7
Update draft-zip.md
aphelionz 73a3e6a
Update draft-zip.md
aphelionz 4cabaa2
Update draft-zip.md
aphelionz ad2467b
Update draft-zip.md
aphelionz 16e536a
update: add tautology
aphelionz e3055c2
Update draft-zip.md
tomekpiotrowski 5ecb9a1
Update draft-zip.md
tomekpiotrowski 040a379
Add deployment information
tomekpiotrowski 6f4532b
Add dependency information in the abstract
tomekpiotrowski bdf0447
Remove the use of MUST
tomekpiotrowski ce76fab
Update draft-zip.md
tomekpiotrowski 7ab294a
Update draft-zip.md
tomekpiotrowski 49dbbad
Update draft-zip.md
tomekpiotrowski fda38cb
Update draft-zip.md
tomekpiotrowski 2fbee33
Update draft-zip.md
tomekpiotrowski 4da390e
Update draft-zip.md
tomekpiotrowski e7c7f27
Update draft-zip.md
tomekpiotrowski 716e011
Add estimated impact on miners
tomekpiotrowski a780b9c
Update estimated impact
tomekpiotrowski aa38632
Update estimated impact numbers
tomekpiotrowski a7ae24f
Remove uses of `ZSF_BALANCE_AFTER` from non-technical sections
tomekpiotrowski a6a10ee
Remove `ZSF_BALANCE_AFTER` definition
tomekpiotrowski c1ef6d1
expand 'dApps'
tomekpiotrowski 03fa419
Update impact estimation to account for sandblasting
tomekpiotrowski File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
<p><code>ZIP: | ||
Title: Deposit 50% of transaction fees to the Zcash Sustainability Fund | ||
Owners: Jason McGee <jason@shieldedlabs.com> | ||
Mark Henderson <mark@equilibrium.co> | ||
Tomek Piotrowski <tomek@eiger.co> | ||
Mariusz Pilarek <mariusz@eiger.co> | ||
Original-Authors: Nathan Wilcox | ||
Credits: Nathan Wilcox | ||
Mark Henderson | ||
Jason McGee | ||
Tomek Piotrowski | ||
Mariusz Pilarek | ||
Status: Draft | ||
Category: Ecosystem | ||
Created: 2023-09- | ||
License: BSD-2-Clause</code></p> | ||
<h1>Terminology</h1> | ||
<p>The key words “MUST”, “SHOULD”, “SHOULD NOT”, “MAY”, “RECOMMENDED”, “OPTIONAL”, and “REQUIRED” in this document are to be interpreted as described in RFC 2119. [1]</p> | ||
<p>The term “network upgrade” in this document is to be interpreted as described in ZIP 200. [2]</p> | ||
<p>The term “Block Rewards” refers to the algorithmic issuance of ZEC to every block’s creator – part of the consensus rules.</p> | ||
<p>“Issuance” - The method by which unmined or unissued ZEC is converted to ZEC available to users of the network</p> | ||
<p>“We” - the ZIP authors, owners listed in the above front matter</p> | ||
<p>“<code>ZSF_BALANCE_AFTER[h]</code>” is balance of the Zcash Sustainability Fund as defined in ZIP ###</p> | ||
<h1>Abstract</h1> | ||
<p>This ZIP proposes a modification to transaction fees, diverting 50% of transaction fees back into the <code>ZSF_BALANCE_AFTER[h]</code>, while the destination of the remaining 50% is unchanged and goes to the block miner,. This proposal effectively “unmints” a portion of transaction fees, contributing to a deflationary effect and offering long-term support for the Zcash network.</p> | ||
<p>This ZIP attempts to establish a symbiotic relationship between miner incentives and sustained network growth. It achieves this by splitting transaction fees: 50% goes directly to miners, incentivizing them to include transactions, while the remaining 50% is deposited into the <code>ZSF_BALANCE_AFTER[h]</code>. This approach mitigates a "bootstrapping problem", a problem that arises when 100% of transaction fees go to the ZSF and miners are not incentivized to include transactions in block. This ZIP navigates this problem by ensuring miners continue to receive direct rewards for including transactions, while still contributing to the ZSF.</p> | ||
<p>Implementing this change allows the ZSF to accrue value earlier. By ensuring a consistent source of funding, the ZSF contributes to bolstering the Zcash network’s long-term security and sustainability.</p> | ||
<h1>Motivation</h1> | ||
<p>While ZIP-XXX (Establishing the Zcash Sustainability Fund) describes a method by which funds can be added to the Zcash Sustainability Fund by a voluntary <code>ZSF_DEPOSIT</code> transaction field. The default value of this field is zero and it is left up to the app and wallet implementers to make use of it.</p> | ||
<p>This ZIP takes a much more explicit and non-optional approach, mandating at the protocol level that 50% of transaction fees be deposited into the ZSF As noted above, implementing this change allows the ZSF to accrue value earlier and contribute to future network sustainability.</p> | ||
<p>This system currently looks something like this:</p> | ||
<p>At Every New Block: | ||
- <code>ZSF_DEPOSIT</code> amount is deposited into the <code>ZSF_BALANCE_AFTER[h]</code> | ||
- Miner rewards come from <code>ZSF_BALANCE_AFTER[h]</code> | ||
- Transaction fees (inputs - outputs) paid to miner</p> | ||
<p>After the features described in this ZIP are activated (changed parts in bold):</p> | ||
<p>At Every New Block: | ||
- <code>ZSF_DEPOSIT</code> amount is deposited into the <code>ZSF_BALANCE_AFTER[h]</code> | ||
- Miner rewarded from <code>ZSF_BALANCE_AFTER[h]</code> | ||
- 50% of transaction fees (inputs - outputs) paid to miner | ||
- 50% of transaction fees deposited into <code>ZSF_BALANCE_AFTER[h]</code></p> | ||
<p>This has a multitude of benefits:</p> | ||
<ol> | ||
<li><strong>Network Sustainability</strong>: This mechanism involves temporarily reducing the supply of ZEC similar to asset burning in Ethereum’s EIP-1559, but with potential long-term sustainability benefits as the redistribution of deposits contributes to issuance rewards and network development, making it an attractive option for current and future Zcash users.</li> | ||
<li><strong>Ecosystem Benefits of Longer Time Horizons</strong>: A reliable and long-term functioning Zcash blockchain allows users to make secure long-term plans, leading to a sustainable and virtuous adoption cycle, rather than being influenced by short-term trends.</li> | ||
<li><strong>Incentivizing Transaction Inclusion</strong>: By providing a 10% share of transaction fees to miners, this ZIP maintains incentives for miners to prioritize including transactions in their blocks. This helps ensure the efficient processing of transactions and supports a robust and responsive network.</li> | ||
<li><strong>Future-Proofing the Network</strong>: Diverting transaction fees into the <code>ZSF_BALANCE_AFTER[h]</code> is a forward-looking approach that prepares the Zcash network for future challenges and opportunities. It establishes a financial buffer that can be instrumental in addressing unforeseen issues and seizing strategic advantages as the Zcash ecosystem evolves.</li> | ||
</ol> | ||
<h1>Specification</h1> | ||
<p>This ZIP only proposes a single modification to the transaction fees: | ||
1. Keep the current destination of 10% of the fees untouched, but route 50% of the fees back to <code>ZSF_BALANCE_AFTER[h]</code></p> | ||
<p>Please note that a network upgrade is required for this work to be fully implemented.</p> | ||
<h2>Transaction fee routing requirements</h2> | ||
<ul> | ||
<li>For each transaction, 50% of the total fee MUST be paid to the <code>ZSF_BALANCE_AFTER[h]</code></li> | ||
<li>The minimum of the 50% fee MUST equal 1 zatoshi or more.</li> | ||
</ul> | ||
<h1>Rationale</h1> | ||
<p>We believe that is ultimately a very minor change to the protocol, and quite simple in terms of implementation overhead. Additionally – and at the time of this writing – transaction fees are so small that 50% will likely not have a major impact.</p> | ||
<p>If transaction fees were to increase, future ZIPs can be written to change the 50%/50% split. Finding the optimal fee split may require an iterative approach involving adjustments based on real-world data and network dynamics.</p> | ||
<p>In the future, other ZIPs may be written to fund the ZSF in various ways, including but not limited to: | ||
- ZSA fees | ||
- dApp-specific fees and donations | ||
- “Storage fees” for any future data availability | ||
- Cross-chain bridge usage / Cross-chain messaging | ||
- Note sorting micro-transactional fees</p> | ||
<h1>References</h1> | ||
<p>TBD</p> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
``` | ||
ZIP: | ||
Title: Deposit 50% of transaction fees to the Zcash Sustainability Fund | ||
Owners: Jason McGee <jason@shieldedlabs.com> | ||
Mark Henderson <mark@equilibrium.co> | ||
Tomek Piotrowski <tomek@eiger.co> | ||
Mariusz Pilarek <mariusz@eiger.co> | ||
Original-Authors: Nathan Wilcox | ||
Credits: Nathan Wilcox | ||
Mark Henderson | ||
Jason McGee | ||
Tomek Piotrowski | ||
Mariusz Pilarek | ||
Status: Draft | ||
Category: Ecosystem | ||
Created: 2023-09- | ||
teor2345 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
License: BSD-2-Clause | ||
``` | ||
|
||
# Terminology | ||
|
||
The key words “MUST”, “SHOULD”, “SHOULD NOT”, “MAY”, “RECOMMENDED”, “OPTIONAL”, and “REQUIRED” in this document are to be interpreted as described in RFC 2119. [1] | ||
|
||
The term “network upgrade” in this document is to be interpreted as described in ZIP 200. [2] | ||
|
||
The term “Block Rewards” refers to the algorithmic issuance of ZEC to every block’s creator – part of the consensus rules. | ||
|
||
“Issuance” - The method by which unmined or unissued ZEC is converted to ZEC available to users of the network | ||
teor2345 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
“We” - the ZIP authors, owners listed in the above front matter | ||
|
||
“`ZSF_BALANCE_AFTER[h]`” is balance of the Zcash Sustainability Fund as defined in ZIP ### | ||
|
||
# Abstract | ||
|
||
This ZIP proposes a modification to transaction fees, diverting 50% of transaction fees back into the `ZSF_BALANCE_AFTER[h]`, while the destination of the remaining 50% is unchanged and goes to the block miner,. This proposal effectively “unmints” a portion of transaction fees, contributing to a deflationary effect and offering long-term support for the Zcash network. | ||
teor2345 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
This ZIP attempts to establish a symbiotic relationship between miner incentives and sustained network growth. It achieves this by splitting transaction fees: 50% goes directly to miners, incentivizing them to include transactions, while the remaining 50% is deposited into the `ZSF_BALANCE_AFTER[h]`. This approach mitigates a "bootstrapping problem", a problem that arises when 100% of transaction fees go to the ZSF and miners are not incentivized to include transactions in block. This ZIP navigates this problem by ensuring miners continue to receive direct rewards for including transactions, while still contributing to the ZSF. | ||
|
||
Implementing this change allows the ZSF to accrue value earlier. By ensuring a consistent source of funding, the ZSF contributes to bolstering the Zcash network’s long-term security and sustainability. | ||
teor2345 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
# Motivation | ||
|
||
While ZIP-XXX (Establishing the Zcash Sustainability Fund) describes a method by which funds can be added to the Zcash Sustainability Fund by a voluntary `ZSF_DEPOSIT` transaction field. The default value of this field is zero and it is left up to the app and wallet implementers to make use of it. | ||
aphelionz marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
This ZIP takes a much more explicit and non-optional approach, mandating at the protocol level that 50% of transaction fees be deposited into the ZSF As noted above, implementing this change allows the ZSF to accrue value earlier and contribute to future network sustainability. | ||
|
||
This system currently looks something like this: | ||
|
||
At Every New Block: | ||
- `ZSF_DEPOSIT` amount is deposited into the `ZSF_BALANCE_AFTER[h]` | ||
- Miner rewards come from `ZSF_BALANCE_AFTER[h]` | ||
- Transaction fees (inputs - outputs) paid to miner | ||
|
||
After the features described in this ZIP are activated (changed parts in bold): | ||
|
||
At Every New Block: | ||
- `ZSF_DEPOSIT` amount is deposited into the `ZSF_BALANCE_AFTER[h]` | ||
- Miner rewarded from `ZSF_BALANCE_AFTER[h]` | ||
- 50% of transaction fees (inputs - outputs) paid to miner | ||
- 50% of transaction fees deposited into `ZSF_BALANCE_AFTER[h]` | ||
aphelionz marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
This has a multitude of benefits: | ||
|
||
1. **Network Sustainability**: This mechanism involves temporarily reducing the supply of ZEC similar to asset burning in Ethereum’s EIP-1559, but with potential long-term sustainability benefits as the redistribution of deposits contributes to issuance rewards and network development, making it an attractive option for current and future Zcash users. | ||
2. **Ecosystem Benefits of Longer Time Horizons**: A reliable and long-term functioning Zcash blockchain allows users to make secure long-term plans, leading to a sustainable and virtuous adoption cycle, rather than being influenced by short-term trends. | ||
3. **Incentivizing Transaction Inclusion**: By providing a 10% share of transaction fees to miners, this ZIP maintains incentives for miners to prioritize including transactions in their blocks. This helps ensure the efficient processing of transactions and supports a robust and responsive network. | ||
aphelionz marked this conversation as resolved.
Show resolved
Hide resolved
|
||
4. **Future-Proofing the Network**: Diverting transaction fees into the `ZSF_BALANCE_AFTER[h]` is a forward-looking approach that prepares the Zcash network for future challenges and opportunities. It establishes a financial buffer that can be instrumental in addressing unforeseen issues and seizing strategic advantages as the Zcash ecosystem evolves. | ||
aphelionz marked this conversation as resolved.
Show resolved
Hide resolved
aphelionz marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
# Specification | ||
|
||
This ZIP only proposes a single modification to the transaction fees: | ||
1. Keep the current destination of 10% of the fees untouched, but route 50% of the fees back to `ZSF_BALANCE_AFTER[h]` | ||
aphelionz marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Please note that a network upgrade is required for this work to be fully implemented. | ||
teor2345 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Transaction fee routing requirements | ||
|
||
- For each transaction, 50% of the total fee MUST be paid to the `ZSF_BALANCE_AFTER[h]` | ||
- The minimum of the 50% fee MUST equal 1 zatoshi or more. | ||
aphelionz marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
tomekpiotrowski marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# Rationale | ||
|
||
We believe that is ultimately a very minor change to the protocol, and quite simple in terms of implementation overhead. Additionally – and at the time of this writing – transaction fees are so small that 50% will likely not have a major impact. | ||
teor2345 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
If transaction fees were to increase, future ZIPs can be written to change the 50%/50% split. Finding the optimal fee split may require an iterative approach involving adjustments based on real-world data and network dynamics. | ||
|
||
In the future, other ZIPs may be written to fund the ZSF in various ways, including but not limited to: | ||
- ZSA fees | ||
- dApp-specific fees and donations | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is "dApp" sufficiently well known to not require a definition or expansion? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I've expanded it to 'decentralized applications'. |
||
- “Storage fees” for any future data availability | ||
- Cross-chain bridge usage / Cross-chain messaging | ||
- Note sorting micro-transactional fees | ||
|
||
# References | ||
|
||
TBD |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assigned ZIP 235.