Update on Steem Proposal System/Steem.DAO

in #steemdao6 years ago (edited)

We’ve been working on the Steem Proposal System for almost a week now, so I thought it would be a good time to provide an update on the progress.

Steem Proposal System (SPS) changed to Steem.DAO

First, on the marketing front, the name is being changed to Steem.DAO (DAO = Decentralized Autonomous Organization) per the request of Steemit Inc. DAO is a popular term for blockchain-based systems like the worker proposal system.

For the cryptocurrency history buffs among us (mind you, it's a pretty short history), the most famous such DAO was the rather ill-fated “DAO coin” on the Ethereum network, which failed due to bugs in its implementation (so we’ll try hard to avoid that in our design). Personally, I believe the term DAO was a takeoff on the term “DAC” (Decentralized Autonomous Corporation) created by Steem’s own @stan.

Progress so far

We’ve create a github repository forked from the Steem code base where we’ll be doing the work:
https://github.com/blocktradesdevs/steem/issues

We’ve reviewed the implementation of the worker proposal system in BitShares and identified the key differences for Steem. We’ve also spec’d out the basic sub-tasks required to complete the project (see the issues link above) and discussed the algorithms we will use. Our next step is to begin actual coding of the system.

Decision on the use of a funding source based on inflation being deferred

The poll on whether to use an inflationary funding source has been a bit inconclusive so far, and with the available polling tools, I think it will be difficult to reach a solid conclusion on what source to use, even if inflation is the consensus approach to long term funding.

Therefore, I’m coming to the conclusion that the best thing to do is design the initial system as a pure donation system, then allow proposals to be made within the Steem.DAO itself to decide how to add future funding sources to the DAO’s budget.

This has a couple of benefits over existing polling solutions: 1) any user can dynamically add their own competing idea for a funding source by creating a proposal for it and 2) the Steem DAO uses "approval voting", so users can vote on multiple competing alternatives that they like, with the aggregate voting results ranked by stake-weighting, and 3) voters have a way to vote for how many funding sources they want to have, by moving the “refund proposal” up or down the proposal rankings.

One potential problem with the above idea could be that there wouldn’t be enough funds from donations to fund the proposals to add new funding sources, but I’m assuming Steemit’s initial donation should easily cover any such costs.

Sort:  

Existing accounts on the Steem blockchain that are used for various things such as @null are created with a locked state preventing anyone from ever using it.

In this case, @blocktrades created the @steem.dao account and will be able to manipulate the account in whichever way they deem fit. Even if the keys were nulled out, there would be at least a 30 day period where an account recovery could be executed to change the owner key to another one @blocktrades controls.

How will you make sure we don't just have to take your word on the security of the funds sent to @steem.dao or any account?

https://steemd.com/@steem.dao
https://steemd.com/@null

The hard fork should lock the state of the account. Presumably they only registered it to prevent someone from registering pre hardfork (when it is not special) and pretending they are official

I was thinking about another feature for the DAO. What if Steemit, Inc or any other busy witness, have a good idea they want to code but have other priorities at the moment.

Can they propose the idea, allowing a random dev on Steem to do it and giving him the rewards instead?

