Author Topic: Idea: Models for Decentralised Governance  (Read 982 times)

0 Members and 1 Guest are viewing this topic.

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
Currently the only way for stakeholders to fund common work in the BitShares system is to vote for individual developers and marketers, who are then paid like employees of the system. Realistically, all the core developers need to be individually voted in to continue their work toward the team priorities if we want development to progress. This process allows funding for directed development, but does not give stakeholders any meaningful say in the direction or prioritisation of that development. Their only option is a binary one - to opt in or opt out of owning BTS, with those votes reflected in the BTS price, which affects the delegate group collectively.

Its possible to instead have a system where stakeholders are individually free to vote on the priorities for development of the entire system, and to use their stakes to direct this effort. This would be through the voting and funding of public agents. Public agents would maintain a public policy and budget, and a required number of seats for office. Their platform could be specific to an area, like product design, or development, or security, or a more holistic policy, vision or principle to implement within BitShares. And the public could vote them in so that they receive the required public funding and create those outcomes through their expenditure plans.

Rather than merely acting as employees, public agents could be considered as running an office. Their budget would include employees as well as payments to other service providers to influence workflow performed in the system. For example, if a public agent with a new product design obtained enough seats by public vote, they could budget payment to the core developer team to either influence a change in priorities or allow them to pull in more coders to fulfil this demand.

A much broader skill-set would be utilised by these public agents, beyond coding and marketing. They may bring skills in design, strategic planning, law or other fields, and use this to direct change in the system.

Public agents could also receive voluntary funding from stakeholders, and this list of patrons could also be used in various ways without obligation, such a votes on budgets if required. (*)

Now I've been careful not to say public agents are delegates, although clearly the delegate structure, with a couple of modifications, could easily be redirected toward this purpose. These modifications would include:

- removing the requirement for all delegates to perform certain tasks such as block-signing and feed-prices (see https://bitsharestalk.org/index.php/topic,15688.0.html), a process that can be managed by specific agents

- setting up control mechanisms for delegates to transparently and honestly manage their budgets

We could alter the labels we use if we want to avoid confusion with the historical role of delegates under DPoS, being purely block production. So for example, we could call the block-signers delegates, and the public agents "ministers" or "agents" or some other more useful name. I do happen to think though that delegate is a useful label for what I am describing, moreso than the block-producers.

Now in modern society, the structures of government, businesses and other institutions are largely hierarchical in their decision and prioritisation processes. What I'm suggesting here is a way to truly decentralise the governance structure so that stakeholders retain as much control over the evolution of their system as possible.

(*  Its conceivable that the system could exist on patronage alone rather than any public funds, but that requires deeper thought).

I offered some ideas for that way back in 2013. Now I would say it's possible but for Bitshares now isn't the best time to do something like that. When prices are high and money is plentiful then it might make sense but not anytime soon.

I will say though that you can use self organization to completely build a DAC. You don't need to do it the way Bitshares is doing it and Lighthouse is evidence that the self organization model does work. But in our case why mess up good chemistry if it's working fine as it is?

If it ain't broke don't fix it.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Yes, yes, we can have all kinds of fancy governance systems. But as far as I am concerned they can all be implemented with a minimum of a few mechanisms:
  • A prioritized pay list of specific amounts to specific addresses where the list can be mutated by an authorized group.
  • A non-binding BTS-stake-based proposal voting system.
  • A binding mechanism to modify the members of the authorized group through BTS-stake-based voting on the blockchain.

We already have the last mechanism: it is the delegate slate voting system. This means the "authorized group" above is what we currently call "active delegates".

The other two mechanisms would need to be developed for the BitShares client. The link above links to a proposal of how the pay list could be implemented. As for the non-binding proposal system, we can take advantage of the negative delegate_id hack that already exists (meaning a hard fork of the blockchain wouldn't even be necessary to implement a non-binding proposal sytem), but the code would still need to be developed into the client.

Now once these mechanisms are built, shareholders can vote for whatever changes they want to the governance state. The "authorized group" could follow the changes to the governance state and update the "pay list" so that the necessary accounts are funded. The job of the "authorized group" (beyond other tasks they may have such as block signing and price feeds) is very simple: they must follow the "official" (but not coded into the blockchain consensus model) and straightforward governance policy by appropriately responding to the results of non-binding proposals. If they fail to do this, they will be voted out.

Sure you could modify the blockchain consensus model to automate some of these tasks so that the "authorized group" (or "active delegates") wouldn't have to be middlemen doing it themselves (or setting up client-side scripts to do it on their behalf), but doing it this way requires less hard-forking changes to the blockchain (especially as the governance model/policy changes over time) and it is a good first step.

So now the hard part: convincing bytemaster that we need to implement those first two mechanisms. Or at the least convincing him of the need for the first mechanism (since in theory any third-party dev could create a version of the client with the non-binding proposal since it is a not a hard-forking change).

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
Currently the only way for stakeholders to fund common work in the BitShares system is to vote for individual developers and marketers, who are then paid like employees of the system. Realistically, all the core developers need to be individually voted in to continue their work toward the team priorities if we want development to progress. This process allows funding for directed development, but does not give stakeholders any meaningful say in the direction or prioritisation of that development. Their only option is a binary one - to opt in or opt out of owning BTS, with those votes reflected in the BTS price, which affects the delegate group collectively.

Its possible to instead have a system where stakeholders are individually free to vote on the priorities for development of the entire system, and to use their stakes to direct this effort. This would be through the voting and funding of public agents. Public agents would maintain a public policy and budget, and a required number of seats for office. Their platform could be specific to an area, like product design, or development, or security, or a more holistic policy, vision or principle to implement within BitShares. And the public could vote them in so that they receive the required public funding and create those outcomes through their expenditure plans.

Rather than merely acting as employees, public agents could be considered as running an office. Their budget would include employees as well as payments to other service providers to influence workflow performed in the system. For example, if a public agent with a new product design obtained enough seats by public vote, they could budget payment to the core developer team to either influence a change in priorities or allow them to pull in more coders to fulfil this demand.

A much broader skill-set would be utilised by these public agents, beyond coding and marketing. They may bring skills in design, strategic planning, law or other fields, and use this to direct change in the system.

Public agents could also receive voluntary funding from stakeholders, and this list of patrons could also be used in various ways without obligation, such a votes on budgets if required. (*)

Now I've been careful not to say public agents are delegates, although clearly the delegate structure, with a couple of modifications, could easily be redirected toward this purpose. These modifications would include:

- removing the requirement for all delegates to perform certain tasks such as block-signing and feed-prices (see https://bitsharestalk.org/index.php/topic,15688.0.html), a process that can be managed by specific agents

- setting up control mechanisms for delegates to transparently and honestly manage their budgets

We could alter the labels we use if we want to avoid confusion with the historical role of delegates under DPoS, being purely block production. So for example, we could call the block-signers delegates, and the public agents "ministers" or "agents" or some other more useful name. I do happen to think though that delegate is a useful label for what I am describing, moreso than the block-producers.

Now in modern society, the structures of government, businesses and other institutions are largely hierarchical in their decision and prioritisation processes. What I'm suggesting here is a way to truly decentralise the governance structure so that stakeholders retain as much control over the evolution of their system as possible.

(*  Its conceivable that the system could exist on patronage alone rather than any public funds, but that requires deeper thought).