Author Topic: Is it feasible to remove block-signing as a required delegate function?  (Read 1452 times)

0 Members and 1 Guest are viewing this topic.

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
Why do you want the extra level of indirection in determining block signers?

Good question, I hadn't quite got round to the full rationale, wanted to understand the feasibility first.

i) Because I'm thinking there is no loss in value, because most stakeholders have no inclination to manage this voting process in any case, so why not delegate the management of it, and

ii) Because I'm thinking the delegate structure could be tweaked into a fully decentralised governance framework. I've just more fully explained this thought here...https://bitsharestalk.org/index.php/topic,15691.0.html
« Last Edit: April 12, 2015, 04:06:46 am by starspirit »

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Why do you want the extra level of indirection in determining block signers?

I would prefer the voting slate associated with each BTS balance to vote for 101 block signers as it currently does (no extra level of indirection required), but to take away the price feed responsibility from that set of 101 block-signers. Instead the 101 block signers (the "delegates") would in turn delegate the task of updating price feeds to another set of accounts (which they can belong in as well if they choose).

Also, these delegates would only be block signers (and the authority to submit and vote on binding proposals, dynamic parameter changes, and updating the price feed authority set and the worker pay list). All other tasks that the shareholders want to see happen for the benefit of the BitShares ecosystem (which would require dilution to pay for) would be implemented through a worker system (my latest proposal on how this worker pay system could be implemented can be found here).

Edit: By the way, I propose the following terminology. The term "active delegate" can be used to describe a member in the set of accounts that are selected via an official (meaning recognized by the blockchain consensus system) BTS stake-based voting system (and therefore the blockchain knows that this set of entities has some authority). The term "candidate delegate" can be used to describe a member of the set of accounts that have registered as candidates who could potentially be voted in as an "active delegate". And "delegate" can either be used to refer to an "active delegate" or "candidate delegate" depending on context (but it should be assumed that it refers to "active delegate" if the context isn't clear). Any other sets or groups of accounts should not be referred to as a "delegate". Other names should be used to describe them, such as block signers, price-feed submitters, workers, board of directors, etc.
« Last Edit: April 12, 2015, 01:40:17 am by arhag »

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Sure it's possible, but I really wish we would drop the term "delegate" for anything but block producers because then it confounds the security properties of DPOS. Too late I guess, now "delegate" means "important account"
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 starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
There has been some past debate about whether delegates should fulfil more or less services, perhaps even being purely block-signers (as they were originally) and paying for other common services in some other form. Here I take a different tack. What if delegates as a collective group were completely freed from the requirements of block-signing and price-feeds? What I find compelling about this idea that there would be far richer competition for delegate slots, delegates could be voted on their specific contributions rather than a menagerie of tasks, and the block-signing and price-feed pools could be managed by more expert judges. But there may well be big flaws or weaknesses as well.

I've already suggested elsewhere the possibility that a much smaller group of delegates could be voted in as price feed arbiters, that coordinate an open pool of price feed submitters. This would remove price-feeds as a required delegate function. See https://bitsharestalk.org/index.php/topic,15331.msg197641.html#msg197641

Is it feasible that something similar be done for block-signing? This is not a proposed process, as I don't think I'm best placed at all to determine the best procedure, but as a starting point for discussion I'm thinking something along these lines -

- there is a smaller group of block-sign arbiter delegates voted in by all stakeholders via the usual process, on the basis of their proposed selection process for block-signers
- each delegate in this group is required to maintain a template of preferred block-signers
- the combination of these templates determines the 101 block-signers at any time
- block-signing rewards no longer go to delegates but to this set of 101 block-signers
- whenever a block-sign arbiter delegate changes their template, there is a minimum time period before it comes into force, so in effect all stakeholders have a right of veto
- when a new block-sign arbiter delegate is voted in, their template takes immediate effect

So is something like this feasible? How would it affect the integrity of the block-signing process? Does the idea have merit?