Author Topic: Proposed Future DAC Delegate Pay Model  (Read 24728 times)

0 Members and 1 Guest are viewing this topic.

Offline blahblah7up

  • Full Member
  • ***
  • Posts: 192
    • View Profile
You don't seem to be getting the reason why I want a separation of roles between delegates and other workers of the DAC. If some magic consensus technology meant delegates weren't necessary, that would be ideal. I would still want to have workers that are paid by the DAC to improve it. Delegates to me are only necessary to make the consensus technology work. In my opinion that should be their only role.

Let me put it another way. To me delegates are not the board of directors of the company. They are the machinery of the company that unfortunately needs a human element to it. In my proposed system, either there is no board of directors at all and the company is run by code that is modified in limited ways by shareholders directly with their votes, or alternatively shareholders could even appoint specific workers through the proposal system to act as a limited board of directors that get to direct some of the decisions of the DAC. Either way, the delegates should have a very limited role in my view. I don't want shareholders choosing delegates because of the promises they provide on how they will improve the DAC. The only promise I want the delegates to fulfill is to keep the DAC running and not collude to filter transactions or double spend. In my view, complicating their role adds new attack vectors for malicious actors to trick shareholders into voting for their delegates.

This is so fundamental.  Delegates will be network specialists by default.  But that does not in the least qualify them to be decision makers for the direction the DACs should take.  It is a question of competencies and qualifications...yes, they exist!  Does the network administrator for an online national ballet archive need to know which choreographer is the best to invite for this year's presentation?

Offline bytemaster

I really, really, really dislike politics of delegates and inflation.

You have already established that centralization with scale is inevitable, so that's useless to dislike. Voting could perhaps be replaced by prediction markets. Inflation seems required to solve tragedy of the commons, but perhaps some alternative is possible.

Yes... I just wanted to re-iterate for those who may read this and think I am a big fan of democracy or inflation and to know that I am *NOT INTERESTED* in harming coin holders or wealth redistribution. 
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

Quote
Dilution is a serious matter that should be voted on separately of delegate approval process.

Delegate selection is equally serious.

Here we agree!
What about the separation?

Assume things are separated:
1) Users now vote on budgets separately from delegates.
2) Users now have to consider every individual on the budgets.
3) Proposing items to be included in the budget becomes becomes a challenge.
4) Delegates will end up trading budget items (I'll approve your spending if you approve mine)
5) Users will be left to vote for the same or similar sets of budgets because they were all filtered by the same/similar sets of delegates.
6) Users now have to review every item on the budget (which could be in excess of 101 delegates).
7) Changes to the budget are very slow because it requires share holder approval again.

At the end of the day you add bureaucracy to the DAC.  If a delegate cannot be trusted to honor a his campaign budget then he should not be a delegate.  If he can be trusted to honor his budget then there is no need for the bureaucracy.   If you can have 101 individual budgets each 1% the size of the "master budget" you have far more flexibility. 

If and when a consensus model allows delegates to be removed from block production, then that is just one less job they would have to do and the network can continue to function.

I think the goal is to give each delegate control of a percentage of the budget proportional to how much the community trusts them.  Asking for direct democracy on proposed budgets is intractable.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline CLains

  • Hero Member
  • *****
  • Posts: 2606
    • View Profile
  • BitShares: clains
I really, really, really dislike politics of delegates and inflation.

You have already established that centralization with scale is inevitable, so that's useless to dislike. Voting could perhaps be replaced by prediction markets. Inflation seems required to solve tragedy of the commons, but perhaps some alternative is possible.

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
Quote
Dilution is a serious matter that should be voted on separately of delegate approval process.

Delegate selection is equally serious.

Here we agree!
What about the separation?

Offline bytemaster

Quote
Dilution is a serious matter that should be voted on separately of delegate approval process.

Delegate selection is equally serious.

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Frodo

  • Sr. Member
  • ****
  • Posts: 351
    • View Profile
  • BitShares: frodo

You gain nothing by separating the roles out other than increasing the number of people, costs, and complexity. 

I strongly disagree. I want to vote for delegates who I think are capable of keeping the network running, upgrade promptly as necessary, are spread throughout the globe to reduce risk, and who can be trusted to not collude to damage the network. And that is it! I don't want to now start considering other frivolous stuff like are they donating their money to a charity I like, or are they the best people to manage the funds for development, or any number of other things. Once we have delegates we can trust enough to keep the network running and the consensus of the blockchain working, we can then utilize the blockchain to vote for the BEST people to handle all the other important tasks that grow the value of the DAC.


