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

Alternatives for Non-Direct Development Funding. #866

Merged
merged 28 commits into from
Jul 8, 2024

Conversation

nuttycom
Copy link
Contributor

@nuttycom nuttycom commented Jul 2, 2024

I am adding this proposal in the interest of ensuring that there is a 20% deferral, pure lockbox version of @skyl's proposal available for the community to vote on.

zip-draft-XXXX.rst Outdated Show resolved Hide resolved
Copy link
Collaborator

@str4d str4d left a comment

Choose a reason for hiding this comment

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

Reviewed for semantic stability in ZIP Sync with @conradoplg and @arya2, as well as @daira.

@nuttycom
Copy link
Contributor Author

nuttycom commented Jul 2, 2024

This may be modified to depend on #867 and specify the addition of a single funding stream:

  ================= =========== ============= ============== ============
        Stream       Numerator   Denominator   Start height   End height
  ================= =========== ============= ============== ============
  ``FS_DEFERRED``       20           100          2726400     u32::MAX
  ================= =========== ============= ============== ============

with the "Address" for the FS_DEFERRED stream being DEFERRED_POOL for all heights.

@str4d
Copy link
Collaborator

str4d commented Jul 2, 2024

As a helpful visualization, this is what the flow of ZEC within a coinbase transaction for a single block looks like (as percentages overall; the halving effect is not shown here due to issues with getting cross-graph heights correct):

ZIP 1014

---
config:
  sankey:
    showValues: false
---
sankey-beta

Block Subsidy,Zcash Foundation,0.05
Block Subsidy,Bootstrap Project,0.07
Block Subsidy,Zcash Community Grants,0.08
Block Subsidy,Miners,0.8
Fees,Miners,0.01
Loading

This ZIP draft

---
config:
  sankey:
    showValues: false
---
sankey-beta

Block Subsidy,Lockbox,0.2
Block Subsidy,Miners,0.8
Fees,Miners,0.01
Loading

@nuttycom nuttycom force-pushed the draft-dev-fund-proposal-20 branch from 285288a to 9d687c7 Compare July 3, 2024 20:15
nuttycom and others added 3 commits July 3, 2024 14:26
@nuttycom nuttycom force-pushed the draft-dev-fund-proposal-20 branch from 9d687c7 to b0a5cc9 Compare July 3, 2024 20:42
@nuttycom nuttycom changed the title Lockbox for Decentralized Grants Allocation (20% Option) Alternatives for Deferred Development Funding. Jul 3, 2024
@nuttycom nuttycom force-pushed the draft-dev-fund-proposal-20 branch from 29a0ed4 to af4d76b Compare July 4, 2024 03:43
@nuttycom nuttycom changed the title Alternatives for Deferred Development Funding. Alternatives for Non-Direct Development Funding. Jul 4, 2024
motivation and guidance for alternative 1
Copy link
Collaborator

@str4d str4d left a comment

Choose a reason for hiding this comment

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

Reviewed on my own for semantic stability.

draft-nuttycom-funding-allocation.rst Outdated Show resolved Hide resolved
draft-nuttycom-funding-allocation.rst Outdated Show resolved Hide resolved
draft-nuttycom-funding-allocation.rst Outdated Show resolved Hide resolved
draft-nuttycom-funding-allocation.rst Outdated Show resolved Hide resolved
draft-nuttycom-funding-allocation.rst Outdated Show resolved Hide resolved
Comment on lines 149 to 150
is set to `u32::MAX_VALUE`. A future network upgrade is required in order for
these streams to be terminated.
Copy link
Collaborator

Choose a reason for hiding this comment

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

This last sentence is superfluous; draft-nuttycom-lockbox-streams defines how ZIP 207 is amended to support the lockbox, and ZIP 207 already defines an "active funding stream":

An active funding stream at a given block height is defined as a funding stream for which the block height is less than its end height, but not less than its start height.

as well as the process for modifying funding streams:

Funding stream definitions can be added, changed, or deleted in ZIPs associated with subsequent network upgrades, subject to the ZIP process.

It would be equally valid, and equally superfluous, to say "A future network upgrade is required in order for the streams that do not terminate at u32::MAX_VALUE to extend beyond their current termination height."

What would be a clarifying improvement here is to encode the intention that u32::MAX_VALUE is being used to mean "no end height":

Suggested change
is set to `u32::MAX_VALUE`. A future network upgrade is required in order for
these streams to be terminated.
is set to `u32::MAX_VALUE`. A future network upgrade that alters the
maximum possible block height MUST also alter these termination heights.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

My rationale for calling out that it could be modified by a future ZIP is to clarify it for voters who are not familiar with the ZIP process, and who might mistakenly think that such rules cannot be changed in the future (which is a common error I have observed.)

Copy link
Collaborator

Choose a reason for hiding this comment

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

If that is the motivation for calling it out, then it should be stated neutrally: point out that end heights for any stream can be added, modified, or removed by future ZIPs.


6. The ZCG Committee’s funding decisions will be final, requiring no approval
from the FPF Board, but are subject to veto if the FPF judges them to
violate any relevant laws or other (current or future) obligations.
Copy link
Collaborator

Choose a reason for hiding this comment

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

This section is AFAICT largely unaltered from ZIP 1014, other than replacing ZF with FPF. There are parts of this section about FPF that are noticeably different and/or more specific in the ZF ZIP draft. I'm not going to make any changes in this editorial pass; instead I will open a subsequent PR that aligns this ZIP draft with the ZF one, in order to make the differences between them clear (and so the owners of this ZIP draft can consider those differences individually; there is no requirement for the two ZIP drafts to actually align here, other than as needed by FPF itself).

