Author Topic: BTS Governance step 1: Basic stake polling  (Read 10006 times)

0 Members and 1 Guest are viewing this topic.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
One thing I think it would be really great to have implemented ASAP would be a reddit style forum where people upvote and downvote with their stake (that they register by completing a cryptographic challenge at account creation or after). This would allow us to measure support for pretty much anything, even tiny issues, and it would make it easy for people to rapidly make many small variations of the same proposal/concept/idea and have stakeholders be able to conveniently rate all of them.

Great idea. Very doable.

And yes any such service is only suited for business.
We wouldn't even need usernames.. votes and comments are just signed with a stake.

toast--
Wouldn't we need to announce vote snapshots?
Otherwise if BTS flows around, the vote does not follow.
Or, someone could "double-vote" if we counted votes between multiple daily snapshots.

You have one vote per snapshot + voting period. You need to make a new snapshot every day and get new signatures from each balance for that day.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline roadscape

One thing I think it would be really great to have implemented ASAP would be a reddit style forum where people upvote and downvote with their stake (that they register by completing a cryptographic challenge at account creation or after). This would allow us to measure support for pretty much anything, even tiny issues, and it would make it easy for people to rapidly make many small variations of the same proposal/concept/idea and have stakeholders be able to conveniently rate all of them.

Great idea. Very doable.

And yes any such service is only suited for business.
We wouldn't even need usernames.. votes and comments are just signed with a stake.

toast--
Wouldn't we need to announce vote snapshots?
Otherwise if BTS flows around, the vote does not follow.
Or, someone could "double-vote" if we counted votes between multiple daily snapshots.
http://cryptofresh.com  |  witness: roadscape

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
I don't know how the VOTE daap will work, but isn't what your asking covered by its functions? 

Anti-constitution rant:
As for a constitution... I urge big changes to wait until voting is implemented.  'Constitution' is a very powerful word.  It's a founding document.  It's the core protocol of a society.  It means starting all over again.   In the spirit of not having more drastic changes, to create calmness and investor confidence, using such dramatic words like calling a temporary description of bitshares the 'constitution' needs to stop.

Once power is truly distributed among the stakeholders people can propose whatever they like and if a constitution is an idea that gains traction it may come into existence.

As of now, stakeholders have self-selected themselves into bitshares just fine, as well as into every other investment in the history of man kind without a constitution.  So I am against having one.  Constitutions are for governments, not corporations whether they a decentralised or not.  The only rule is there are no rules.  What is this 'constitution' if it doesn't have to be obeyed?  It's just a confusing document that will divide the community.  I say voting is for choosing delegates, keep it modular.  Please do not create some monolithic and highly controversial document to alienate the current investors.

People will describe bitshares in different ways.  There's no need for there to be the 'one true description'.  It's already an elegant system, more changes to the foundation are harmful - and creating a constitution is a foundational shift!  Delegates (and currently 3I) need a description to use for marketing, of course, but calling it a constitution implies it has supreme importance when in reality it's just sales copy.

Bitshares has an elegant system, what it needs is for the foundation to stop changing, it isn't adaptation, it's floundering.

I agree with you. Big changes like this should wait until we have voting capability and that voting capability is tested. Most people probably wont vote right now and it's also not the idea time to create something like this when we don't even know what capabilities a DAC has yet.

It's a good time to discuss how to do it and work on the technology for it (voting).
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Rune

  • Hero Member
  • *****
  • Posts: 1120
    • View Profile
I actually like the idea that if a proxy delegate gets voted in it starts messing things up. This means that it can be used as a form of digital protest, if a large group of stakeholders feel they are being seriously mistreated. Obviously if it is not an issue that is very controversial then the supporters would never actually let it become a real delegate because they would be hurting their own investment. If both a yes proxy and a no proxy end up being really close to getting voted in, then that can serve as a signal that a "referendum" is needed with all stakeholders being pushed a notification asking them to vote on the issue through the hard fork voting system.

I think this is just getting messy. The idea of breaking the system could inhibit stakeholders from voting. Then you have to worry about some stake still voting for the dummy delegate even after the resolution, instead of voting for real delegates. Whoever sets up the delegate will start getting the inflation BTS after the hard fork... there is probably even more messy consequences neither of us can see.

I do not think we should pollute the Delegate voting space, as it may be difficult to clean up after ourselves completely.

