Skip to content
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
wants to merge 42 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
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 Sep 21, 2023
5ef964a
fix: 10% -> 50%
aphelionz Sep 21, 2023
16fa913
Update draft-zip.md
aphelionz Sep 27, 2023
7858c79
Update draft-zip.md
aphelionz Sep 27, 2023
9139ff6
Update draft-zip.md
aphelionz Sep 27, 2023
effc321
Update draft-zip.md
aphelionz Sep 27, 2023
66e7e85
Update draft-zip.md
aphelionz Sep 27, 2023
529e251
Update draft-zip.md
aphelionz Sep 27, 2023
b23ab0b
update: draft-zip.md
aphelionz Sep 27, 2023
efd69f7
fix: ZIP header credits
aphelionz Sep 27, 2023
28d6404
update: definitions and references
aphelionz Sep 27, 2023
dd0cac4
update: remove network upgrade line
aphelionz Sep 27, 2023
dacf0ec
fix: date
aphelionz Sep 29, 2023
1cf67e8
update: change split to 60%
aphelionz Oct 4, 2023
2993a5c
update: future implications
aphelionz Oct 7, 2023
cd9e1af
Update draft-zip.md
aphelionz Oct 9, 2023
30381fe
Update draft-zip.md
aphelionz Oct 9, 2023
44e3864
Update draft-zip.md
aphelionz Oct 9, 2023
c6422c7
Update draft-zip.md
aphelionz Oct 9, 2023
73a3e6a
Update draft-zip.md
aphelionz Oct 9, 2023
4cabaa2
Update draft-zip.md
aphelionz Oct 9, 2023
ad2467b
Update draft-zip.md
aphelionz Oct 9, 2023
16e536a
update: add tautology
aphelionz Oct 20, 2023
e3055c2
Update draft-zip.md
tomekpiotrowski Nov 7, 2023
5ecb9a1
Update draft-zip.md
tomekpiotrowski Nov 7, 2023
040a379
Add deployment information
tomekpiotrowski Nov 8, 2023
6f4532b
Add dependency information in the abstract
tomekpiotrowski Nov 8, 2023
bdf0447
Remove the use of MUST
tomekpiotrowski Nov 8, 2023
ce76fab
Update draft-zip.md
tomekpiotrowski Nov 13, 2023
7ab294a
Update draft-zip.md
tomekpiotrowski Nov 13, 2023
49dbbad
Update draft-zip.md
tomekpiotrowski Nov 13, 2023
fda38cb
Update draft-zip.md
tomekpiotrowski Nov 16, 2023
2fbee33
Update draft-zip.md
tomekpiotrowski Nov 16, 2023
4da390e
Update draft-zip.md
tomekpiotrowski Nov 16, 2023
e7c7f27
Update draft-zip.md
tomekpiotrowski Nov 16, 2023
716e011
Add estimated impact on miners
tomekpiotrowski Dec 7, 2023
a780b9c
Update estimated impact
tomekpiotrowski Dec 7, 2023
aa38632
Update estimated impact numbers
tomekpiotrowski Dec 7, 2023
a7ae24f
Remove uses of `ZSF_BALANCE_AFTER` from non-technical sections
tomekpiotrowski Dec 7, 2023
a6a10ee
Remove `ZSF_BALANCE_AFTER` definition
tomekpiotrowski Dec 7, 2023
c1ef6d1
expand 'dApps'
tomekpiotrowski Dec 7, 2023
03fa419
Update impact estimation to account for sandblasting
tomekpiotrowski Dec 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
68 changes: 68 additions & 0 deletions draft-zip.html
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 &lt;jason@shieldedlabs.com&gt;
Mark Henderson &lt;mark@equilibrium.co&gt;
Tomek Piotrowski &lt;tomek@eiger.co&gt;
Mariusz Pilarek &lt;mariusz@eiger.co&gt;
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>
97 changes: 97 additions & 0 deletions draft-zip.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
```
ZIP:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assigned ZIP 235.

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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is "dApp" sufficiently well known to not require a definition or expansion?

Choose a reason for hiding this comment

The 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