Author Topic: Questions about delegates  (Read 5002 times)

0 Members and 1 Guest are viewing this topic.

Offline Thom

+5% +5% to emski for your patience with these newbie level questions and your very thorough response  :)

Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
Are you saying that if I obtained my BTSX from an exchange the exchange obtained them from one or more of the original investors?

Yes.

Q5: Interesting, I don't recall ever seeing this mentioned, is it in the wiki somewhere? I looked at the bitsharesblocks.com site which lists a total supply of 1,999,902,838 and unclaimed of 662,319,002. The difference is 1,337,583,836. Why is the total supply such an odd number?

Initial distribution was 2B distributed 50%/50% to PTS/AGS holders. Some of the trx fees paid are destroyed which results in lower than 2B total supply.

This uncovers yet another gap in my understanding, that being how BTSX (or any type of blockchain "coin|share|note|thingy..." are created in the first place. Are you saying the genesis block "defines" the total number of outstanding shares and who owns them, and in the case of BTSX the genesis block lists all of the account keys for the PTS and AGS investors that existed when the genesis block started the BTSX blockchain? But the code is what allows for diluting, which just means increasing the maximum niumber of shates|coins|etc, right?

Yes. Dilution is not yet enabled. There are some ongoing discussions about that.

If a "block" is a group of transactions, what transactions make up the genesis block if it is purely a definition of the total pool of BTSX and the account keys of the owners of the BTSX in that pool?

There are no transactions in genesis block. Just a list of keys and balances.

Q8a: what ndo you mean by "unspent outputs"?

Any transaction moves BTSX from one address to another. Unspent output is a BTSX amount that is not included as input to any transaction included in blockchain.
(Transaction has input(s) and output (and change address)).
Basically this is the BTSX anyone has received but hasn't spent. All unspent outputs combined equal total supply (assuming no bugs).

Offline Thom

Thx speedy. Just asking as an example of the numbers, but forgot how complicated the original investment scheme was with the daily contributions and all.

Makes me really wonder why they did it that way.
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline Pheonike

There were 2bil shares. 1bil for AGS holders and 1bil for pts.  If you donated AGS, you get a portion of the 1bil based on your AGS donation compared to all AGS donations.

Offline speedy

  • Hero Member
  • *****
  • Posts: 1160
    • View Profile
  • BitShares: speedy
It wasnt quite that simple. There was a number of shares given per day, given out proportionally to the BTC or PTS that were donated in that particular day.

So every 24 hours you had to donate and hope that no one else did to get the most shares for your BTC / PTS.

Offline Thom


There was a donation period like Bitshares Music has now (in fact you can see it on http://www1.agsexplorer.com if you scoll down), called AGS. There was snapshot that gave 50% of BTSX to AGS users proportional to there donations and 50% given to PTS the same way. This accounted for the full 100% distribution of BTSX at genesis.

Thanks, I do recall seeing that. When you say 50% in "proportion to" does that mean 50% of all contributions made to the PTS|AGS fund, so that if I put in $1000 and there was a total of $5,000,000 invested, I would get 0.0002% of BTSX (0.0002% of 2 billion total shares = 400,000 shares) ?
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline Pheonike


There was a donation period like Bitshares Music has now (in fact you can see it on http://www1.agsexplorer.com if you scoll down), called AGS. There was snapshot that gave 50% of BTSX to AGS users proportional to there donations and 50% given to PTS the same way. This accounted for the full 100% distribution of BTSX at genesis.

Offline Thom

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)

Q8a: All unspent outputs that voted when they were last moved.

Q5: Interesting, I don't recall ever seeing this mentioned, is it in the wiki somewhere? I looked at the bitsharesblocks.com site which lists a total supply of 1,999,902,838 and unclaimed of 662,319,002. The difference is 1,337,583,836. Why is the total supply such an odd number?

I'm also puzzled by your statements "There is no selling of BTSX" & "All BTSX were initially allocated to PTS/AGS owners". What exactly do you mean? I can obviously "sell" or transfer any BTSX I have in my wallet.

Are you saying that if I obtained my BTSX from an exchange the exchange obtained them from one or more of the original investors?

This uncovers yet another gap in my understanding, that being how BTSX (or any type of blockchain "coin|share|note|thingy..." are created in the first place. Are you saying the genesis block "defines" the total number of outstanding shares and who owns them, and in the case of BTSX the genesis block lists all of the account keys for the PTS and AGS investors that existed when the genesis block started the BTSX blockchain? But the code is what allows for diluting, which just means increasing the maximum niumber of shates|coins|etc, right?

If a "block" is a group of transactions, what transactions make up the genesis block if it is purely a definition of the total pool of BTSX and the account keys of the owners of the BTSX in that pool?

Q8a: what ndo you mean by "unspent outputs"?

And  +5% to emski for taking the time to answer these questions.
« Last Edit: November 04, 2014, 06:51:03 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 emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG

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.

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
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.

julian1

  • Guest
Can a holder effectively vote multiple times, by moving his stake back and forth between two (or more) wallets that he controls?

Offline Thom

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

Offline Empirical1.1

  • Hero Member
  • *****
  • Posts: 886
    • View Profile
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 Felix

  • Full Member
  • ***
  • Posts: 87
    • View Profile
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 carpet ride

  • Hero Member
  • *****
  • Posts: 544
    • View Profile

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 arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
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 starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
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 Thom

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 kisa

  • Sr. Member
  • ****
  • Posts: 240
    • View Profile
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 Empirical1.1

  • Hero Member
  • *****
  • Posts: 886
    • View Profile
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 emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
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 Geneko

  • Full Member
  • ***
  • Posts: 187
    • View Profile
Very interesting topic. I am anxious to find that too!!

Offline Thom

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