Author [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] Topic: Questions about delegates  (Read 691 times)

0 Members and 1 Guest are viewing this topic.

Offline Thom

Questions about delegates
« on: November 03, 2014, 08:23:17 PM »

In a similar vain to my BitAssets questions, I have a few about delegates I can't seem to find answers for, or don't understand the info I've found. Some of my confusion stems from the various contexts I've heard the term delegates used. And if my understanding presented below is incorrect please do let me know where I've missed the mark.

Since DPOS relies very heavily on delegates, it's a fundamental concept of the BitShares ecosystem, so everyone needs to understand them thoroughly.

1. Delegate Roles and Responsibilities

Delegates sign blocks of transactions and enter them into the blockchain ledger
The particular delegate that signs a block is chosen from the 101 in (random | round robin)? order.
This is analogous to bitcoin PoW mining, but instead of a computationally difficult task being performed by many nodes in a race, the winner of which is awarded 50/25/... BTC to sign a block, the signer of DPoS blocks are chosen from the pool of 101 delegates and rewarded with only transaction fees, which is far cheaper than the PoW process.

Q1: Does every delegate do this, or only some of the 101?
Q2: Is this signing process accomplished by just running special delegate client node software, and if so is the process fully automated? i.e. when that node is called on (out of the 101 delegate nodes) to sign a block the software does so as it runs without human intervention.   
Q3: Is it true that the only human intervention required to run a delegate node is to handle problems like hardware failures, network outages and software upgrades?

2. Delegates and Voting

Delegates are voted in / out by owners of BTS, and the strength of their vote is (proportional | directly related)? to (the number of BTS owned | size of BTS transaction the vote is submitted with)?

Is voting only accomplished when a transaction is performed? So the way to vote simply for the sake of voting would be to send BTS to yourself.

What is a "vote"?
Q1: Is it provided as information with each BTS transaction?
Q2: How is the analog / gray scale value for vote strength correlated to whether a delegate is in or out, a binary state?
Q3: If votes are provided by BTS owners with each BTS transaction, are delegates then subject to be voted in or out in real time with every transaction that takes place in the BTS ecosystem?
Q4: How is the voting calculated?
Q5: What about BTS that haven't been sold yet? i.e. if there are a total possible 10 billion BTS, but when an owner trades BTS for something 9.5 billion BTS have never been bought (marketcap of 500 million, right?), then the total voting power of all BTS in play is 500 million, right?
Q6: If 400 million BTS are (offline | in cold storage | owner destroyed his wallet / keys), then total voting power is actually only 100 million, correct?
Q7: How are the votes provided with an owner's transaction summarized over time with other owners votes they may have offered months ago, and in terms of whether a delegate "is in the top 101 delegates" and hence active in the pool, and how does an owner's voting "strength" factor into this (similar to Q4 above)?
Q8: If there were 100 million BTS in the wild, and each owner held only 1 BTS, then there are essentially 100 million votes, and everyone has the exact same voting power. In that case would the 101 delegates be chosen simply by the top 101 votes (i.e. top 101 in a histogram list)?
Q8a: histogram list of what: (transactions? Latest transactions ???)

I haven't even considered questions related to voting slates yet.

« Last Edit: November 03, 2014, 09:12:17 PM by Thom »
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline Geneko

  • Full Member
  • ***
  • Posts: 187
    • View Profile
Re: Questions about delegates
« Reply #1 on: November 03, 2014, 08:38:01 PM »
Very interesting topic. I am anxious to find that too!!

Offline emski

  • Hero Member
  • *****
  • Posts: 1283
    • View Profile
    • http://lnkd.in/nPbhxG
Re: Questions about delegates
« Reply #2 on: November 03, 2014, 08:46:28 PM »
Q1: all 101.
Q2: Fully automated.
Q3: Yes

Next answers after dinner...

EDIT:
Q1: Yes
Q2: NA. Each transaction votes for a slate of delegates. The amount of votes depend on the total BTSX transferred.
Q3: Yes. However it is not exactly real-time. More like each 10 sec intervals. Transactions should be included in blocks first.
Q4: Total amount of votes for a delegate equals total amount of BTSX transferred via transactions that include that delegate into its slate. (slate being list of delegates)
Q5: There is no selling of BTSX. All BTSX were initially allocated to PTS/AGS owners. There are some "unclaimed" - meaning they belong to someone but that someone hasn't transferred it yet. You can see the amount of unclaimed BTSX at www.bitsharesblocks.com (also there is a lot of useful info there)
Q6: You vote when you move funds. You can vote with all your BTSX if you transfer it to yourself (and then put it into cold storage). If given amount of BTSX hasn't been moved it doesn't vote.
Q7: I have 100 BTSX and move them to myself and I vote for delegate slate A. Delegate slate A gets 100 votes. I pay 100 BTSX to you and I still use delegate slate A. Delegate slate A still has 100 votes. You transfer these 100 BTSX to yourself using delegate slate B. Delegate slate B gets 100 votes and delegate slate A gets -100 votes. End result => Delegate slate B has 100 votes.
Q8: Yes. The exact system used is called approval voting.
Q8a: All unspent outputs that voted when they were last moved.