No one would ever vote for a proxy delegate with a pay rate above 0. Anyway this is most definitely a hack, but I think it will do fine until more sophisticated methods are created (which I suspect won't be trivial to implement and get people to use).

One thing I think it would be really great to have implemented ASAP would be a reddit style forum where people upvote and downvote with their stake (that they register by completing a cryptographic challenge at account creation or after). This would allow us to measure support for pretty much anything, even tiny issues, and it would make it easy for people to rapidly make many small variations of the same proposal/concept/idea and have stakeholders be able to conveniently rate all of them.

The only important thing to remember with such a system is that the stake voting on posts and comments should only be done for "business things". If the platform is used for social communication or link sharing then that functionality should be clearly segregated into a separate system where voting is more like traditional reddit (perhaps with advanced individual filtering features), but stake should never have a say in controlling what kind of social/cultural expression the community presents to itself and others.

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
The BTS blockchain is used to secure one consensus measure: percent ownership. The only purpose of a "constitution" is to define an initial social consensus to let stakeholders self-select into it. BTS ownership is already well-defined but its goals are not clear yet. Once a DAC is being traded, the will of its majority stakeholders can change and that will change the actions of the DAC. You can choose to still claim there's a constitution to help explain what the expected behavior of the DAC is based on its current shareholders, but the technology does not recognize it.

The blockchain can be used to document decisions about stakeholder intent that becomes impossible to muddle in the future. Once we get things figured out using off-chain systems that don't require core dev time, we can move more governance functions into the actual BTS client.

It would be good if a dev could do this:

1) Take daily BTS snapshots to obtain a map from address to amount
2) Make a curated list of issues. Request a signature on (issue_id, decision) for each balance from users. A utility to create these signatures in bulk in a standard format is needed.
3) Keep a running total of votes for each issue, allowing people to change the vote of a balance during the day.
4) Test actively, and start using it to make real decisions to force stakeholder engagement

Once this is in place we can start refining how the will of BTS leader+whale hivemind can be computed

I like this and it's moving in the right direction.
I'm not really someone who thinks we should rush into a constitution but I do think we should figure out how to give stakeholders more of voice on different issues.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline roadscape

What has to happen for a developer to actually attack this starting right now? An escrowed bitUSD commitment?

I am going to hack on it tonight.
http://cryptofresh.com  |  witness: roadscape

Offline fluxer555

  • Hero Member
  • *****
  • Posts: 749
    • View Profile
I actually like the idea that if a proxy delegate gets voted in it starts messing things up. This means that it can be used as a form of digital protest, if a large group of stakeholders feel they are being seriously mistreated. Obviously if it is not an issue that is very controversial then the supporters would never actually let it become a real delegate because they would be hurting their own investment. If both a yes proxy and a no proxy end up being really close to getting voted in, then that can serve as a signal that a "referendum" is needed with all stakeholders being pushed a notification asking them to vote on the issue through the hard fork voting system.

I think this is just getting messy. The idea of breaking the system could inhibit stakeholders from voting. Then you have to worry about some stake still voting for the dummy delegate even after the resolution, instead of voting for real delegates. Whoever sets up the delegate will start getting the inflation BTS after the hard fork... there is probably even more messy consequences neither of us can see.

I do not think we should pollute the Delegate voting space, as it may be difficult to clean up after ourselves completely.
« Last Edit: November 01, 2014, 09:17:15 pm by fluxer555 »

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
What has to happen for a developer to actually attack this starting right now? An escrowed bitUSD commitment?
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
I agree with everything you're saying, I'm just pointing out that if delegates are supposed to represent stakeholder intent then the fact that there are not explicit "no policy" delegates shows it is probably failing to really represent BTS holder desires. I suppose the init delegates played that role at the start, but not anymore.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline roadscape

This idea is a perfect for an off-the-blockchain app.

It's a stop-gap measure until VOTE, no need to change fundamentals.
http://cryptofresh.com  |  witness: roadscape

Offline Rune

  • Hero Member
  • *****
  • Posts: 1120
    • View Profile
Perhaps we can have BM help with whatever servers the 'init' delegates are running on, to create new dummy delegates that will produce blocks just fine, that we can use for the purpose of voting for proposals.

I actually like the idea that if a proxy delegate gets voted in it starts messing things up. This means that it can be used as a form of digital protest, if a large group of stakeholders feel they are being seriously mistreated. Obviously if it is not an issue that is very controversial then the supporters would never actually let it become a real delegate because they would be hurting their own investment. If both a yes proxy and a no proxy end up being really close to getting voted in, then that can serve as a signal that a "referendum" is needed with all stakeholders being pushed a notification asking them to vote on the issue through the hard fork voting system.

