Author Topic: All problems with DPoS solved with one easy change  (Read 8257 times)

0 Members and 1 Guest are viewing this topic.

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
With tendermint a block producing node that locks up collateral gets his collateral burnt automatically if he does something wrong. I just have a rough overview... tendermint.com

Offline r0ach

  • Full Member
  • ***
  • Posts: 93
    • View Profile
Just to be clear, someone I talked to thought collateral bids were burned, that is not what I meant at all.  The bids are just locked while serving as a delegate.

Offline liondani

  • Hero Member
  • *****
  • Posts: 3737
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani

Offline r0ach

  • Full Member
  • ***
  • Posts: 93
    • View Profile
I ran my idea past Smooth (of Monero) since Moneroers don't like anything involving PoS in general and his attempted criticism didn't come up with anything yet:

<@smooth> in almost all systems you can borrow stake and spend virtually nothing (borrow being a general term that describes a lot of different schemes)
 <r0ach> there's no borrowing attack in this
 <@smooth> how is it not possible to borrow shares?
<@smooth> who votes if my shares are on an exchange, invested in a business/ponzi/etc.?
 <r0ach> the system I described would lock collateral bids
<r0ach> so if I bid 1 million, it's locked and can't vote for anyone else
 <r0ach> if you put your capital on exchange in regular PoS, the exchange owner gets to vote with it just like if you put your mining power on a mining pool (DPOW)
<r0ach> but collateral bid solves that
 <r0ach> since the bid is locked
 <r0ach> while serving as a delegate
<r0ach> so if the exchange wanted to use all that power, they would have to lock it and customers can't withdraw

Offline r0ach

  • Full Member
  • ***
  • Posts: 93
    • View Profile
I think your subject title goes a bit over the top, this doesn't solve ALL problems. 

Anyone is free to lockup collateral voluntarily, and all accounts have the option of a public balance.

I forgot to mention a couple more points.  You would make the collateral bids not rollover automatically, that way you can't get stuck with zombie delegates you need to vote out as well.  The locked collateral can't be used to vote for anyone else too.  This would make the system more resilient to attack.  To prevent collateral bid spam from flooding the system, there would need to be either a minimum amount required and/or or a small proof of burn probably.

This solves many problems with DPoS because:

1)  You have to assume the majority of voters are lazy and voter apathy will be the majority not minority.  There is no current guard against this.

2)  There has to be some type of automated delegate selection method to deal with the voter apathy problem, which currently doesn't exist.  You can still manually vote to avoid an aristocracy if you want, so the base voting method is still preserved.

3)  Due to voter apathy, there is no way to easily get rid of zombie delegates, that fixes this as well.

4)  Collateral is an easy to utilize sybil prevention mechanism.  A flat rate only puts an upper limit on number of sybil nodes, while a bid system is more efficient.
« Last Edit: September 23, 2015, 09:34:28 pm by r0ach »

Offline bytemaster

I think your subject title goes a bit over the top, this doesn't solve ALL problems. 

Anyone is free to lockup collateral voluntarily, and all accounts have the option of a public balance.

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 r0ach

  • Full Member
  • ***
  • Posts: 93
    • View Profile
I'm not a fan of any solution in cryptocurrency that doesn't heavily rely on game theory.  Collateral is one of the most powerful solutions available to Bitshares that it currently doesn't utilize well.  It can easily fix problems with voter apathy and delegate selection.  Here's how you do it.  Instead of having a flate rate collateral amount required to become a delegate, you let the user supply their own collateral bid.  While functioning as a delegate, lock these coins from being spent.  When you go to vote for delegates, it should be set to auto sort by highest collateral bids at the top and the default vote selection should be vote for top X bids so the system is basically automated unless you decide to manually vote.

The user would be able to ignore collateral bids and vote for whoever they want to avoid an aristocracy if they so desire, but for solving voter apathy, this is what it should default to.  It's the most efficient in finding people who have something to lose if something bad happens to the network.
« Last Edit: September 23, 2015, 07:07:56 pm by r0ach »