EDIT2:
About first 3 questions: Q2: Even though delegate's block production is automated a delegate should setup a price feeds. That is also automated by few different configurable scripts though.
« Last Edit: November 03, 2014, 09:15:48 PM by emski »

Offline Empirical1.1

  • Hero Member
  • *****
  • Posts: 886
    • View Profile
Re: Questions about delegates
« Reply #3 on: November 03, 2014, 09:05:18 PM »
I'll let someone answer delegate questions more thoroughly as I'm not sure.

In answer to your question 1, their main roles currently are to sign blocks & process transactions when it's their turn and provide price feeds for BitAssets. They get paid a % of fees and burn the rest. They choose the % when they start and can only lower it not increase it.

From Nov 5th they will have access to dilution (like inflation) in addition to fees. They will have to start a new delegate and come up with a campaign & budget. This is so the DAC can be self funding. Delegates can be developers/marketers etc. and get paid via dilution provided they are adding more value than they take away. So it's a DAC that can be completely self sufficient & grow & be competitive!

If you own 1% of BTS you are able to give 1% approval to a delegate. (You select the delegates you like from a list and everytime you make a transaction, your vote is recorded. Some delegates have a 'slate' I think so just by voting for that delegate you're voting for their reccomended delegates too.)
You can also just click on your account and there is a 'vote' option that lets you vote with all your stake by sending it to yourself.

Currently though it only takes 15% approval to elect a delegate. However Bytemaster & co. probably control circa 15% of total BTS imo and BTC38 is also a big holder with >10%. While both are benevolent, this unfortunately makes BTS very controllable. (There is a plan tba to distribute the 5% I3 stake to other developers which will help)

However they want to be an agile DAC and they also have a plan for network effect to spread BTS into the hands of lots of people, maybe some mainstream, who may be less concerned about that. Also I think they're confident that if anything were to happen to key people, their stake would not be accessible and thanks to these changes BTS actually has a better chance of surviving and growing in such an event.

I'm personally in favour of no/enshrined dilution as I think, the current system is a very hard sell.
« Last Edit: November 03, 2014, 09:07:50 PM by Empirical1.1 »

Offline kisa

  • Sr. Member
  • ****
  • Posts: 240
    • View Profile
Re: Questions about delegates
« Reply #4 on: November 03, 2014, 09:16:06 PM »
thanks Thom for bringing up some understanding/educations questions onto the main thread.
And thanks everyone who takes time to answer.
Perhaps I don't visit the newbie's section as often as I should :)

Offline Thom

Re: Questions about delegates
« Reply #5 on: November 03, 2014, 09:24:58 PM »
thanks Thom for bringing up some understanding/educations questions onto the main thread.
And thanks everyone who takes time to answer.
Perhaps I don't visit the newbie's section as often as I should :)

No problem. I think everyone lately has been focused here due to all the changes going on.

...and thank you for your answers!
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BTS: starspirit
Re: Questions about delegates
« Reply #6 on: November 04, 2014, 12:12:07 AM »
This was a very useful thread! I for one didn't realise that to vote with my entire stake I need to send that entire stake via a transaction. I had previously assumed that a transaction of any size would be enough to give a vote weighting to the full wallet size behind it. It also made me think why that is not the case?

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BTS: arhag
  • GitHub: arhag
Re: Questions about delegates
« Reply #7 on: November 04, 2014, 01:58:08 AM »
This was a very useful thread! I for one didn't realise that to vote with my entire stake I need to send that entire stake via a transaction. I had previously assumed that a transaction of any size would be enough to give a vote weighting to the full wallet size behind it. It also made me think why that is not the case?

That is because the votes are counted at the blockchain level by associating a slate of delegates to the BTSX balance that was moved. If a transaction has no authority to move (aka spend) a BTSX balance it has no authority to change the votes associated with that BTSX balance. While the wallet could move all the BTSX it has access to (meaning access to the private keys controlling the stake) every time you make any small transaction with the client, that would just add extra blockchain bloat, charge you additional fees that you were not expecting, and perhaps also compromise privacy more.