Offline Rune

  • Hero Member
  • *****
  • Posts: 1120
    • View Profile
I think the easiest way to do this would to have proxy delegates for an issue you want to stake poll.

So when you want to ask if e.g. dilution is good, then you make two delegates and put approval links in the post btsx:yes.dilution.proxyabc/approve and btsx:no.dilution.proxyabc/approve

Then it should be fairly easy to gauge stakeholder sentiment based on the votes the proxy delegates receive.

That's a pretty good technique but you can't distinguish between active and inactive stake. You can only count active supporters and compare support for alternative ways to do things.

Well you can compare with the current active delegates. If it becomes apparent that a proxy delegate is going to get voted in (or even is voted in and starts screwing with the block production temporarily), then I don't think it can plausibly be argued that there could be an active majority against the proposal.

But even at much smaller numbers just comparing with the lowest voted current active delegate should give a good picture of how much active support or objection an issue has, especially if you also compare the ratio of people voting for the yes proxy and the no proxy.

I would agree with you if the delegate list was full of no-policy at-cost delegates. Delegates are not a perfect substitute for proposal executives because "no action" delegate requires an operator.

You mean a "no proxy" delegate requires someone to register it in the first place, and a guy with a proposal will register only the yes proxy delegate? If there is an active majority against the proposal then they will certainly move to campaign against it and create a proxy delegate against it if they observe its yes proxy getting too many votes. IMO the barriers of entry for doing this are so low it wouldn't require any special inbuilt support from the blockchain (at least in the short term). You don't have to actually install or run a delegate just to register one that people can vote for, right?

But even if it wasn't that easy for the opposition campaign to register a no proxy, I don't think anyone, delegates or stakeholders, would take a proposal seriously in the first place if it was initially presented with only the possibility for people to vote "yes". Even stakeholders that were strongly supporting it would find that kind of trickery ludicrous.

Offline fluxer555

  • Hero Member
  • *****
  • Posts: 749
    • View Profile
Perhaps we can have BM help with whatever servers the 'init' delegates are running on, to create new dummy delegates that will produce blocks just fine, that we can use for the purpose of voting for proposals.
« Last Edit: November 01, 2014, 08:57:32 pm by fluxer555 »

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
I think the easiest way to do this would to have proxy delegates for an issue you want to stake poll.

So when you want to ask if e.g. dilution is good, then you make two delegates and put approval links in the post btsx:yes.dilution.proxyabc/approve and btsx:no.dilution.proxyabc/approve

Then it should be fairly easy to gauge stakeholder sentiment based on the votes the proxy delegates receive.

That's a pretty good technique but you can't distinguish between active and inactive stake. You can only count active supporters and compare support for alternative ways to do things.

Well you can compare with the current active delegates. If it becomes apparent that a proxy delegate is going to get voted in (or even is voted in and starts screwing with the block production temporarily), then I don't think it can plausibly be argued that there could be an active majority against the proposal.

But even at much smaller numbers just comparing with the lowest voted current active delegate should give a good picture of how much active support or objection an issue has, especially if you also compare the ratio of people voting for the yes proxy and the no proxy.

I would agree with you if the delegate list was full of no-policy at-cost delegates. Delegates are not a perfect substitute for proposal executives because "no action" delegate requires an operator.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline Rune

  • Hero Member
  • *****
  • Posts: 1120
    • View Profile
I think the easiest way to do this would to have proxy delegates for an issue you want to stake poll.

So when you want to ask if e.g. dilution is good, then you make two delegates and put approval links in the post btsx:yes.dilution.proxyabc/approve and btsx:no.dilution.proxyabc/approve

Then it should be fairly easy to gauge stakeholder sentiment based on the votes the proxy delegates receive.

That's a pretty good technique but you can't distinguish between active and inactive stake. You can only count active supporters and compare support for alternative ways to do things.

Well you can compare with the current active delegates. If it becomes apparent that a proxy delegate is going to get voted in (or even is voted in and starts screwing with the block production temporarily), then I don't think it can plausibly be argued that there could be an active majority against the proposal.

But even at much smaller numbers just comparing with the lowest voted current active delegate should give a good picture of how much active support or objection an issue has, especially if you also compare the ratio of people voting for the yes proxy and the no proxy.
« Last Edit: November 01, 2014, 08:36:49 pm by Rune »