Yes, it's possible, but that involves the proposing party calculating the cost, rather than having the cost set by the party doing the work, so that's more of an example of a bounty-based usage, and it also means that the party doing the work would need to rely on the proposing party to pay them from the funds received (but that could be done fairly safely, especially if the agreement is to pay them on a recurring basis throughout the proposal's lifetime).

Sounds good.

I'd think that the early homerun hitters would be generous with contributions to what they need to expand demand.
They, after all, profit the most by continued development.

Sounds good. I think donations won't be enough over a longer time period, but I guess having stake weighted voting via the DAO for a possible inflation model will solve that problem.

Good job!

It seems you also have decided that only inflation is an acceptable way to source funds.

Would you please point out what other sources you have considered? Have you considered not changing from the current funding source, that has been providing funding since Steem was created?

Just list any sources besides inflation that you're aware of, so that we can eliminate those that aren't better than this new tax on inflation and not fail to undertake any that are. Pretending there aren't other sources is disingenuous, as well as likely to miss better mechanisms.

Like the tried and true, perhaps. Without fair consideration and understanding of alternatives, we run the risk of being herded into bad decisions that might harm the community but profit some predators.

You wouldn't want that to happen, surely.

One potential problem with the above idea could be that there wouldn’t be enough funds from donations to fund the proposals to add new funding sources, but I’m assuming Steemit’s initial donation should easily cover any such costs.

I hope so. I don't see donations being plentiful or diverse enough in the long term to be able to cover the costs of the various development needs. I think that this is a suitable compromise however and I do think that pretty early on, the need for alternate funding will be recognised.

That's how I view it also. The main reason for the deferral is to have available a tool suitable for getting a good consensus on what those funding sources should be.

After some consideration, I reckon multiple mechanisms for providing funding would best meet our needs, as we have a diverse community, and those folks will prefer various means of kicking in.

Given that development has been undertaken by a couple different means so far, and those means remain available, funding via the DAO might preferentially provide mechanisms not presently available.

For example, extracting fund for development from existing inflation is being done right now, today, via posts that support projects being upvoted. Other mechanisms exist which also draw from existing inflation. Direct funding of development via spending individual stake is also presently being done.

You haven't discussed other mechanisms than those currently in place as mechanisms the DAO will potentiate, to my knowledge.

I reckon brainstorming some funding mechanisms would really inform the process of potentiating those mechanisms the community is willing to implement.

Maybe you could post asking for such ideas, as the party implementing the DAO.

Makes sense to me. What do you think?

I think had we had the inflation come from more than one source instead of all of it coming from the author reward pool, I think we might have had better consensus among the community. That route would also have the least dramatic impact on any one category...

What about sources other than inflation, such as has funded development since the blockchain began? Beginning to fund development via inflation has not been done for Steem, although other development has, but strictly on a voluntary basis.

A new drain on inflation may not be the best way to proceed.

I agree with others on here that most other sources won't be adequate, won't be enough. However, if we pulled inflation from all 5 categories it would have the least amount of overall effect on everyone.

this update on funding is a much welcomed one.
there was growing concern in some corners with some of the ideas being floated as putting the funding burden on only one sector.

Why move towards a less intuitive name? We already are up to our eyeballs in non intuitive nomenclature on steem. Time to reverse the trend. Let's make this an easier less weird or difficult place ... another example is the term "witness" is just so offputting I promise it makes us look like a bunch of freaks. Dao may be fun blockchain speech but we shouldn't learn how to work with the masses from blockchain projects.

Personally, I tend to agree, and I hate the name "witness" (in fact, I was just discussing recently with other witnesses how bad the name is, and problems that have resulted from that choice for the name of block producers).

Generally, I prefer descriptive names and I also dislike acronyms precisely because I think they are not very descriptive. But it's not my decision to make, and I can understand that the use of the term DAO might appeal to one of the primary demographics for investment in Steem (existing cryptocurrency holders).

But I also think that Steem is one of the few coins that has a lot of appeal outside that market, so there's a better argument with Steem for choosing a descriptive name over one that "sells the best" to crypto people.

Yeah DAO may not be my biggest worry it's just kind of the straw that broke the camels back. It's just such a worrying and ongoing trend that steem development has not thought of end users and supposedly just thinks of developers or crypto people (not like developers woudn't also understand intuitive terminology as well) ... add to it that crypto people don't know what the heck they're doing either. They can't get substantial usage of their supposedly genius apps among hundreds of blockchains so I worry about appealing to them because they're doing something wrong and I think it's in part the way they communicate.

In any case we'll work around things ... i'm guessing there will be an open sort of way to interface with this proposal system? If so SteemPeak will try to add it in as a tool and hopefully it seems intuitive to users regardless of the non-intuitive name.

Yes, there'll be a relatively simple API for getting a list of the proposals, vote counts, etc and allow voting.

The UI will be under your control, of course, but if you've got a UI for witness voting, you can probably start with that one.

As far far as the name goes, I'd recommend adding a short paragraph on your UI that describes what it's about.

Good start !!

Pilot with donations , once we understand the working system better make informed decisions afterwards.