Date: Wed, 27 Sep 2023 12:40:10 -0400
Subject: [PATCH 09/41] fix: ZIP header credits
---
draft-zip.html | 32 +++++++++++++++++---------------
draft-zip.md | 6 +-----
2 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/draft-zip.html b/draft-zip.html
index 70789b668..0ac43f72a 100644
--- a/draft-zip.html
+++ b/draft-zip.html
@@ -5,11 +5,7 @@
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
+Credits:
Status: Draft
Category: Ecosystem
Created: 2023-09-
@@ -26,19 +22,19 @@ Abstract
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.
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.
+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, wallet, and mining software implementers to make use of it.
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:
+If ZIPs ### and ### are accepted, the system 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]
+- ZSF_DEPOSIT amount is deposited into the ZSF
+- Block rewards come from the ZSF
- 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]
+- ZSF_DEPOSIT amount is deposited into the ZSF
+- Block rewards come from the ZSF
+- 50% of transaction fees (inputs - outputs) paid to miner
+- 50% of transaction fees deposited into the ZSF
This has a multitude of benefits:
- 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.
@@ -52,9 +48,15 @@ Specification
Please note that a network upgrade is required for this work to be fully implemented.
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.
+- For each transaction, 50% of the total fee MUST be paid to the ZSF
+- Any fractions are rounded in favour of the miner TODO ZIP owners: decide if you want rounding to favour the ZSF here
+Consensus Rule Changes
+The coinbase transaction at block height height MUST have a zsfDeposit(height) that is greater than or equal to floor(TransactionFees(height)) / 2), where TransactionFees(height) is the sum of the the remaining value in the transparent transaction value pool of the non-coinbase transactions in the block at height.
+TODO ZIP owners: if you want rounding to favour the ZSF, use ceiling here
+TODO ZIP Editors:
+- work out how to deal with pre-v6 transactions which don't have the zsfDeposit() field. For example, by requiring the remaining value in the transparent transaction value pool of a coinbase transaction to be greater than or equal to 50% of the fee
+- consider imposing this requirement on v6 transactions instead of an explicit ZSF_DEPOSIT field requirement
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.
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.
diff --git a/draft-zip.md b/draft-zip.md
index ff9255a98..b5aeed7fa 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -6,11 +6,7 @@ Owners: Jason McGee
Tomek Piotrowski
Mariusz Pilarek
Original-Authors: Nathan Wilcox
-Credits: Nathan Wilcox
- Mark Henderson
- Jason McGee
- Tomek Piotrowski
- Mariusz Pilarek
+Credits:
Status: Draft
Category: Ecosystem
Created: 2023-09-
From 28d6404ec9b3732daff7e62df1bdf68a45fcf096 Mon Sep 17 00:00:00 2001
From: Mark Henderson
Date: Wed, 27 Sep 2023 12:43:23 -0400
Subject: [PATCH 10/41] update: definitions and references
---
draft-zip.html | 8 +++++---
draft-zip.md | 10 +++++++---
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/draft-zip.html b/draft-zip.html
index 0ac43f72a..9ad91b1c1 100644
--- a/draft-zip.html
+++ b/draft-zip.html
@@ -13,8 +13,8 @@
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
+The term “Block Rewards” in this document is to be interpreted as described in ZIP TBD [3]
+The term “Issuance” in this document is to be interpreted as described in ZIP TBD [3]
“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
@@ -67,4 +67,6 @@ Rationale
- Cross-chain bridge usage / Cross-chain messaging
- Note sorting micro-transactional fees
References
-TBD
\ No newline at end of file
+[1] RFC-2119: https://datatracker.ietf.org/doc/html/rfc2119
+[2] ZIP 200: https://zips.z.cash/zip-0200
+[3] ZIP TBD: The Zcash Sustainability Fund ZIP (Placeholder)
\ No newline at end of file
diff --git a/draft-zip.md b/draft-zip.md
index b5aeed7fa..f74f48349 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -19,9 +19,9 @@ The key words “MUST”, “SHOULD”, “SHOULD NOT”, “MAY”, “RECOMMEN
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.
+The term “Block Rewards” in this document is to be interpreted as described in ZIP TBD [3]
-“Issuance” - The method by which unmined or unissued ZEC is converted to ZEC available to users of the network
+The term “Issuance” in this document is to be interpreted as described in ZIP TBD [3]
“We” - the ZIP authors, owners listed in the above front matter
@@ -100,4 +100,8 @@ In the future, other ZIPs may be written to fund the ZSF in various ways, includ
# References
-TBD
+[1] RFC-2119: https://datatracker.ietf.org/doc/html/rfc2119
+
+[2] ZIP 200: https://zips.z.cash/zip-0200
+
+[3] ZIP TBD: The Zcash Sustainability Fund ZIP (Placeholder)
From dd0cac4cbb45dc6c9ca8f12e069e534e86a247f4 Mon Sep 17 00:00:00 2001
From: Mark Henderson
Date: Wed, 27 Sep 2023 12:47:16 -0400
Subject: [PATCH 11/41] update: remove network upgrade line
---
draft-zip.html | 1 -
draft-zip.md | 2 --
2 files changed, 3 deletions(-)
diff --git a/draft-zip.html b/draft-zip.html
index 9ad91b1c1..76f47b97e 100644
--- a/draft-zip.html
+++ b/draft-zip.html
@@ -45,7 +45,6 @@ Motivation
Specification
This ZIP only proposes a single modification to the transaction fees:
1. Keep the current destination of 50% of the fees untouched, but route 50% of the fees back to ZSF_BALANCE_AFTER[h]
-Please note that a network upgrade is required for this work to be fully implemented.
Transaction fee routing requirements
- For each transaction, 50% of the total fee MUST be paid to the ZSF
diff --git a/draft-zip.md b/draft-zip.md
index f74f48349..be4bc2341 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -68,8 +68,6 @@ This has a multitude of benefits:
This ZIP only proposes a single modification to the transaction fees:
1. Keep the current destination of 50% of the fees untouched, but route 50% of the fees back to `ZSF_BALANCE_AFTER[h]`
-Please note that a network upgrade is required for this work to be fully implemented.
-
## Transaction fee routing requirements
- For each transaction, 50% of the total fee MUST be paid to the ZSF
From dacf0ec9920310950cf305fb10fbe1251a2a9d65 Mon Sep 17 00:00:00 2001
From: Mark Henderson
Date: Fri, 29 Sep 2023 10:56:23 -0400
Subject: [PATCH 12/41] fix: date
---
draft-zip.html | 2 +-
draft-zip.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/draft-zip.html b/draft-zip.html
index 76f47b97e..706efe539 100644
--- a/draft-zip.html
+++ b/draft-zip.html
@@ -8,7 +8,7 @@
Credits:
Status: Draft
Category: Ecosystem
-Created: 2023-09-
+Created: 2023-09-21
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]
diff --git a/draft-zip.md b/draft-zip.md
index be4bc2341..25255c319 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -9,7 +9,7 @@ Original-Authors: Nathan Wilcox
Credits:
Status: Draft
Category: Ecosystem
-Created: 2023-09-
+Created: 2023-09-21
License: BSD-2-Clause
```
From 1cf67e86ee3f225fd3be4fe109f6031c1c654e47 Mon Sep 17 00:00:00 2001
From: Mark Henderson
Date: Wed, 4 Oct 2023 15:26:52 -0400
Subject: [PATCH 13/41] update: change split to 60%
---
draft-zip.md | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/draft-zip.md b/draft-zip.md
index 25255c319..950c43c93 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -1,6 +1,6 @@
```
ZIP:
-Title: Deposit 50% of transaction fees to the Zcash Sustainability Fund
+Title: Deposit 60% of transaction fees to the Zcash Sustainability Fund
Owners: Jason McGee
Mark Henderson
Tomek Piotrowski
@@ -29,9 +29,9 @@ The term “Issuance” in this document is to be interpreted as described in ZI
# 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.
+This ZIP proposes a modification to transaction fees, diverting 60% of transaction fees back into the `ZSF_BALANCE_AFTER[h]`, while the destination of the remaining 40% 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.
-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.
+This ZIP attempts to establish a symbiotic relationship between miner incentives and sustained network growth. It achieves this by splitting transaction fees: 40% goes directly to miners, incentivizing them to include transactions, while the remaining 60% 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.
@@ -39,7 +39,7 @@ Implementing this change allows the ZSF to accrue value earlier. By ensuring a c
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, wallet, and mining software implementers to make use of it.
-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 ZIP takes a much more explicit and non-optional approach, mandating at the protocol level that 60% 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.
If ZIPs ### and ### are accepted, the system looks something like this:
@@ -53,24 +53,24 @@ 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
- Block rewards come from the ZSF
-- **50% of transaction fees (inputs - outputs) paid to miner**
-- **50% of transaction fees deposited into the ZSF**
+- **40% of transaction fees (inputs - outputs) paid to miner**
+- **60% of transaction fees (inputs - outputs) deposited into the ZSF**
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 50% 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.
+3. **Incentivizing Transaction Inclusion**: By providing a 40% 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.
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.
# Specification
This ZIP only proposes a single modification to the transaction fees:
-1. Keep the current destination of 50% of the fees untouched, but route 50% of the fees back to `ZSF_BALANCE_AFTER[h]`
+1. Keep the current destination of 40% of the fees untouched, but route 60% of the fees back to `ZSF_BALANCE_AFTER[h]`
## Transaction fee routing requirements
-- For each transaction, 50% of the total fee MUST be paid to the ZSF
+- For each transaction, 60% of the total fee MUST be paid to the ZSF
- Any fractions are rounded in favour of the miner _TODO ZIP owners: decide if you want rounding to favour the ZSF here_
### Consensus Rule Changes
@@ -80,14 +80,16 @@ The coinbase transaction at block height `height` MUST have a `zsfDeposit(heigh
_TODO ZIP owners: if you want rounding to favour the ZSF, use ceiling here_
TODO ZIP Editors:
-- work out how to deal with pre-v6 transactions which don't have the zsfDeposit() field. For example, by requiring the remaining value in the transparent transaction value pool of a coinbase transaction to be greater than or equal to 50% of the fee
-- consider imposing this requirement on v6 transactions instead of an explicit ZSF_DEPOSIT field requirement
+- work out how to deal with pre-v6 transactions which don't have the zsfDeposit() field. For example, by requiring the remaining value in the transparent transaction value pool of a coinbase transaction to be greater than or equal to 60% of the fee
+- consider imposing this requirement on v6 transactions instead of an explicit `ZSF_DEPOSIT` field requirement
# 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.
+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 60% will likely not have a major impact.
-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.
+TODO: Security
+
+If transaction fees were to increase, future ZIPs can be written to change the 60%/40% 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
From 2993a5c61dc4c11167ff1a3c930c7172cb122dec Mon Sep 17 00:00:00 2001
From: Mark Henderson
Date: Fri, 6 Oct 2023 21:49:18 -0400
Subject: [PATCH 14/41] update: future implications
---
draft-zip.html | 28 +++++++++++++++-------------
draft-zip.md | 6 ++++--
2 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/draft-zip.html b/draft-zip.html
index 706efe539..df0af586b 100644
--- a/draft-zip.html
+++ b/draft-zip.html
@@ -1,5 +1,5 @@
ZIP:
-Title: Deposit 50% of transaction fees to the Zcash Sustainability Fund
+Title: Deposit 60% of transaction fees to the Zcash Sustainability Fund
Owners: Jason McGee <jason@shieldedlabs.com>
Mark Henderson <mark@equilibrium.co>
Tomek Piotrowski <tomek@eiger.co>
@@ -18,12 +18,12 @@ Terminology
“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.
-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.
+This ZIP proposes a modification to transaction fees, diverting 60% of transaction fees back into the ZSF_BALANCE_AFTER[h], while the destination of the remaining 40% 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.
+This ZIP attempts to establish a symbiotic relationship between miner incentives and sustained network growth. It achieves this by splitting transaction fees: 40% goes directly to miners, incentivizing them to include transactions, while the remaining 60% 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.
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, wallet, and mining software implementers to make use of it.
-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 ZIP takes a much more explicit and non-optional approach, mandating at the protocol level that 60% 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.
If ZIPs ### and ### are accepted, the system looks something like this:
At Every New Block:
- ZSF_DEPOSIT amount is deposited into the ZSF
@@ -33,38 +33,40 @@
Motivation
At Every New Block:
- ZSF_DEPOSIT amount is deposited into the ZSF
- Block rewards come from the ZSF
-- 50% of transaction fees (inputs - outputs) paid to miner
-- 50% of transaction fees deposited into the ZSF
+- 40% of transaction fees (inputs - outputs) paid to miner
+- 60% of transaction fees (inputs - outputs) deposited into the ZSF
This has a multitude of benefits:
- 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.
- 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.
-- Incentivizing Transaction Inclusion: By providing a 50% 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.
+- Incentivizing Transaction Inclusion: By providing a 40% 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.
- 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.
Specification
This ZIP only proposes a single modification to the transaction fees:
-1. Keep the current destination of 50% of the fees untouched, but route 50% of the fees back to ZSF_BALANCE_AFTER[h]
+1. Keep the current destination of 40% of the fees untouched, but route 60% of the fees back to ZSF_BALANCE_AFTER[h]
Transaction fee routing requirements
-- For each transaction, 50% of the total fee MUST be paid to the ZSF
+- For each transaction, 60% of the total fee MUST be paid to the ZSF
- Any fractions are rounded in favour of the miner TODO ZIP owners: decide if you want rounding to favour the ZSF here
Consensus Rule Changes
The coinbase transaction at block height height MUST have a zsfDeposit(height) that is greater than or equal to floor(TransactionFees(height)) / 2), where TransactionFees(height) is the sum of the the remaining value in the transparent transaction value pool of the non-coinbase transactions in the block at height.
TODO ZIP owners: if you want rounding to favour the ZSF, use ceiling here
TODO ZIP Editors:
-- work out how to deal with pre-v6 transactions which don't have the zsfDeposit() field. For example, by requiring the remaining value in the transparent transaction value pool of a coinbase transaction to be greater than or equal to 50% of the fee
-- consider imposing this requirement on v6 transactions instead of an explicit ZSF_DEPOSIT field requirement
+- work out how to deal with pre-v6 transactions which don't have the zsfDeposit() field. For example, by requiring the remaining value in the transparent transaction value pool of a coinbase transaction to be greater than or equal to 60% of the fee
+- consider imposing this requirement on v6 transactions instead of an explicit ZSF_DEPOSIT field requirement
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.
-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.
+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 60% will likely not have a major impact.
+If transaction fees were to increase, future ZIPs can be written to change the 60%/40% 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
- “Storage fees” for any future data availability
- Cross-chain bridge usage / Cross-chain messaging
- Note sorting micro-transactional fees
+Future Implications
+Looking into the future, there may come a time when the transaction fees become greater than the block reward issuance. At that time we may need to reconsider the 60/40 split. However, this will likely not be the case for the next 8-10 years due to forcasts based on issuance models and network traffic.
References
[1] RFC-2119: https://datatracker.ietf.org/doc/html/rfc2119
[2] ZIP 200: https://zips.z.cash/zip-0200
diff --git a/draft-zip.md b/draft-zip.md
index 950c43c93..ee44c6972 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -87,8 +87,6 @@ TODO ZIP Editors:
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 60% will likely not have a major impact.
-TODO: Security
-
If transaction fees were to increase, future ZIPs can be written to change the 60%/40% 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:
@@ -98,6 +96,10 @@ In the future, other ZIPs may be written to fund the ZSF in various ways, includ
- Cross-chain bridge usage / Cross-chain messaging
- Note sorting micro-transactional fees
+## Future Implications
+
+Looking into the future, there may come a time when the transaction fees become greater than the block reward issuance. At that time we may need to reconsider the 60/40 split. However, this will likely not be the case for the next 8-10 years due to forcasts based on issuance models and network traffic.
+
# References
[1] RFC-2119: https://datatracker.ietf.org/doc/html/rfc2119
From cd9e1afdccab62a25f18cca8ad0fa5f09d5531ec Mon Sep 17 00:00:00 2001
From: Mark Robert Henderson
Date: Mon, 9 Oct 2023 05:51:16 -0400
Subject: [PATCH 15/41] Update draft-zip.md
Co-authored-by: teor
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index ee44c6972..4994e917a 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -39,7 +39,7 @@ Implementing this change allows the ZSF to accrue value earlier. By ensuring a c
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, wallet, and mining software implementers to make use of it.
-This ZIP takes a much more explicit and non-optional approach, mandating at the protocol level that 60% 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 ZIP takes a much more explicit and non-optional approach, mandating at the protocol level that 60% 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.
If ZIPs ### and ### are accepted, the system looks something like this:
From 30381fed86f1e77cff4cd1f55dc46b572010955f Mon Sep 17 00:00:00 2001
From: Mark Robert Henderson
Date: Mon, 9 Oct 2023 05:51:25 -0400
Subject: [PATCH 16/41] Update draft-zip.md
Co-authored-by: teor
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index 4994e917a..76925c1f1 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -29,7 +29,7 @@ The term “Issuance” in this document is to be interpreted as described in ZI
# Abstract
-This ZIP proposes a modification to transaction fees, diverting 60% of transaction fees back into the `ZSF_BALANCE_AFTER[h]`, while the destination of the remaining 40% 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.
+This ZIP proposes a modification to transaction fees, diverting 60% of transaction fees back into the `ZSF_BALANCE_AFTER[h]`, while the destination of the remaining 40% 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.
This ZIP attempts to establish a symbiotic relationship between miner incentives and sustained network growth. It achieves this by splitting transaction fees: 40% goes directly to miners, incentivizing them to include transactions, while the remaining 60% 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.
From 44e3864769f9e7c8221e564e290441d96ea4eca9 Mon Sep 17 00:00:00 2001
From: Mark Robert Henderson
Date: Mon, 9 Oct 2023 05:51:34 -0400
Subject: [PATCH 17/41] Update draft-zip.md
Co-authored-by: teor
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index 76925c1f1..141a792f8 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -66,7 +66,7 @@ This has a multitude of benefits:
# Specification
This ZIP only proposes a single modification to the transaction fees:
-1. Keep the current destination of 40% of the fees untouched, but route 60% of the fees back to `ZSF_BALANCE_AFTER[h]`
+1. Keep the current destination of 40% of the fees untouched, but route 60% of the fees back to the ZSF
## Transaction fee routing requirements
From c6422c72acb387972377dcd173d3ba5c109fe954 Mon Sep 17 00:00:00 2001
From: Mark Robert Henderson
Date: Mon, 9 Oct 2023 05:51:45 -0400
Subject: [PATCH 18/41] Update draft-zip.md
Co-authored-by: teor
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index 141a792f8..72b78fc86 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -61,7 +61,7 @@ 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 40% 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.
-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.
+4. **Future-Proofing the Network**: Diverting transaction fees into the ZSF 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.
# Specification
From 73a3e6a091a30443e700c48b013f842efc7b49a9 Mon Sep 17 00:00:00 2001
From: Mark Robert Henderson
Date: Mon, 9 Oct 2023 05:51:56 -0400
Subject: [PATCH 19/41] Update draft-zip.md
Co-authored-by: teor
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index 72b78fc86..f13fc7007 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -71,7 +71,7 @@ This ZIP only proposes a single modification to the transaction fees:
## Transaction fee routing requirements
- For each transaction, 60% of the total fee MUST be paid to the ZSF
-- Any fractions are rounded in favour of the miner _TODO ZIP owners: decide if you want rounding to favour the ZSF here_
+- Any fractions are rounded in favour of the miner
### Consensus Rule Changes
From 4cabaa275a984181ccedc6d0a0b7c4b9df313807 Mon Sep 17 00:00:00 2001
From: Mark Robert Henderson
Date: Mon, 9 Oct 2023 05:52:11 -0400
Subject: [PATCH 20/41] Update draft-zip.md
Co-authored-by: teor
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index f13fc7007..fded56603 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -75,7 +75,7 @@ This ZIP only proposes a single modification to the transaction fees:
### Consensus Rule Changes
-The coinbase transaction at block height `height` MUST have a `zsfDeposit(height)` that is greater than or equal to `floor(TransactionFees(height)) / 2)`, where `TransactionFees(height)` is the sum of the the remaining value in the transparent transaction value pool of the non-coinbase transactions in the block at `height`.
+The coinbase transaction at block height `height` MUST have a `zsfDeposit` that is greater than or equal to `floor((TransactionFees(height) * 6) / 10)`, where `TransactionFees(height)` is the sum of the the remaining value in the transparent transaction value pool of the non-coinbase transactions in the block at `height`.
_TODO ZIP owners: if you want rounding to favour the ZSF, use ceiling here_
From ad2467b2c9d49ce32383c2745011df93b91b9c03 Mon Sep 17 00:00:00 2001
From: Mark Robert Henderson
Date: Mon, 9 Oct 2023 05:52:26 -0400
Subject: [PATCH 21/41] Update draft-zip.md
Co-authored-by: teor
---
draft-zip.md | 2 --
1 file changed, 2 deletions(-)
diff --git a/draft-zip.md b/draft-zip.md
index fded56603..1514fd61a 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -77,8 +77,6 @@ This ZIP only proposes a single modification to the transaction fees:
The coinbase transaction at block height `height` MUST have a `zsfDeposit` that is greater than or equal to `floor((TransactionFees(height) * 6) / 10)`, where `TransactionFees(height)` is the sum of the the remaining value in the transparent transaction value pool of the non-coinbase transactions in the block at `height`.
-_TODO ZIP owners: if you want rounding to favour the ZSF, use ceiling here_
-
TODO ZIP Editors:
- work out how to deal with pre-v6 transactions which don't have the zsfDeposit() field. For example, by requiring the remaining value in the transparent transaction value pool of a coinbase transaction to be greater than or equal to 60% of the fee
- consider imposing this requirement on v6 transactions instead of an explicit `ZSF_DEPOSIT` field requirement
From 16e536a99997e10cd6e9e7f0ca232222a893c200 Mon Sep 17 00:00:00 2001
From: Mark Henderson
Date: Fri, 20 Oct 2023 11:17:46 -0400
Subject: [PATCH 22/41] update: add tautology
---
draft-zip.html | 15 +++++++--------
draft-zip.md | 2 +-
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/draft-zip.html b/draft-zip.html
index df0af586b..f68e65817 100644
--- a/draft-zip.html
+++ b/draft-zip.html
@@ -18,12 +18,12 @@ Terminology
“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 60% of transaction fees back into the ZSF_BALANCE_AFTER[h], while the destination of the remaining 40% 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.
+This ZIP proposes a modification to transaction fees, diverting 60% of transaction fees back into the ZSF_BALANCE_AFTER[h], while the destination of the remaining 40% 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.
This ZIP attempts to establish a symbiotic relationship between miner incentives and sustained network growth. It achieves this by splitting transaction fees: 40% goes directly to miners, incentivizing them to include transactions, while the remaining 60% 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.
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, wallet, and mining software implementers to make use of it.
-This ZIP takes a much more explicit and non-optional approach, mandating at the protocol level that 60% 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 ZIP takes a much more explicit and non-optional approach, mandating at the protocol level that 60% 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.
If ZIPs ### and ### are accepted, the system looks something like this:
At Every New Block:
- ZSF_DEPOSIT amount is deposited into the ZSF
@@ -40,25 +40,24 @@
Motivation
- 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.
- 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.
- Incentivizing Transaction Inclusion: By providing a 40% 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.
-- 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.
+- Future-Proofing the Network: Diverting transaction fees into the ZSF 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.
Specification
This ZIP only proposes a single modification to the transaction fees:
-1. Keep the current destination of 40% of the fees untouched, but route 60% of the fees back to ZSF_BALANCE_AFTER[h]
+1. Keep the current destination of 40% of the fees untouched, but route 60% of the fees back to the ZSF
Transaction fee routing requirements
- For each transaction, 60% of the total fee MUST be paid to the ZSF
-- Any fractions are rounded in favour of the miner TODO ZIP owners: decide if you want rounding to favour the ZSF here
+- Any fractions are rounded in favour of the miner
Consensus Rule Changes
-The coinbase transaction at block height height MUST have a zsfDeposit(height) that is greater than or equal to floor(TransactionFees(height)) / 2), where TransactionFees(height) is the sum of the the remaining value in the transparent transaction value pool of the non-coinbase transactions in the block at height.
-TODO ZIP owners: if you want rounding to favour the ZSF, use ceiling here
+The coinbase transaction at block height height MUST have a zsfDeposit that is greater than or equal to floor((TransactionFees(height) * 6) / 10), where TransactionFees(height) is the sum of the the remaining value in the transparent transaction value pool of the non-coinbase transactions in the block at height.
TODO ZIP Editors:
- work out how to deal with pre-v6 transactions which don't have the zsfDeposit() field. For example, by requiring the remaining value in the transparent transaction value pool of a coinbase transaction to be greater than or equal to 60% of the fee
- consider imposing this requirement on v6 transactions instead of an explicit ZSF_DEPOSIT field requirement
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 60% will likely not have a major impact.
-If transaction fees were to increase, future ZIPs can be written to change the 60%/40% split. Finding the optimal fee split may require an iterative approach involving adjustments based on real-world data and network dynamics.
+If transaction fees were to increase, future ZIPs can be written to change the 60%/40% split. Finding the optimal fee split may require an iterative approach involving adjustments based on real-world data and network dynamics. However, before the issuance reaches 0, these kinds of 0-issuance security issues are much less severe.
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
diff --git a/draft-zip.md b/draft-zip.md
index 1514fd61a..7e3f82483 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -85,7 +85,7 @@ TODO ZIP Editors:
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 60% will likely not have a major impact.
-If transaction fees were to increase, future ZIPs can be written to change the 60%/40% split. Finding the optimal fee split may require an iterative approach involving adjustments based on real-world data and network dynamics.
+If transaction fees were to increase, future ZIPs can be written to change the 60%/40% split. Finding the optimal fee split may require an iterative approach involving adjustments based on real-world data and network dynamics. However, before the issuance reaches 0, these kinds of 0-issuance security issues are much less severe.
In the future, other ZIPs may be written to fund the ZSF in various ways, including but not limited to:
- ZSA fees
From e3055c21fcb9e091dc4ad56ee8f835fff463e8d0 Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Tue, 7 Nov 2023 15:46:57 +0100
Subject: [PATCH 23/41] Update draft-zip.md
Co-authored-by: Daira Emma Hopwood
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index 7e3f82483..1514fd61a 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -85,7 +85,7 @@ TODO ZIP Editors:
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 60% will likely not have a major impact.
-If transaction fees were to increase, future ZIPs can be written to change the 60%/40% split. Finding the optimal fee split may require an iterative approach involving adjustments based on real-world data and network dynamics. However, before the issuance reaches 0, these kinds of 0-issuance security issues are much less severe.
+If transaction fees were to increase, future ZIPs can be written to change the 60%/40% 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
From 5ecb9a197f262fcdfb4ba5a9dcac8916eb3c5152 Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Tue, 7 Nov 2023 15:47:25 +0100
Subject: [PATCH 24/41] Update draft-zip.md
Co-authored-by: Daira Emma Hopwood
---
draft-zip.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/draft-zip.md b/draft-zip.md
index 1514fd61a..97a124b6e 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -80,6 +80,7 @@ The coinbase transaction at block height `height` MUST have a `zsfDeposit` that
TODO ZIP Editors:
- work out how to deal with pre-v6 transactions which don't have the zsfDeposit() field. For example, by requiring the remaining value in the transparent transaction value pool of a coinbase transaction to be greater than or equal to 60% of the fee
- consider imposing this requirement on v6 transactions instead of an explicit `ZSF_DEPOSIT` field requirement
+- work out the necessary protocol spec changes.
# Rationale
From 040a37939fcf47c0b6f2fcdece7c078d026f5612 Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Wed, 8 Nov 2023 09:36:00 +0100
Subject: [PATCH 25/41] Add deployment information
---
draft-zip.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/draft-zip.md b/draft-zip.md
index 97a124b6e..7fc8059a8 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -82,6 +82,10 @@ TODO ZIP Editors:
- consider imposing this requirement on v6 transactions instead of an explicit `ZSF_DEPOSIT` field requirement
- work out the necessary protocol spec changes.
+## Deployment
+
+The implementation of this ZIP MUST be deployed at the same time or after the Zcash Sustainability Fund is established.
+
# 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 60% will likely not have a major impact.
From 6f4532b6394d881ecc4f773ec25c93abb603eef0 Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Wed, 8 Nov 2023 09:48:22 +0100
Subject: [PATCH 26/41] Add dependency information in the abstract
---
draft-zip.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/draft-zip.md b/draft-zip.md
index 7fc8059a8..2123288e2 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -35,6 +35,8 @@ This ZIP attempts to establish a symbiotic relationship between miner incentives
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.
+This ZIP depends on the ZIP introducing the Zcash Sustainability Fund (ZIP-XXX).
+
# 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, wallet, and mining software implementers to make use of it.
From bdf04472fa3a91a8120f7f94f00fc7040414b45f Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Wed, 8 Nov 2023 10:14:32 +0100
Subject: [PATCH 27/41] Remove the use of MUST
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index 2123288e2..02dbe9885 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -72,7 +72,7 @@ This ZIP only proposes a single modification to the transaction fees:
## Transaction fee routing requirements
-- For each transaction, 60% of the total fee MUST be paid to the ZSF
+- For each transaction, 60% of the total fee are be paid to the ZSF
- Any fractions are rounded in favour of the miner
### Consensus Rule Changes
From ce76fab37b948f78ff7e7cd963ad99ecb3f8cea3 Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Mon, 13 Nov 2023 14:00:36 +0100
Subject: [PATCH 28/41] Update draft-zip.md
Co-authored-by: Daira Emma Hopwood
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index 02dbe9885..cc2209e3c 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -90,7 +90,7 @@ The implementation of this ZIP MUST be deployed at the same time or after the Zc
# 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 60% will likely not have a major impact.
+We believe that the change made by this ZIP 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 60% will likely not have a major impact.
If transaction fees were to increase, future ZIPs can be written to change the 60%/40% split. Finding the optimal fee split may require an iterative approach involving adjustments based on real-world data and network dynamics.
From 7ab294a4c57a2fe2575dfba4d89a4ef89d6a2563 Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Mon, 13 Nov 2023 14:00:45 +0100
Subject: [PATCH 29/41] Update draft-zip.md
Co-authored-by: Daira Emma Hopwood
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index cc2209e3c..f7e2c55e7 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -75,7 +75,7 @@ This ZIP only proposes a single modification to the transaction fees:
- For each transaction, 60% of the total fee are be paid to the ZSF
- Any fractions are rounded in favour of the miner
-### Consensus Rule Changes
+## Consensus Rule Changes
The coinbase transaction at block height `height` MUST have a `zsfDeposit` that is greater than or equal to `floor((TransactionFees(height) * 6) / 10)`, where `TransactionFees(height)` is the sum of the the remaining value in the transparent transaction value pool of the non-coinbase transactions in the block at `height`.
From 49dbbade602fcb1c47a94a7ff05a6597c8da6906 Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Mon, 13 Nov 2023 14:01:31 +0100
Subject: [PATCH 30/41] Update draft-zip.md
Co-authored-by: Daira Emma Hopwood
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index f7e2c55e7..49650b73a 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -77,7 +77,7 @@ This ZIP only proposes a single modification to the transaction fees:
## Consensus Rule Changes
-The coinbase transaction at block height `height` MUST have a `zsfDeposit` that is greater than or equal to `floor((TransactionFees(height) * 6) / 10)`, where `TransactionFees(height)` is the sum of the the remaining value in the transparent transaction value pool of the non-coinbase transactions in the block at `height`.
+The coinbase transaction at block height `height` MUST have a `zsfDeposit` that is greater than or equal to `floor(TransactionFees(height) * 6 / 10)`, where `TransactionFees(height)` is the sum of the the remaining value in the transparent transaction value pool of the non-coinbase transactions in the block at `height`.
TODO ZIP Editors:
- work out how to deal with pre-v6 transactions which don't have the zsfDeposit() field. For example, by requiring the remaining value in the transparent transaction value pool of a coinbase transaction to be greater than or equal to 60% of the fee
From fda38cbcf3b45f592daa52e0357541851af89ecc Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Thu, 16 Nov 2023 10:51:47 +0100
Subject: [PATCH 31/41] Update draft-zip.md
Co-authored-by: str4d
---
draft-zip.md | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/draft-zip.md b/draft-zip.md
index 49650b73a..3ab47fdca 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -65,15 +65,13 @@ This has a multitude of benefits:
3. **Incentivizing Transaction Inclusion**: By providing a 40% 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.
4. **Future-Proofing the Network**: Diverting transaction fees into the ZSF 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.
-# Specification
-
-This ZIP only proposes a single modification to the transaction fees:
-1. Keep the current destination of 40% of the fees untouched, but route 60% of the fees back to the ZSF
+# Requirements
-## Transaction fee routing requirements
+- For each block, at least 60% (rounded down) of the total fees are be paid to the ZSF.
+- No restrictions are placed on the destination of the remaining proportion of fees.
+- Any fractions are rounded in favour of the miner.
-- For each transaction, 60% of the total fee are be paid to the ZSF
-- Any fractions are rounded in favour of the miner
+# Specification
## Consensus Rule Changes
From 2fbee331a5112a7c1f8a631ebb54f75a93905ca6 Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Thu, 16 Nov 2023 10:52:36 +0100
Subject: [PATCH 32/41] Update draft-zip.md
Co-authored-by: str4d
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index 3ab47fdca..ddde189df 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -82,7 +82,7 @@ TODO ZIP Editors:
- consider imposing this requirement on v6 transactions instead of an explicit `ZSF_DEPOSIT` field requirement
- work out the necessary protocol spec changes.
-## Deployment
+# Deployment
The implementation of this ZIP MUST be deployed at the same time or after the Zcash Sustainability Fund is established.
From 4da390ed102a223989df5fd11777b714483e6f10 Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Thu, 16 Nov 2023 10:57:40 +0100
Subject: [PATCH 33/41] Update draft-zip.md
Co-authored-by: teor
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index ddde189df..58dc06dc1 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -84,7 +84,7 @@ TODO ZIP Editors:
# Deployment
-The implementation of this ZIP MUST be deployed at the same time or after the Zcash Sustainability Fund is established.
+The implementation of this ZIP MUST be deployed at the same time or after the Zcash Sustainability Fund (ZIP-XXX), and subsidy smoothing (ZIP-YYY).
# Rationale
From e7c7f2738e74b493ae36bfd91d22fd29b4184f3d Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Thu, 16 Nov 2023 11:02:22 +0100
Subject: [PATCH 34/41] Update draft-zip.md
Co-authored-by: teor
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index 58dc06dc1..9f3d1d48d 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -35,7 +35,7 @@ This ZIP attempts to establish a symbiotic relationship between miner incentives
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.
-This ZIP depends on the ZIP introducing the Zcash Sustainability Fund (ZIP-XXX).
+This ZIP depends on the ZIP introducing the Zcash Sustainability Fund (ZIP-XXX). This ZIP does not by itself introduce any use for the fees added to the ZSF. This could be introduced via subsidy smoothing (ZIP-YYY), or some other mechanism.
# Motivation
From 716e011d6e514a35c59d8a2ecf33b78228709f2c Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Thu, 7 Dec 2023 18:56:33 +0100
Subject: [PATCH 35/41] Add estimated impact on miners
---
draft-zip.md | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/draft-zip.md b/draft-zip.md
index 9f3d1d48d..6e010597e 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -99,6 +99,11 @@ In the future, other ZIPs may be written to fund the ZSF in various ways, includ
- Cross-chain bridge usage / Cross-chain messaging
- Note sorting micro-transactional fees
+## Estimated impact on miners
+
+Over 105,120 blocks starting at block 2216606, there were 344,647 transactions. The total fees paid to miners, assuming the ZIP-317 regime, would be 347.81 ZEC. 105,120 blocks is approximately 3 months of blocks.
+Extrapolating to a year, we would expect 1,391.24 ZEC in fees paid to miners. If 60% of these fees were diverted to the ZSF, that would be 834.74 ZEC per year. [4]
+
## Future Implications
Looking into the future, there may come a time when the transaction fees become greater than the block reward issuance. At that time we may need to reconsider the 60/40 split. However, this will likely not be the case for the next 8-10 years due to forcasts based on issuance models and network traffic.
@@ -110,3 +115,5 @@ Looking into the future, there may come a time when the transaction fees become
[2] ZIP 200: https://zips.z.cash/zip-0200
[3] ZIP TBD: The Zcash Sustainability Fund ZIP (Placeholder)
+
+[4] https://github.com/eigerco/zsf-fee-estimator
\ No newline at end of file
From a780b9cc2c0aa439338ccb11316872db214ccb2f Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Thu, 7 Dec 2023 19:13:17 +0100
Subject: [PATCH 36/41] Update estimated impact
---
draft-zip.md | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/draft-zip.md b/draft-zip.md
index 6e010597e..5891d257f 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -101,8 +101,8 @@ In the future, other ZIPs may be written to fund the ZSF in various ways, includ
## Estimated impact on miners
-Over 105,120 blocks starting at block 2216606, there were 344,647 transactions. The total fees paid to miners, assuming the ZIP-317 regime, would be 347.81 ZEC. 105,120 blocks is approximately 3 months of blocks.
-Extrapolating to a year, we would expect 1,391.24 ZEC in fees paid to miners. If 60% of these fees were diverted to the ZSF, that would be 834.74 ZEC per year. [4]
+Over 105,120 blocks starting at block 2216606, there were 344,647 transactions with an average of 20.18 logical actions (see ZIP-317 [4]). The total fees paid to miners, assuming the ZIP-317 regime, would be 347.81 ZEC.
+105,120 blocks is approximately 3 months of blocks. Extrapolating to a year, we would expect 1,391.24 ZEC in fees paid to miners. If 60% of these fees were diverted to the ZSF, that would be 834.74 ZEC per year. [5]
## Future Implications
@@ -116,4 +116,6 @@ Looking into the future, there may come a time when the transaction fees become
[3] ZIP TBD: The Zcash Sustainability Fund ZIP (Placeholder)
-[4] https://github.com/eigerco/zsf-fee-estimator
\ No newline at end of file
+[4] ZIP 317: https://zips.z.cash/zip-0317
+
+[5] https://github.com/eigerco/zsf-fee-estimator
\ No newline at end of file
From aa386324448b685d125a2a21ce431325e76010bf Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Thu, 7 Dec 2023 20:01:20 +0100
Subject: [PATCH 37/41] Update estimated impact numbers
---
draft-zip.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/draft-zip.md b/draft-zip.md
index 5891d257f..f140d9244 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -101,8 +101,8 @@ In the future, other ZIPs may be written to fund the ZSF in various ways, includ
## Estimated impact on miners
-Over 105,120 blocks starting at block 2216606, there were 344,647 transactions with an average of 20.18 logical actions (see ZIP-317 [4]). The total fees paid to miners, assuming the ZIP-317 regime, would be 347.81 ZEC.
-105,120 blocks is approximately 3 months of blocks. Extrapolating to a year, we would expect 1,391.24 ZEC in fees paid to miners. If 60% of these fees were diverted to the ZSF, that would be 834.74 ZEC per year. [5]
+Over 105,120 blocks starting at block 2216606, there were 344,647 transactions with an average of 20.18 logical actions (see ZIP-317 [4]). The total fees paid to miners, assuming the ZIP-317 regime, would be 336.50 ZEC.
+105,120 blocks is approximately 3 months of blocks. Extrapolating to a year, we would expect 1,346.00 ZEC in fees paid to miners. If 60% of these fees were diverted to the ZSF, that would be 807.60 ZEC per year. [5]
## Future Implications
From a7ae24f59bcac57f584c19f202b5c4e85f45d2b9 Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Thu, 7 Dec 2023 20:14:56 +0100
Subject: [PATCH 38/41] Remove uses of `ZSF_BALANCE_AFTER` from non-technical
sections
---
draft-zip.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/draft-zip.md b/draft-zip.md
index f140d9244..7906a7aae 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -29,9 +29,9 @@ The term “Issuance” in this document is to be interpreted as described in ZI
# Abstract
-This ZIP proposes a modification to transaction fees, diverting 60% of transaction fees back into the `ZSF_BALANCE_AFTER[h]`, while the destination of the remaining 40% 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.
+This ZIP proposes a modification to transaction fees, diverting 60% of transaction fees back into the the ZSF, while the destination of the remaining 40% 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.
-This ZIP attempts to establish a symbiotic relationship between miner incentives and sustained network growth. It achieves this by splitting transaction fees: 40% goes directly to miners, incentivizing them to include transactions, while the remaining 60% 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.
+This ZIP attempts to establish a symbiotic relationship between miner incentives and sustained network growth. It achieves this by splitting transaction fees: 40% goes directly to miners, incentivizing them to include transactions, while the remaining 60% is deposited into the ZSF. 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.
From a6a10eefa435cafb246c145b576d859891f86fbb Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Thu, 7 Dec 2023 20:16:24 +0100
Subject: [PATCH 39/41] Remove `ZSF_BALANCE_AFTER` definition
---
draft-zip.md | 2 --
1 file changed, 2 deletions(-)
diff --git a/draft-zip.md b/draft-zip.md
index 7906a7aae..19036474e 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -25,8 +25,6 @@ The term “Issuance” in this document is to be interpreted as described in ZI
“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 60% of transaction fees back into the the ZSF, while the destination of the remaining 40% 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.
From c1ef6d1b6abee0484481fd9662a1e0c8485fc34e Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Thu, 7 Dec 2023 20:17:38 +0100
Subject: [PATCH 40/41] expand 'dApps'
---
draft-zip.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/draft-zip.md b/draft-zip.md
index 19036474e..ea4ab659c 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -92,7 +92,7 @@ If transaction fees were to increase, future ZIPs can be written to change the 6
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
+- fees and donations specific to decentralized applications
- “Storage fees” for any future data availability
- Cross-chain bridge usage / Cross-chain messaging
- Note sorting micro-transactional fees
From 03fa419055d781f6dd4a6f168425b0428f623642 Mon Sep 17 00:00:00 2001
From: Tomek Piotrowski
Date: Mon, 18 Dec 2023 13:48:05 +0100
Subject: [PATCH 41/41] Update impact estimation to account for sandblasting
---
draft-zip.md | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/draft-zip.md b/draft-zip.md
index ea4ab659c..53bf89964 100644
--- a/draft-zip.md
+++ b/draft-zip.md
@@ -99,8 +99,9 @@ In the future, other ZIPs may be written to fund the ZSF in various ways, includ
## Estimated impact on miners
-Over 105,120 blocks starting at block 2216606, there were 344,647 transactions with an average of 20.18 logical actions (see ZIP-317 [4]). The total fees paid to miners, assuming the ZIP-317 regime, would be 336.50 ZEC.
-105,120 blocks is approximately 3 months of blocks. Extrapolating to a year, we would expect 1,346.00 ZEC in fees paid to miners. If 60% of these fees were diverted to the ZSF, that would be 807.60 ZEC per year. [5]
+Over 100,000 blocks starting at block 2235515, there were 316130 transactions. 60608 of them are categorized as 'sandblasting' transactions. The remaining transaction have an average of 5.46 logical actions (see ZIP-317 [4]).
+The total fees paid to miners from those transactions, assuming the ZIP-317 regime, would be 87.86 ZEC. 100,000 blocks is approximately 3 months of blocks. Extrapolating to a year, we would expect 351.44 ZEC in fees paid to miners over a year.
+If 60% of these fees were diverted to the ZSF, that would be 210.864 ZEC per year. [5]
## Future Implications