BitShares Forum

Main => General Discussion => Topic started by: biophil on April 28, 2014, 09:25:06 pm

Title: DPOS Free-Rider question
Post by: biophil on April 28, 2014, 09:25:06 pm
I may be missing something important, but maybe someone can help.

Normal POS (PPC, NXT, etc): If you leave your client open and unlocked for staking (or minting, forging, whatever they call it), you contribute to the security of the network and are paid for your efforts.

DPOS: 100 trusted delegates are paid to maintain the security of the network. Nobody else has any incentive to leave their client open, since they earn dividends whether they do or not. In fact, for their personal security, they should put most of their holdings in cold storage.

My (probably naive) question: is this bad? Are the (n-100) users who put their tokens in cold storage free riders? Would they be contributing to network security if they had their clients running?
Title: Re: DPOS Free-Rider question
Post by: santaclause102 on April 28, 2014, 10:07:13 pm
I may be missing something important, but maybe someone can help.

Normal POS (PPC, NXT, etc): If you leave your client open and unlocked for staking (or minting, forging, whatever they call it), you contribute to the security of the network and are paid for your efforts.

DPOS: 100 trusted delegates are paid to maintain the security of the network. Nobody else has any incentive to leave their client open, since they earn dividends whether they do or not. In fact, for their personal security, they should put most of their holdings in cold storage.

My (probably naive) question: is this bad? Are the (n-100) users who put their tokens in cold storage free riders? Would they be contributing to network security if they had their clients running?

It is a conscious decision to let the 100 delegates secure the network and pay them 10% of the fees so you can be safe with your coins and put them in cold storage.

The idea is: It is better have 100% of the delegates decide on who secures the network (including mechanisms to vote them out and mechanisms so bad unreliable delegates get fired automatically) then to have 20% of the stake (not 20% of the stakeholders; 20% of the stake could be 20 people like with nxt) secure the network and collect all fees while taking the risk to have the stake online.   
Title: Re: DPOS Free-Rider question
Post by: biophil on April 28, 2014, 11:33:07 pm
Yeah, that all makes sense but it wasn't quite what I was asking. I guess I'm asking about the mechanics of DPOS: In the current DPOS design, do non-delegates contribute to security? If not, then there's no free-rider problem. My guess is that the answer is that they don't.

An add-on question: do delegates get to fire other delegates? Your post seems to suggest that they do.

Sent from my SCH-S720C using Tapatalk 2

Title: Re: DPOS Free-Rider question
Post by: clout on April 29, 2014, 02:02:32 am
They do. They vote through transactions. In the short term consensus is from delegates but more long term consensus comes from tapos. Tapos is essentially a failsafe for collusion

Title: Re: DPOS Free-Rider question
Post by: santaclause102 on April 29, 2014, 10:47:54 am
Yeah, that all makes sense but it wasn't quite what I was asking. I guess I'm asking about the mechanics of DPOS: In the current DPOS design, do non-delegates contribute to security? If not, then there's no free-rider problem. My guess is that the answer is that they don't.

An add-on question: do delegates get to fire other delegates? Your post seems to suggest that they do.

Sent from my SCH-S720C using Tapatalk 2

Non-delegates (=shareholders) do not contribute to security like delegates do. Shareholders only contribute to security by voting for delegates.

I don't think delegates vote for/against delegates unless they also are shareholders. There are two mechanisms: One to vote delegates out by shareholders. And one to automatically vote delegates out when they obviously did something wrong.
Title: Re: DPOS Free-Rider question
Post by: bytemaster on April 29, 2014, 12:42:09 pm
All clients contribute to security every time they make a transaction in several ways:

1) TaPOS has each transaction testify as to the current head of the block-chain
2) Each client has its own set of 'trusted' delegates which it supports when it makes a transaction
3) You can leave your client open with your keys locked so that your client can observe behavior of delegates and make more informed voting decisions

With respect to Nxt, apparently they have implemented delegation as well.  Not sure if this is transparent forging / unimplemented or something hacked in, but each shareholder can delegate their forging power to a key that does not grant spending authority.  Thus more people can forge without having to worry about leaving their private keys vulnerable.   

So lets look at the larger network picture: Many merchants will be running full nodes and will be processing a large volume of transactions.  These merchants will therefore have a large impact on delegate selection based upon observed performance.

As it stands right now TaPOS is being tracked, but not used for any kind of active enforcement / chain reorganization.  For now it is just a manual metric / failsafe... we will add/enhance this automatic evaluation of TaPOS over time.