This is exactly what I think. What BM said about increasing the amount of people involved by separating the roles is in my opinion absolutely wanted. Because in this case we can vote for delegates that give the DAC the highest possible security and vote for other individuals who are performing well at their tasks.

The only disadvantage I see is the increased complexity which can be handled by an approach similar to RDPOS. With this approach you select your trusted set of delegates but instead of paying them directly you give them the far easier task to select projects for funding.
« Last Edit: September 29, 2014, 04:27:09 pm by Frodo »

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Quote
I don't want to now start considering other frivolous stuff like are they donating their money to a charity I like, or are they the best people to manage the funds for development, or any number of other things. Once we have delegates we can trust enough to keep the network running and the consensus of the blockchain working, we can then utilize the blockchain to vote for the BEST people to handle all the other important tasks that grow the value of the DAC.

So only vote for delegates that have no inflation to speak of?   Nothing prevents you and the entire network from doing this.  This leaves only a small handful of delegates that you must think harder about (or not even consider).

You don't seem to be getting the reason why I want a separation of roles between delegates and other workers of the DAC. If some magic consensus technology meant delegates weren't necessary, that would be ideal. I would still want to have workers that are paid by the DAC to improve it. Delegates to me are only necessary to make the consensus technology work. In my opinion that should be their only role.

Let me put it another way. To me delegates are not the board of directors of the company. They are the machinery of the company that unfortunately needs a human element to it. In my proposed system, either there is no board of directors at all and the company is run by code that is modified in limited ways by shareholders directly with their votes, or alternatively shareholders could even appoint specific workers through the proposal system to act as a limited board of directors that get to direct some of the decisions of the DAC. Either way, the delegates should have a very limited role in my view. I don't want shareholders choosing delegates because of the promises they provide on how they will improve the DAC. The only promise I want the delegates to fulfill is to keep the DAC running and not collude to filter transactions or double spend. In my view, complicating their role adds new attack vectors for malicious actors to trick shareholders into voting for their delegates.

Yes you could have a table... but how do shares vote on that table... how many line items go in that table.

The blockchain has some state defining important parameters that govern how the DAC operates. A proposal is a delta update to this state. From the perspective of the voter, the client helps them visualize the state before and after the proposal would become active. The proposal will either be activated or not (if majority disapprove it will be removed automatically, otherwise the delegates will eventually get rid of the failed proposal to make room). Shares only vote yea or nay on proposals which determine whether they become activated or not.

