-
Notifications
You must be signed in to change notification settings - Fork 115
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
Runtime DAOs #2068
Comments
This sounds very interesting. Question: Is there some limit for membership? or can it be assumed these runtime DAOs would be capable of handling hundreds or thousands of members? |
This will be unlimited under this design. |
I had some questions about some areas I don't understand fully and some thoughts:
|
They will.
Correct.
No minimum, this is a pure coin vote, so your vote is weighted by your share of tokens voting. I guess I should have stated this explicitly, will update! Thanks!
They are mutable, proposals control everything, but operator could possibly also update this if the action settings are setup that way for a given DAO.
A DAO an do everything that any member can do in the content directory, so it can create lots of channels, publish videos and playslists under tthose channels etc. One thing it cannot do, in this proposal, is to create a new DAO :D This just seems too meta and possibly confusing, you could get long chains of DAOs owning each other, even ending in a closed loop! DAO A owns part of DAO B which owns part of DAO C which owns part of DAO A.
Only JOY, governance tokens can be minted at will. |
Overall this sounds like such a cool idea, can think of a lot of potential uses. Another question: When we look at the upload action, is the proposal creator rewarded in any way? (besides the value of the token potentially being increased by rewards being paid in JOY to the treasury?) If I understand it correctly, there is currently not, so if a successful upload proposal creator wanted to get paid, they would have to create a separate spending proposal? |
There will in general be creator rewards for channel owners, this will be part of the incentive to publish under a channel, whether the channel is owned by a single member or a DAO. When the owner is a DAO, the JOY reward goes into the treasury, making it a shared asset of the stakeholders of that DAO. This means the value of. successful upload is captured according to governance token ownership in the DAO, not who did the upload. Incentivizing the upload act itself is not directly done, however the operator does get a recurring reward, and would be best equipped to do this. |
When it comes to proposals, this issue mentions that all proposals will have an equal stake requirement... Questions:
A separate question:
As an example: A user creates a proposal to add a video to a There are several examples I can think of to do with advertising and communities where having to spend to create a proposal would spur far more creativity. I guess that when a user is submitting content they think is good enough to a DAO channel/playlist, there would be some risk of failure rather than just stake to stop spamming--especially if there is no form of slashing, it would mean people who create the proposals have enough interest in submitting their proposal to lose tokens in the short term. |
I guess this could be a DAO creation parameter, but it was assumed to be constant here.
There is an exchange rate volatility issue which could justify that, can be added for sure.
Not planned here, we have to try to keep this a bit simpler than the overall proposal system, not least due to engineering time, but also because the coodination for a single purpose DAO like this is not as critical as the whole platform system.
Are you referring to governance token cost or JOY cost? You have to pay normal base transaction fees currently only. I did not understand your argument for why having greater costs would spur more usage, seems reversed. |
This is a bit hard to explain in terms of creating more usage, but there are other elements I can easily explain now. Lets say you have a DAO that manages a few playlists or channels. If a user submits content via proposal that the token holders of that DAO there is no disincentive for users to not try and resubmit the same content over and over again. As another example, lets say you have a DAO that owns a serious channel about cryptocurrency. A user buys enough tokens to create a proposal and then submits a very low quality video (think something along the lines of Elon Musk Twitter crypto airdrop scam). Even if the proposal is rejected they can still submit the same proposal immediately afterwards. |
Also, in terms of advertising, having a proposal type cost a certain amount is an important use case for having proposals have a cost associated with them. |
One additional thought I had regarding runtime DAOs is the possibility of a storefront that the DAO can manage, in more broad terms this would be aimed at expanding the number of ways in which users can contribute to a DAOs treasury and perhaps receive some kind of creative reward (and not necessarily just a DAO's tokens). The storefront would be a customizable page that the DAO can manage and list certain items on. Ideally the storefront would take JOY as payment, adding to the treasury of the DAO (where applicable) Examples:
Also, since I mentioned bounties, would it be possible for the DAO to list bounties on the bounty board? As I understand this will be outside of the proposal system, but I can imagine a number of use cases where a DAO could list specific bounties (ex. "make a new avatar for "coolDAO28" or "make a new theme song for our DAO") |
I think a storefront is interesting, but wouldnt it make more sense to couple to channels, or even have as standalone concepts, why couple it to DAOs specifically? DAOs could obviously own them as well, but does not seem inherently tied to DAOs any more than channels are. |
Yes it would make more sense, I didn't really think about it for normal channels, but that would be much better. The reason I mentioned it tied to DAOs is I was trying to think of multiple ways a user could contribute to a DAO without necessarily investing, some sort of trade of tokens<>creative products. The same could easily apply to users/channels and open up more diverse ways of supporting content creators on the platform. |
Idea: multiple choice proposals Some decisions may have not need anything more than just accept/reject, but in creative spaces having some mechanism for voting for one option out of several would be very interesting. I'd say that having a proposal type which has multiple possible outcomes may be worth investigating. If runtime DAOs are structured correctly, they can have internal rules implemented which use multiple choice proposals well. This would significantly increase the speed of decision making processes when there are multiple outcomes. Obviously the forum will eventually have polls, but this will never be equal to a proposal. |
Can you provide a list actual proposals where this would be relevant? The |
Sorry should have stated that I was only really talking about text proposals. |
Another use case: One thing interesting from the real world are "art councils" or "art juries" as described here: Joystream/community-repo#104 (comment) In this way a specific runtime DAO for funding short videos or documentaries could have some specific periodic budget assigned to it from the council, and the council wouldn't be involved in creative decisions stemming from that budget. |
But why can't just the content lead do this? at least at the moment, seems like that lead is not doing that much, and this is something he/she can fund on their own, without having to convince a council? |
I'm more referring to in a mainnet situation where the budget for content may be considerably large, having that kind of decision just fall on one person would be a problem for many reasons. IMHO on mainnet, if we have a pool of dozens-hundreds of curator workers, the curator lead's time would be filled with just managing the hiring/reporting processes. And also I'm not clear quite yet on how the reporting (I'm talking about users reporting videos that go against the rules, which we currently have no framework for) process would work, and how much workload that may add to the curator workload in general. But the idea of just putting these creative decisions towards a single person seem very limited in the future, and even right now we have no established way for the curator lead to do discretionary spending that I'm aware of. |
This seems like a better solution #3907 |
Background
Using tokens as a way to finance creative projects and also reward early evangelists and community members has been a long standing idea in the crypto space, with attempts such as Smart Media Tokens and TatianaCoin. The idea is to turn a creative project into something where a community of token holds can vote on key governance decisions about how to manage the project, and possibly also receive a share of any value captured by the project.
Goal
Introduce DAOs with their own governance token, in the form of a new runtime module
daos
, which can act in the Joystream chain, primarily in the content directory & storage system at this point, but in the future they may act in any part of the system where normal memberships can, so stand for council, make proposals and so on.Requirements
Governance Token
Each DAO has an associated governance token, which is a fungible asset controlled by normal substrate accounts, and with normal currency semantics. It has an issuance, and an issuance policy, set when the token is created, which either freezes the issuance upper bound, or which allows new tokens to be minted by the DAO. In either case the issuance does decline when tokens are burned. Tokens can also be locked for the purpose of participating in the governance process of the DAO.
In the v2 of these DAOs we will introduce the capability for DAOs to buy back and burn the governance token on the open market in exchange for JOY tokens in the treasury, which itself is described in the next section.
Metadata
All DAOs have the following metadata which aid
Treasury
Each DAO also controls a pool of native JOY tokens, called a treasury, and can spend from this pool to any Substrate account. In the future this pool will be credited for with revenue shares from content owned by channels owned by the DAO. The treasury can also be credited by any normal
Operator
Each DAO has up to one explicit member set as the operator of the DAO. This operator is responsible for conducting various ongoing tasks in the DAO, such as possibly managing any channels under the control of the DAO.
The operator receives rewards in the governance token over time into a reward account. Importantly, the rewards are not automatically paid out, as this would not scale as the number of DAOs increases. Hence a pull based method is required, e.g. similar to this:
#1305
but be aware that this issue is about a more complex situation, the key point is just that its pull based periodic payments, so use it as inspiration.
Actions
All DAOs have the same set of things they can do in the Joystream system, called actions. It is a static list, and it deals both with the controls of the DAO itself, but also interacting with the rest of the runtime and system. Here are some example actions
The proposal system, described later, allows the governance process of the DAO to trigger any such action. Some subset of actions may also allow the operator to trigger an action, and there are so called action settings in each DAO which describe this.
Creation
DAOs are created by any member, and creating a DAO reserves you the right to set the initial operator. The token is created at the same time as the DAO, and this requires both the issuance and and the issuance policy. All initial tokens are set to be owned by the operator. Lastly, the initial action settings are also set during creation.
Proposal System
The proposal system in the DAO is the means by which the token holders exercise governance over the operation of the DAO. The system process proposals, which are propositions about executing specific actions in the DAO, so there is one proposal type for each action available. Each type as its own values for the required quorum and threshold for passing.
Proposals
Each proposal is made up of the following set of properties when first created
Stages
A proposal has the following stages
The length of each stage is hard coded, but possibly different for different types.
Voting
When voting, you vote as a member, this means the account holding the tokens must be bound to the membership up front. A single account can vote at most one time on a given proposal, however, it can simultaneously be used to vote on an unlimited number of proposals. Voting entails locking up some quantity of funds until the Ready period begins, at which point a second transaction is needed to remove a given lock. This means you may need to send multiple such transactions over time, for the same account, if you have used it for multiple proposal votes. Funds locked for staking for proposals can also be reused for voting. Lastly, a vote is either for or against the proposal passing.
Fundraising & Buy-back Burns [RnD Missing]
Two kinds of actions are needed, but no design has been conceived.
There are different auction types worth looking into, multi unit auction, dutch auction, reverse dutch auction, etc. Doing these within our computational constraints, and also without being badly vulnerable to attacks or fraud, will require some care. The primary concern here is a small faction of stakeholders, or even the operator, setting up one of these quickly and with very bad terms, and thereby exploiting the rest. Long announcement and grace periods can help ameliorate this, and ultimately intervention from working group if there is sufficient time to block.
DAO Working Group
There will be a DAO working group which can intervene in the operation of any DAO by specifically blocking a proposal at any stage of its life-cycle prior to being executed.
┆Issue is synchronized with this Asana task by Unito
The text was updated successfully, but these errors were encountered: