Author Topic: Consensus on the list of delegates  (Read 35127 times)

0 Members and 1 Guest are viewing this topic.

Offline Come-from-Beyond

  • Full Member
  • ***
  • Posts: 113
    • View Profile
The non-colluding delegates would include the vote transactions in blocks...

Would they still include these transactions if the delegate who is being voted out promised to pay 1 milion dollars if they didn't?

I'm analyzing a situation when delegates bribe other delegates in exchange of keeping their position in top 101. Every rational delegate will accept the money. There can be some delegates who will reject the money but depending on the offered amount the number of such delegates can be less than 10-20-30. In this case the other (majority) will ignore their blocks if these blocks contain voting-out transactions.

What do we get here? We get that if mining is too profitable then delegates may get enough money to "buy" permanent position in top 101. Any expert in Game Theory here?

Offline Troglodactyl

  • Hero Member
  • *****
  • Posts: 960
    • View Profile
it would be completely apparent what they were doing.

This what I'm asking - how is it possible? It may be apparent for 100 shareholders who saw their votes not included into the blockchain but not for the other 900.

The non-colluding delegates would include the vote transactions in blocks, and the colluding delegates would then have to ignore those blocks and create their own fork of the chain, same as a mining pool could fork the bitcoin chain by ignoring everyone else's blocks.

Anyone who initially ended up on the hostile fork would see delegate participation drop because none of the honest blocks were being included and would thus know something was wrong, and further investigation would reveal that the other fork had the hostile delegates voted out.  If the user doesn't investigate and just waits, the fork should resolve because the honest fork will be able to replace the non-participating delegates, while the hostile fork has no such ability.

Offline vikram

What ensures that the shareholders agree on the list of delegates? If a delegate can be kicked off for misbehavior then the list can change instantly which is hard to achieve in a distributed system.

It's a blockchain--state transitions happen at most once every block interval (10 seconds in this case).

Offline fuzzy

Welcome Come-from-Beyond!

Thank you.

You see guys...this is what is awesome about the BitShares community.  Look how many of you are helping him understand our voting system so he can help develop a similar one for a competing platform. 

I am proud to be a part of this community.
WhaleShares==DKP; BitShares is our Community! 
ShareBits and WhaleShares = Love :D

Offline Come-from-Beyond

  • Full Member
  • ***
  • Posts: 113
    • View Profile
it would be completely apparent what they were doing.

This what I'm asking - how is it possible? It may be apparent for 100 shareholders who saw their votes not included into the blockchain but not for the other 900.

Offline Troglodactyl

  • Hero Member
  • *****
  • Posts: 960
    • View Profile
Votes are included into the blockchain by delegates. I'm curious what may happen if votes are about to fire 51 delegates...

If 51 delegates colluded to block any vote transactions that would take away any of their positions, and ignored the blocks created by the minority honest delegates, it would be completely apparent what they were doing.  They could fork the network, but they would have no special ability to gain more than 51 positions in their branch, so its speed and delegate participation rate would be cut in half.  In the honest branch the colluding delegates would be quickly replaced and normal operation would continue.

Offline BunkerChainLabs-DataSecurityNode

Votes are included into the blockchain by delegates. I'm curious what may happen if votes are about to fire 51 delegates...

Then then ones directly below them would move up. There is always 101, they would just change who are in that space.
+-+-+-+-+-+-+-+-+-+-+
www.Peerplays.com | Decentralized Gaming Built with Graphene - Now with BookiePro and Sweeps!
+-+-+-+-+-+-+-+-+-+-+

Offline Come-from-Beyond

  • Full Member
  • ***
  • Posts: 113
    • View Profile
Votes are included into the blockchain by delegates. I'm curious what may happen if votes are about to fire 51 delegates...

Offline Troglodactyl

  • Hero Member
  • *****
  • Posts: 960
    • View Profile
I'm trying to find out how BitShares work but some things are not clear to me. Unfortunatelly, these things are fundamental and I can't move ahead without understanding them. Could anyone answer two simple questions, please?

Do the shareholders have the same list of the delegates? If they do then how the consensus is achieved?

Welcome Come-from-Beyond.

A 'delegate' is just a username registered on the blockchain with a public flag set announcing that it's a delegate and a requested pay percentage.  Everyone who has the blockchain has the same list of registered accounts, including the delegates, but they don't all vote to approve the same subset of those delegates.  Each stakeholder votes with his/her stake to approve certain delegates, and the active delegates are the 101 with the most stake approving them.  Only the active delegates produce blocks, but which delegates are active can change as rapidly as people can change their votes.  The votes are on the blockchain, so everyone knows the consensus of which delegates are active, even if they aren't voting for those delegates.

Offline Empirical1.2

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
If you want to take the island burn the boats

Offline testz

Welcome Come-from-Beyond!
Nice to see you here  :)

Offline sschechter

  • Sr. Member
  • ****
  • Posts: 380
    • View Profile
Delegates sign blocks, just like bitcoin miners.  However, the majority of bitcoin miners don't actually sign blocks, their pool operators do.   To fully grasp the reasons why DPOS and the delegate system were designed the way it was, the best way to understand is to hear about it from the man who designed it (hint: you can't hide from economics) :

http://bytemaster.bitshares.org/article/2015/01/12/Decentralization-Scalability-and-Fault-Tolerance-of-Bitcoin/
http://bytemaster.bitshares.org/bitshares/2015/01/04/Delegated-Proof-of-Stake-vs-Proof-of-Work/
BTSX: sschechter
PTS: PvBUyPrDRkJLVXZfvWjdudRtQgv1Fcy5Qe

Offline jshow5555

  • Full Member
  • ***
  • Posts: 57
    • View Profile
He is asking something different...

The answer is:
-The 101 deletes with the most votes @ block n, are  put in randomly order to produce - blocks from n+a to n+a+100;

As for the value of 'a' and questions regarding the consensus who has the most votes in block 'n', you should wait for some dev to answer that, or alternatively check the code yourself.

Offline robrigo

When an account name is registered on the blockchain, if a pay rate between 0-100 is specified then that account becomes registered as a delegate. Each delegate has a variable amount of stake voting for them. If a delegate has enough votes where the total stake voting for them is in the top 101 vote balances out of the set of registered delegates, then that delegate node will be included in each round as an active block signer. When these vote balances change, i.e. a delegate has votes revoked and are  "fired" from the top 101, each client will sync that information and reflect the new set of active 101 delegates accordingly.

So the list of delegates is a list that doesn't get any smaller, only larger, as new delegate accounts are registered. The set of active delegates is dynamic based on the amount of stake each delegate has voting for them. Anyone can change their vote and their changes will be reflected when that trx is included in the next block. To change your vote, send a transfer (to yourself for example).  There are multiple voting schemes you can specify when you transfer your stake: vote_none, vote_all, vote_random, and vote_recommended. The GUI client has a vote button to make this process simpler.

The default is "vote_recommended", which I believe means that your votes are cast based on the voting slates published by the delegates that you approve of.
« Last Edit: February 01, 2015, 07:18:01 pm by robrigo »

Offline btswildpig

  • Hero Member
  • *****
  • Posts: 1424
    • View Profile
What ensures that the shareholders agree on the list of delegates? If a delegate can be kicked off for misbehavior then the list can change instantly which is hard to achieve in a distributed system.

active delegates are those who have the most approval votes before the 101 ranking .
For instance , if a guy at 101 misbehaved , some shareholders withdraw some vote , then he falls to 102 , and the one on 102 become 101 .

It's an approval voting system . So you don't need all the shareholders to kick someone out , just withdraw enough vote to let him fall out of 101 . Or add enough vote on 102 , then it can push the one on 101 out either .
« Last Edit: February 01, 2015, 07:07:37 pm by btswildpig »
这个是私人账号,表达的一切言论均不代表任何团队和任何人。This is my personal account , anything I said with this account will be my opinion alone and has nothing to do with any group.