Offline carpet ride

  • Hero Member
  • *****
  • Posts: 544
    • View Profile
Re: Questions about delegates
« Reply #8 on: November 04, 2014, 02:13:37 AM »

This was a very useful thread! I for one didn't realise that to vote with my entire stake I need to send that entire stake via a transaction. I had previously assumed that a transaction of any size would be enough to give a vote weighting to the full wallet size behind it. It also made me think why that is not the case?

There is a "vote" button too


Sent from my iPhone using Tapatalk
All opinions are my own. Anything said on this forum does not constitute an intent to create a legal obligation between myself and anyone else.
Check out my blog: http://CertainAssets.com
Buy the ticket, take the ride.

Offline Felix

  • Full Member
  • ***
  • Posts: 82
    • View Profile
Re: Questions about delegates
« Reply #9 on: November 04, 2014, 04:17:06 AM »
In a similar vain to my BitAssets questions, I have a few about delegates I can't seem to find answers for, or don't understand the info I've found. Some of my confusion stems from the various contexts I've heard the term delegates used. And if my understanding presented below is incorrect please do let me know where I've missed the mark.

Since DPOS relies very heavily on delegates, it's a fundamental concept of the BitShares ecosystem, so everyone needs to understand them thoroughly.

1. Delegate Roles and Responsibilities

Delegates sign blocks of transactions and enter them into the blockchain ledger
The particular delegate that signs a block is chosen from the 101 in (random | round robin)? order.
This is analogous to bitcoin PoW mining, but instead of a computationally difficult task being performed by many nodes in a race, the winner of which is awarded 50/25/... BTC to sign a block, the signer of DPoS blocks are chosen from the pool of 101 delegates and rewarded with only transaction fees, which is far cheaper than the PoW process.

Q1: Does every delegate do this, or only some of the 101?
Q2: Is this signing process accomplished by just running special delegate client node software, and if so is the process fully automated? i.e. when that node is called on (out of the 101 delegate nodes) to sign a block the software does so as it runs without human intervention.   
Q3: Is it true that the only human intervention required to run a delegate node is to handle problems like hardware failures, network outages and software upgrades?

2. Delegates and Voting

Delegates are voted in / out by owners of BTS, and the strength of their vote is (proportional | directly related)? to (the number of BTS owned | size of BTS transaction the vote is submitted with)?

Is voting only accomplished when a transaction is performed? So the way to vote simply for the sake of voting would be to send BTS to yourself.

What is a "vote"?
Q1: Is it provided as information with each BTS transaction?
Q2: How is the analog / gray scale value for vote strength correlated to whether a delegate is in or out, a binary state?
Q3: If votes are provided by BTS owners with each BTS transaction, are delegates then subject to be voted in or out in real time with every transaction that takes place in the BTS ecosystem?
Q4: How is the voting calculated?
Q5: What about BTS that haven't been sold yet? i.e. if there are a total possible 10 billion BTS, but when an owner trades BTS for something 9.5 billion BTS have never been bought (marketcap of 500 million, right?), then the total voting power of all BTS in play is 500 million, right?
Q6: If 400 million BTS are (offline | in cold storage | owner destroyed his wallet / keys), then total voting power is actually only 100 million, correct?
Q7: How are the votes provided with an owner's transaction summarized over time with other owners votes they may have offered months ago, and in terms of whether a delegate "is in the top 101 delegates" and hence active in the pool, and how does an owner's voting "strength" factor into this (similar to Q4 above)?
Q8: If there were 100 million BTS in the wild, and each owner held only 1 BTS, then there are essentially 100 million votes, and everyone has the exact same voting power. In that case would the 101 delegates be chosen simply by the top 101 votes (i.e. top 101 in a histogram list)?
Q8a: histogram list of what: (transactions? Latest transactions ???)

I haven't even considered questions related to voting slates yet.

good thinking!   +5% +5% +5%
Instead of silence, BM & Stan should actively participate in this discussion!

Offline Empirical1.1

  • Hero Member
  • *****
  • Posts: 886
    • View Profile
Re: Questions about delegates
« Reply #10 on: November 04, 2014, 04:24:52 AM »
In a similar vain to my BitAssets questions, I have a few about delegates I can't seem to find answers for, or don't understand the info I've found. Some of my confusion stems from the various contexts I've heard the term delegates used. And if my understanding presented below is incorrect please do let me know where I've missed the mark.

Since DPOS relies very heavily on delegates, it's a fundamental concept of the BitShares ecosystem, so everyone needs to understand them thoroughly.

1. Delegate Roles and Responsibilities