As for how many line items in the table. Is that really important? Make it variable amount with a sensible limit. The proposals are likely going to be relatively rare things and only need to be submitted by a delegate once into the blockchain. It is not like it is going to cause a lot of blockchain bloat (and the small cost of that transaction can be paid out of all of the delegates' income if approved by a majority of delegates or entirely by the submitting delegate if it is not approved).

« Last Edit: September 29, 2014, 04:35:24 pm by arhag »

Offline bytemaster

I really, really, really dislike politics of delegates and inflation.

With deflation there is nothing to argue over other than where delegates spend their income from fees.





For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
Why do you want to burden the delegates with anything except block signing?
What you propose can be described to the blockchain the same way:
Send X of the fees to address Y until the total accumulated funds becomes greater than Z if this is approved by shareholders.

It is essentially the same as your proposal with the exception that the recipient is not a delegate.

95% of delegates would take no pay have have no burden beyond what they have today.

Anyone who wants some large amount of money to fund development, marketing, legal, etc should find that producing a block nothing to be concerned about and can easily hire someone to help them maintain their delegate node.

It is completely different story.
Remaining an active delegate in top101 approval voting system (or whatever future voting system is decided) is not necessarily enough to pass a vote for a dilution.
See current top101 rankings. 101th delegate has 5% approval. (... Ok bad example, people could vote more and so on...)

Dilution is a serious matter that should be voted on separately of delegate approval process.

Offline bytemaster

Quote
I don't want to now start considering other frivolous stuff like are they donating their money to a charity I like, or are they the best people to manage the funds for development, or any number of other things. Once we have delegates we can trust enough to keep the network running and the consensus of the blockchain working, we can then utilize the blockchain to vote for the BEST people to handle all the other important tasks that grow the value of the DAC.

So only vote for delegates that have no inflation to speak of?   Nothing prevents you and the entire network from doing this.  This leaves only a small handful of delegates that you must think harder about (or not even consider).

Yes you could have a table... but how do shares vote on that table... how many line items go in that table.   
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
There are many proposals floating around about how things could be done... such as share holders voting on a limited set of proposals that are filtered by delegates.  But these proposals all have the issue of 'how do you describe them to the DAC'?    Ethereum like scripting?   A set of addresses to be paid upon approval? 

Oh cmon now. It's like you are not even trying anymore. I'm not asking for a Turing complete scripting language. Let's keep it really simple for now and then we can complicate as necessary in the future with hard forks (which by the way can poll shareholders for approval of these hard forks in advance through the proposal system!). So to start with, how about a table of accounts to pay and the rate (denominated in BitUSD) at which to pay them. You can still pay them in XTS to avoid buying up BitUSD on the exchange if that makes things simpler: just take the current price at the time of payment and multiply it with the amount you are supposed to pay them as listed in the proposal. If you cannot pay everyone without going over inflation caps do the following: first try to pay all the delegates their minimum amounts, and if you cannot reduce the pay equally until you meet the inflation cap; if you paid the delegates then you can pay the rest to the other workers; if you cannot pay the workers their full amounts, reduce their pay in proportion until you meet the inflation cap.


You gain nothing by separating the roles out other than increasing the number of people, costs, and complexity. 

I strongly disagree. I want to vote for delegates who I think are capable of keeping the network running, upgrade promptly as necessary, are spread throughout the globe to reduce risk, and who can be trusted to not collude to damage the network. And that is it! I don't want to now start considering other frivolous stuff like are they donating their money to a charity I like, or are they the best people to manage the funds for development, or any number of other things. Once we have delegates we can trust enough to keep the network running and the consensus of the blockchain working, we can then utilize the blockchain to vote for the BEST people to handle all the other important tasks that grow the value of the DAC.


Making it difficult to "increase your pay" by forcing election of a new delegate is the entire POINT and is no different than requiring a new proposal to be accepted by the shareholders in terms of complexity.

It is less elegant. I may want to still vote for a particular delegate (as in the person) but simply have them increase their inflation rate to provide funds to some third-party. The delegate inflation model requires that delegate to produce a new account, register it with a new fee, and get people to vote it up to the top 101 rank while at the same time voting his old delegate out. Then we need to trust the delegate to actually send that money to the third-party. If they don't, we now have to vote them out and replace them with another person.


« Last Edit: September 29, 2014, 04:04:34 pm by arhag »

Offline bytemaster

Why do you want to burden the delegates with anything except block signing?
What you propose can be described to the blockchain the same way:
Send X of the fees to address Y until the total accumulated funds becomes greater than Z if this is approved by shareholders.

It is essentially the same as your proposal with the exception that the recipient is not a delegate.

95% of delegates would take no pay have have no burden beyond what they have today.

Anyone who wants some large amount of money to fund development, marketing, legal, etc should find that producing a block nothing to be concerned about and can easily hire someone to help them maintain their delegate node.



For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
Why do you want to burden the delegates with anything except block signing?
What you propose can be described to the blockchain the same way:
Send X of the fees to address Y until the total accumulated funds becomes greater than Z if this is approved by shareholders.

It is essentially the same as your proposal with the exception that the recipient is not a delegate.

Offline bytemaster

Quote
Shareholders (or delegates) vote on dilution "offers" by 3rd parties.

Giving the delegate "spending authority" up to some limit is an explicit form of trust.
Asking a delegate to ratify an arbitrary 3rd party proposal means all delegates are required to have the same level of "spending authority" which is not ratified.

There are many proposals floating around about how things could be done... such as share holders voting on a limited set of proposals that are filtered by delegates.  But these proposals all have the issue of 'how do you describe them to the DAC'?    Ethereum like scripting?   A set of addresses to be paid upon approval? 

You don't want "one-time offers" you want subscription, pay-as-you-go (review-as-you-go).   

Delegates are individually voted on and approved by the shareholders.  Anything they do is effectively "trusted" within the limits the shareholders placed on them (pay rate).   Every other proposal adds complexity and does nothing other than defend a technical job. 

You gain nothing by separating the roles out other than increasing the number of people, costs, and complexity. 

One thing I can see is a maximum pay based upon approval voting even if they are in the top 101.   Namely, someone with less than 10% approval is limited to some pay cap. 

Making it difficult to "increase your pay" by forcing election of a new delegate is the entire POINT and is no different than requiring a new proposal to be accepted by the shareholders in terms of complexity. 
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.