Current shuffle is
"only one delegate is honest ,Random No. is honest " as BM said because we just use one time random No. at the end of per round.
so the follow methods is for the salutation we need use random No. less than 101 blocks.
Using two round history secret hash. if the random No. is combination the previous 100 blocks +current block in current system , but try to make the advantage of two
random history secret more evident, so increase the quantity more than 101 blocks , I would analyze it below. interval between secret hash published and reveal secret
is critical . it mean how many blocks delegate cannot change this secret in advance . so we want this is larger than 101 blocks that is enough in BTS because in DPOS
per round is 101 blocks include all delegates. but in DPOS each delegate know his turn in advance in next round , 10-101 blocks , for gambling there is a attack
https://bitsharestalk.org/index.php?topic=6764.0. so we have to reduce this advanced blocks , so we try to satisfy items:
1) make no one know which delegate is Nun(N1+1)th order. 2) make random No. per block released is the combination from all delegate random seed. 3)there include delegates order in the interval between secret hash published and revealed by any delegateto achieve this aim
1) order of (N1+1) th is fixed by random No. form current block.
2) should larger than if MAX interval blocks for one delegate is small than the constant NC how many blocks infront random No. combinated by. then each delegate
must appear one time per NC blocks .
3) the MIN interval blocks between first block and third block for delegate should larger than a constant.
in DPOS of BTS, it can satisfy item 2 in most of blocks ,and 100% satisfy item 2 in the end block per round. but cannot satisfy item 1 because all delegate know his
order
at the beginning of per round. try to satisfy item 1,
but we can :
1)Does not determine the order per round , the probability delegate know his order would increase by proportion from 1/101 to 101/101, it would increase to 100% at
the
end block of per round so it cannot totally satisfy item 1
2) divide 101 delegate into several groups , order of groups is determine, but the order of delegate in group would change by per blocks how many blocks per group
include . it can reduce No. how many blocks in advance delegate know his order. but it would , if we divide 101 to ND groups , then each group have 101/ND
delegate , each delegate can know his order 101/ND blocks in advance. and he can predict his order in less than 101/ND blocks by probability ND/100
So I d like to suggeste a new mothods (there is a similar by
by arhag
Actually I had publish this in QQ groups several days ago.
there are also 101 delegates ,but there only N1 delegates`s order is determine anytime . the order of (N1+1)th block would been selected from rest of delegates after
new block is released using the random No. it include .So there would been a sequences ,the delegates in this sequences all know his order. if we set N1=5 , delegate
would know his order 60 seconds ahead, so there are enough time to prepare. so there are a group include rest of delegates (101-N1) , so there is a continuous
changing sequences with N1 delegates .
if continuous miss blocks is small than N1, the block after miss block would determine all order that should been fixed by the missed blocks if the continuous miss
blocks is larger or equal than N1, the first unmissable block determine all next order until a new block is released.
then we need use a algorithm to select the delegate form candidate groups .
1) reorder the candidate groups per new block released
2) select the first one if the first one satisfy
1) interval between this order and his previous order >N2 ,
2) interval blocks between first block and third block of this delegate >N3
select this delegate as the N1+1 order ,else select the next one till satify the condition.
For example(N1=5)
current sequences is A-B-C-D-E , after delegate A release block , select a delegate from rest of delegates ,if is F then next sequences would become B-C-D-E-F, so there
is a continuous sequences any time.but there is a question if sequences like
A-B-C-D-E-F-
A-X1-X2-X3-X4-X5-
A , delegate A produce 3 blocks in 13 blocks.
this is bad for gambling if in short wait game .so we select the MIN interval between two blocks produced by one delegate is N2. it is mean there are N3=(101-N1-N2)
delegates are candidates. probability that a delegate konw his order (N1+1)blocks in advance is 1/N3. if N3=26,it is less than 4% very small ,so this satisfy item 1) . and
probability that the max interval for one delegate small than N4=(202-N3) is 1- ((N3-1)/N3)^N4.
if we select N1=5 N2=70 then N3=26,N4=176, then this probability 98.5% ,if set NC=N4, then there are 98.5% probability each delegate appear one time per NC blocks .
it can satisfy item 2 * and item 3.