New text has been highlighted
for easier differentiation between this prop and Prop 238.
This is a resubmission of Prop 238, with a better explainer of the pros taking into account feedback, including two additional deliverables (and a bit higher ask for this reason).
Now includes a Pull Request into the nouns.wtf front-end to allow for a better UX when proposing NFT distributions.
Now includes a Pull Request into the nouns.wtf front-end to allow for better UX when proposing range or milestone funding.
Cool tech, cool experiment. But how is it useful?
Historically, all DAO proposals have had binary outcomes (pass or fail). The time has come to invent tooling for DAOs to allow for non-binary outcomes on votes, and for Nouns to lead the way on this.
Take Prop 239 (comic book purchase) as an example. The DAO could be in agreement that it makes sense to purchase comic books, but not necessarily 5,000 of them. If the propâs voting outcome were non-binary, the DAO would have had a way to simultaneously decide if it makes sense, and also how many comic books to print. Maybe the prop wouldnât have had to be canceled.
For both NFT distribution and funding itâs a more efficient way of achieving âmiddle groundâ; a form of consensus.
Think about it as a way of taking an on-chain average of all opinions.
The current alternative is an attention-deprived off-chain back and forth between proponent and community to arrive at a proposal price point or distribution number.
Past props where functional props would have been useful
Prop 236: Wizardâs Hat â determine the mint price of our NFT together at vote time, from a range.
Prop 223: House of Nouns â Implement milestones instead of all or nothing. Milestones are mapped to voting tiers. The more popular the prop is at vote time, more funding is sent and more features get implemented.
Prop 217: Stake an additional 5,000 ETH in LIDO â instead stake between 1,000-5,000 depending on the level of support for the prop.
Prop 206: Nouns on the Ground 2023 â Do tiered funding (5, 10, or 15 IRL events) instead of all or nothing.
Prop 202: nouns.eth set reverse record â in addition to executing, do we also send 1 ETH to Jacob? Depending on the popularity of the prop, we send between 0-1ETH.
Prop 184: Nouns funding ZachXBT â fund within range 50-100 ETH, instead of all or nothing.
Prop 167: Nouns Builder â seed the Builder treasury within a range (e.g. 500-1,000 ETH).
Prop 125: 8/8 anniversary art â only change existing traits if the vote is unanimous.*
Answers to common doubts on functional funding
What if a proposer that is willing to do work for 30 ETH proposes a range of 30-50 ETH to squeeze out more from the DAO?
A proposer is disincentivized to do so, as it increases the likelihood of the prop being defeated. It could also be argued conversely, that if functional funding wasnât possible, the proposer could have proposed an all-or-nothing 50 ETH instead of a range where the DAO could save money if the prop passes, but barely. We canât be certain if functional funding will make overall payouts larger or smaller, but we can be sure that funds will be allocated more efficiently as more granularity allows for concentrating capital where it needs to be.
If I support a proposal getting the lower part of the range, but not the upper part, how am I supposed to decide how to vote before the very last second?
Granted that this is a tricky aspect of functional funding. I give a two-part answer:
1. The question doesnât apply to all props where functional funding could be useful. For example, take the hypothetical use for Prop 217 (staking in LIDO). If you are OK with staking 5,000 ETH, you are OK with staking 1,000. In this case, you it doesnât really matter to you if you vote early or later. If you arenât comfortable with staking up to 5,000 ETH, you vote against. You would have voted against Prop 217 in its non-functional funding incarnation anyway.
2. Granted that those who vote later have more information than those who vote earlier. However, those that vote earlier likely are OK with the entire range. Those that vote later will have more influence over the outcome. This is a net positive: a. those who are OK with the entire range are happy. b. those who want to control the range, can do so by voting later.
Even though the tech is innovative, I donât see it being widely adopted
Refer to the section above where I highlight some use cases that make Nouns a more agile decision-making DAO.
The main mechanics of the DAO should stick to the KISS principle
The concern is that it should be made as simple as possible for Nouners to vote. I agree that simpler is better. Most props will not make use of functional funding and will stick to KISS. However, for those that it makes sense to make outcomes functional, if itâs more efficient for the DAO, itâs worth the marginal complexity.
Before functional funding comes functional NFT distribution.
I am the dev and proposer behind Prop 199 which passed 226 : 9. Prop 199 was a successful experiment to distribute 50 Nouns Vision Glasses from our Treasury to Nouners at random.
I have developed (inspect code here) a generalized version of the Nouns Vision Glasses distributor that allows for any proposer to propose random distribution of any ERC-721 in our Treasury to Nouners. This included development of a generalized version of the BatchTransfer contract 9999.ââ¨-⨠deployed for Prop 185.
As this deployment is not a one-off and meant to be a primitive the DAO can leverage at any time, plus the code is more complex, it requires more extensive testing. In addition, it requires a more complex custom front-end for the distribution claims.
Why do we need a generalized NFT distributor?
The Nouns DAO treasury continues to hoard NFTs as subDAOs such as Lil Nouns and Nouns Builder are âpaying backwardsâ in the form of governance tokens.
It is likely that as the Nouns meme proliferates, more and more subDAOs will continue to do the same.
Historically, we havenât used these NFTs to govern these subDAOs and to this date havenât reached consensus as to whether itâs something we are interested in doing as a DAO.
There is no point in having NFTs in our treasury that we donât plan on using. If we are to go down the alternate path, who better than Nouners to receive them and participate in subDAO governance in an individual, more decentralized manner.
The generalized NFT distributor has a new distribution mechanism baked in that allows the proposer to set the maximum number of NFTs to distribute. Then, if the prop passes, at execution time, the distribution contract calculates the number of NFTs to randomly distribute as a function of the vote (for, against, abstain) counts.
The proposer also selects the distribution amount calculation mechanism. This code extract shows the possible distribution rules the proposer can select from:
Proposer can select among the following distribution rules: Total turnout per Noun, Total Turnout minus abstain per Noun, For Votes, For Votes per Noun, For minus Against Votes, For minus Against Votes per Noun.
For example, the proposer might want to propose a distribution of some LilNouns in the treasury. The proposer is unsure of how many LilNouns the DAO is willing to distribute so he/she selects VotesFor as the distribution mechanism. Thus, the higher âFor Voteâ turnout (the more popular the prop was), the more LilNouns will be distributed.
Hereâs how proposing and execution works:
I call âfunctional propsâ proposals that are self-referential at prop execution time. Initially Iâm interested in exploring props that use vote counts (i.e., how many for/against/abstain) as inputs and take actions as a function of those inputs. We could imagine going beyond that to enable props that pull from a larger voter input-space such as vote reasons*.
Functional funding is a subset of functional props that enables an efficient way for the DAO to price proposals. The mechanism works as follows:
For Proposers:
For Voters:
For Nouns DAO:
For the first time, allows the DAO to vote on proposals that need to pass unanimously to execute
UI on [nouns.wtf](http://nouns.wtf) similar to the USDC converter, that allows proposers to select and input parameters for functional NFT distributions or funding.
Positive feedback on Prop 238
The innovative approach to Human Organization presented here is a promising addition to the Nouns toolkit, which continues to lead the way with innovative public goods. I support the continued exploration of fresh governance approaches, such as the "Function Props" concept, which can leverage the benefits of large group decision-making.
I'm in favor of experimenting to find better mechanisms we can use to reach non-binary outcomes for proposals and for that reason I'm voting in favor. Even if this isn't used much or is used and we discover what the shortcoming is, that would be a plus in my book.
I think that it is important for the DAO to continue to explore new ways to use governance to resolve conflict, and I see "Function Props" as a promising direction here. They could offer a way to take advantage of the concave decision making advantage of large groups: where any point along the spectrum from 0 to 1 is higher value than either a 0 or 1 outcome.
innovative price discovery
Great way to put the NFTs in the treasury to work!
Sounds like this can be implemented, so I'm in full support. More than reasonable cost.
Digitaloil is demonstrably dedicated, creative and aligned with Nouns long term and wants to try and build a useful Nounish primitive. Let's see how he impresses.
i think the cost is fair, and it could also lead to new ideas to improve or offer alternatives to the current proposal constraints.
Nounish dev building nounish things - hopefully having funding methods like this save the dao money in the long term
nounishly positive
The range funding is the killer app here imo. Gives proposers with that flexibility the option to potentially get more vote support than a fixed rate.
38
ETH sent to me, DigitalOil.
If only I could propose a functional funding range đ¤ˇââď¸.
3 ETH â Pull requests into [nouns.wtf](http://nouns.wtf) front-end for a better UX and reduce friction when proposers choose to submit a functional prop instead of a binary prop.
*Note that using vote reasons as inputs to functional props would require a change to the governance contract as vote reasons are currently not introspectable at execution time.