Post
Topic
Board Altcoin Discussion
Re: More BitShares greed.
by
Come-from-Beyond
on 17/01/2015, 10:13:32 UTC
This is just a space holder answer...

I was bored and decided to get the answer by myself. I based my analysis on information from http://bitshares.org/documentation/group__dpos.html and came to a conclusion that our case is this:
The problem is to find an algorithm to ensure that
the loyal generals will reach agreement. It is shown that, using only oral messages, this problem is
solvable if and only if more than two-thirds of the generals are loyal
; so a single traitor can confound
two loyal generals.

We can lower requirement on the number of honest delegates from 67 to 51 if we add an extra assumption that blocks reach all the delegates within 10 sec (it's equal to block gap in BitShares). Another way is to change how we choose the best chain, instead of plain "longest chain is the best" some kind of weighing is required, but I don't have a good suggestion yet.

This is how I "attacked" the system:
1. Rogue nodes colluded and didn't extend blockchain if the last block belonged to a delegate outside of their group.
2. I assumed that every honest delegate had 50% chance to get a block from a rogue delegate and the same chance to get a block from a honest one.
3. Latency varied from 0 to infinity.

PS: Using something else instead of "longest chain is the best" is a better approach than adding assumptions on latency. In this case the system will be less vulnerable to an eclipse attack.