Mod edit at @mistfpga’s request: Please read the GitHub version, which is different from the earlier draft below.
02/Aug/19 Hopefully zip ready.
01/Aug/19 Total rework of format and ZIP to incorporate feedback.
New feedback required please.
@nathan-at-least - this is my proposal I would like your comments on.
ZIP proposal Keep the block distribution as initaly defined. 90% to miners
I will make it better in github.
1 - Header
ZIP: unassigned.
Title: ZIP proposal Keep the block distribution as initaly defined. 90% to miners
Advocate: mistfpga (zcash forums)
ZIP Status: Draft
PreZIP Status: Proposal @ [ZIP 1001] Final: ZIP proposal Keep the block distribution as initally defined. 90% to miners
Category: Potocol?
Created: 2019-08-01
License: CC BY-SA 4.0 (Creative Commons Attribution-ShareAlike 4.0) [1]
2 - Terminology
To understand this ZIP it is critical that people understand the right terminology so their requirements can be quickly checked.
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL”
Have special meaning and people should familiarise themselves with it. - RFC 2119: Key words for use in RFCs to Indicate Requirement Levels
For clarity in this zip I define these terms:
- Mining software in the context of this zip refers to pool software, local mining software, or staking software.
- Mining is defined as the action of processing transactions, so this include proof of stake, if zcash would switch to that.
- Mining coins transferred via fees are considered rewards (infinite), coins generated via block generation are considered distribution (finite).
- Block distribution is defined as the block reward - transaction fees.
- Spirit is defined as what is the intended outcome of the zip.[2]
3 - Out of Scope for this proposal:
- Governance on how decisions are made, this ZIP is not meant to be used as a form of governance.
- Future funding
- It does not cover other donations or revenue streams but it does cover how the current FR funds the ECC should be used at a very top level.
4 - Abstract/Spirit
The main spirit is not to stop potential future funding, it is to ensure that the FR ends.
It is a simplistic short zip to honour the initial promise of 90% of block distribution by giving miners 100% of block distribution goes to miners after the first halving.
Hopefully it will be compatible with a number of other zips and can be worked into them.
Please note, this does cover how funding should be used. is not forcing anyone person to do anything it is binding a company to continue work on the zcash protocol using funds raised for that work, and not to use them for other purposes.
5 - Motivation and Rationale
- To ensure the the distibution is kept as initialy defined. - This term is contested, please see discussion.
- Enforcing some kind of mandatory donation via whatever mechanism would be seen as continuation of the FR.
- The ECC should use the funding as they have stated they would in the initial promise.
- The community has managed to raise development funds via the FR, this should be used for development of the zcash protocol for as long as those funds last.
- The ECC’s sole source of income is the FR[3] This zip does not stop them having alternate streams.
6 - Requirements
- The ECC SHOULD use its portion of the FR for zcash development.
- The ECC SHOULD NOT use it portion of the FR funding for pivoting.
- This zip SHOULD NOT preclude the ECC from sourcing funding elsewhere, or from donations.
7 - Specification
- The existing Founders’ Reward consensus rules [6],[7] MUST be preserved.
- Specifically,
FoundersReward(height) MUST equal 0 if Halving(height) >= 1
(For clarity once the halving happens the FR stops. as per the rules outlined in [6],[7]) - This line of code is only mean to stop the FR not protocol based donations.
Issues & Further Discussion
This section contains a variety of information, questions and concerns. There is no real structure to answering or questioning this section.
Implications to other users.
- Block distribution payouts to FR addresses will need to be removed from the codebase.
- Pools and other software may need to make adjustments for this.
Further discussion needed on:
- If a governance mechanism is decided for and implemented in NU5 the effect for the ECC should be relatively seamless.
- This gives almost 2 years to think about and switch to a new governance system, using already credited funding.
- inital promise implies more than just a social contract. the inital promise does allow for chaninging of the ‘rules’ so I do not see the contention anymore.
Technical implementation.
- help?
Associated zips
References
[1] - Creative Commons — Attribution-ShareAlike 4.0 International — CC BY-SA 4.0 <-I like this one best, dont know which the ECC prefers.
[2] - If there is contradiction between Spirit and any other part of the proposal that needs to be addressed. in the even it is not addressed Spirit is assumed to overrule all.
[3] - Need to find the quote from zooko. // probably not needed
[4] - Need to find the quote from nathan. // probably not needed
[5] - Need to all link to stream timecode. // probably not needed
[6] Section 7.7: Calculation of Block Subsidy and Founders Reward. Zcash Protocol Specification, Version 2019.0.0 [Overwinter+Sapling]
[7] Section 7.8: Payment of Founders’ Reward. Zcash Protocol Specification, Version 2019.0.0 [Overwinter+Sapling]
edit: spelling.
test edit by Shawn