Delegates sign blocks of transactions and enter them into the blockchain ledger
The particular delegate that signs a block is chosen from the 101 in (random | round robin)? order.
This is analogous to bitcoin PoW mining, but instead of a computationally difficult task being performed by many nodes in a race, the winner of which is awarded 50/25/... BTC to sign a block, the signer of DPoS blocks are chosen from the pool of 101 delegates and rewarded with only transaction fees, which is far cheaper than the PoW process.

Q1: Does every delegate do this, or only some of the 101?
Q2: Is this signing process accomplished by just running special delegate client node software, and if so is the process fully automated? i.e. when that node is called on (out of the 101 delegate nodes) to sign a block the software does so as it runs without human intervention.   
Q3: Is it true that the only human intervention required to run a delegate node is to handle problems like hardware failures, network outages and software upgrades?

2. Delegates and Voting

Delegates are voted in / out by owners of BTS, and the strength of their vote is (proportional | directly related)? to (the number of BTS owned | size of BTS transaction the vote is submitted with)?

Is voting only accomplished when a transaction is performed? So the way to vote simply for the sake of voting would be to send BTS to yourself.

What is a "vote"?
Q1: Is it provided as information with each BTS transaction?
Q2: How is the analog / gray scale value for vote strength correlated to whether a delegate is in or out, a binary state?
Q3: If votes are provided by BTS owners with each BTS transaction, are delegates then subject to be voted in or out in real time with every transaction that takes place in the BTS ecosystem?
Q4: How is the voting calculated?
Q5: What about BTS that haven't been sold yet? i.e. if there are a total possible 10 billion BTS, but when an owner trades BTS for something 9.5 billion BTS have never been bought (marketcap of 500 million, right?), then the total voting power of all BTS in play is 500 million, right?
Q6: If 400 million BTS are (offline | in cold storage | owner destroyed his wallet / keys), then total voting power is actually only 100 million, correct?
Q7: How are the votes provided with an owner's transaction summarized over time with other owners votes they may have offered months ago, and in terms of whether a delegate "is in the top 101 delegates" and hence active in the pool, and how does an owner's voting "strength" factor into this (similar to Q4 above)?
Q8: If there were 100 million BTS in the wild, and each owner held only 1 BTS, then there are essentially 100 million votes, and everyone has the exact same voting power. In that case would the 101 delegates be chosen simply by the top 101 votes (i.e. top 101 in a histogram list)?
Q8a: histogram list of what: (transactions? Latest transactions ???)

I haven't even considered questions related to voting slates yet.

good thinking!   +5% +5% +5%
Instead of silence, BM & Stan should actively participate in this discussion!

It is not silence. That is a lot of questions & they are both busy especially Bytemaster to be able to answer such long questions all the time.

Offline Thom

Re: Questions about delegates
« Reply #11 on: November 04, 2014, 05:55:21 AM »
It is not silence. That is a lot of questions & they are both busy especially Bytemaster to be able to answer such long questions all the time.

I totally agree. There are may others in the community that can answer these questions, and I'm grateful for all that help do. Most of these have been addressed, and I'll probably have more as I go down the rabbit hole.

There's no need for heavy weights like BM, Stan, toast, xeroc ... to spend their time in this thread. Many of these questions are pretty basic. I was actually surprised when BM responded in the BitAsset thread I posted.

emski's answers prompted a few more questions I'll ask about tomorrow concerning the BTSX genesis block. I am reading some of the bitcoin developer docs first to see if I can get more info on the genesis block and the nature of the transactions that go into it.
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

julian1

  • Guest
Re: Questions about delegates
« Reply #12 on: November 04, 2014, 07:03:05 AM »
Can a holder effectively vote multiple times, by moving his stake back and forth between two (or more) wallets that he controls?

Offline emski

  • Hero Member
  • *****
  • Posts: 1283
    • View Profile
    • http://lnkd.in/nPbhxG
Re: Questions about delegates
« Reply #13 on: November 04, 2014, 07:58:54 AM »
Can a holder effectively vote multiple times, by moving his stake back and forth between two (or more) wallets that he controls?
No. Once you move your stake all votes it had previously had are removed and the new slate is accounted for.

Offline emski

  • Hero Member
  • *****
  • Posts: 1283
    • View Profile
    • http://lnkd.in/nPbhxG
Re: Questions about delegates
« Reply #14 on: November 04, 2014, 08:03:06 AM »

good thinking!   +5% +5% +5%
Instead of silence, BM & Stan should actively participate in this discussion!

I'm sure some of them view through the thread and they will correct me if I mislead you somewhere.

 

Google+