Copy link
Contributor

@aquietinvestor aquietinvestor Jul 8, 2024

Choose a reason for hiding this comment

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

I discussed this comment with Alex from ZF/FPF today. I am going to review the precise language in the ZF draft over the next couple days, discuss it with Alex and then we'll come back to you. Thanks.

@str4d
Copy link
Collaborator

str4d commented Jul 8, 2024

Once @nuttycom or @aquietinvestor responds to #866 (comment), I can get this re-rendered and merged.

Co-authored-by: str4d <thestr4d@gmail.com>
@noamchom67
Copy link
Contributor

This proposal is a direct copy of #860 with alternative parameters. #860 was merged into #866, and the latter now has another alternative parameter set matching this proposal. Closing this PR as superceded by #866.

Thanks for adding my proposal as Alternative #4. The only part of #866 that I can't find to match in my proposal is a specific "Revisitation" requirement.

I also believe that the "Direct Grant Option" is outdated/ to be removed. None of the current ecosystem sentiment is indicating an intention for Direct (Protocol Coded) Grants.

Revisitation: The terms of this ZIP should be revisited by the Zcash ecosystem
upon creation/ activation of a "non-direct funding model". At that completion of
an NDFM which accessess the lockbox funds, this ZIP should be reconsidered (potentially terminated)
by the Zcash ecosystem, to determine if its ongoing direct block subsidies
are preferred for continuation. Discussions/ solications/ sentiment gathering
from the Zcash ecosystem should be initiated ~6 months in advance of the presumed
activation of a "non-direct funding model", such that the Zcash
ecosystem preference can be expediently realized.

Terminology
===========

The key words "MUST", "REQUIRED", "MUST NOT", "SHOULD", and "MAY" in this
Copy link
Collaborator

Choose a reason for hiding this comment

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

Nit: REQUIRED isn't used. (There is a lowercase usage but it doesn't appear to be intended as a conformance term.)


Some of the alternatives described below do not specify a termination height
for the funding streams they propose. In these cases, the termination height
is set to `u32::MAX_VALUE`. A future network upgrade that alters the
Copy link
Collaborator

Choose a reason for hiding this comment

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

Although that would be sufficient,

  • this way of expressing it assumes familiarity with Rust syntax;
  • it is arguably clearer just to write "no end height".
Suggested change
is set to `u32::MAX_VALUE`. A future network upgrade that alters the
is given as "no end height". A future network upgrade that alters the

This requires a corresponding modification to draft-nuttycom-lockbox-streams. @nuttycom

Copy link
Contributor

Choose a reason for hiding this comment

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

I had comitted this fix but then I realized it would require updating the table and the next sentence, which I'm not sure how you all would prefer to do so I restored this. I don't think it matters that much though.

@conradoplg
Copy link
Contributor

I also believe that the "Direct Grant Option" is outdated/ to be removed. None of the current ecosystem sentiment is indicating an intention for Direct (Protocol Coded) Grants.

@aquietinvestor do you also agree with removing this, so we can remove it for both Alternatives that were specifying it?

Revisitation: The terms of this ZIP should be revisited by the Zcash ecosystem upon creation/ activation of a "non-direct funding model". At that completion of an NDFM which accessess the lockbox funds, this ZIP should be reconsidered (potentially terminated) by the Zcash ecosystem, to determine if its ongoing direct block subsidies are preferred for continuation. Discussions/ solications/ sentiment gathering from the Zcash ecosystem should be initiated ~6 months in advance of the presumed activation of a "non-direct funding model", such that the Zcash ecosystem preference can be expediently realized.

I committed this in 8b1c43e

them to violate laws or FPF reporting requirements and other
(current or future) obligations.

FPF SHALL recognize the ZCG slice of the Dev Fund as a Restricted Fund
Copy link
Collaborator

Choose a reason for hiding this comment

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

Define Restricted Fund, if it is intended to continue using that term.

@aquietinvestor
Copy link
Contributor

I also believe that the "Direct Grant Option" is outdated/ to be removed. None of the current ecosystem sentiment is indicating an intention for Direct (Protocol Coded) Grants.

@aquietinvestor do you also agree with removing this, so we can remove it for both Alternatives that were specifying it?

Revisitation: The terms of this ZIP should be revisited by the Zcash ecosystem upon creation/ activation of a "non-direct funding model". At that completion of an NDFM which accessess the lockbox funds, this ZIP should be reconsidered (potentially terminated) by the Zcash ecosystem, to determine if its ongoing direct block subsidies are preferred for continuation. Discussions/ solications/ sentiment gathering from the Zcash ecosystem should be initiated ~6 months in advance of the presumed activation of a "non-direct funding model", such that the Zcash ecosystem preference can be expediently realized.

I committed this in 8b1c43e

@conradoplg Yes, it is fine to remove the direct grant option. Thank you.

conradoplg and others added 2 commits July 8, 2024 13:26
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
Copy link
Collaborator

@str4d str4d left a comment

Choose a reason for hiding this comment

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

Non-editorial comments have been addressed. I have fixed rendering bugs and re-rendered.

@str4d str4d merged commit 14399f3 into zcash:main Jul 8, 2024
@nuttycom nuttycom deleted the draft-dev-fund-proposal-20 branch July 17, 2024 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants