Author

Topic: Is that possible use created blocks to evaluate the real 51% attack probability? (Read 614 times)

newbie
Activity: 49
Merit: 0
briefly: it's impossible
newbie
Activity: 5
Merit: 0
Real 51% probability  http://blockindex.info/blog/51en.html

The miner have create more than 300000 blocks, is that possible use these blocks to evaluate the real 51% attack probability?

The follow will try to calculate the probability with the z=6 attack

Select the time of the blocks that heighs from 280000~300000 to calculate.

The usually blockchain, we named "C" blockchain.

[]----->[]----->[]----->[]----->[]----->[]----->[] C blockchain
The chain of honesty miner created named "A" blockchain

The chain of the attack miner created named "b" blockchain

[]----->[]----->[]----->[]----->[]----->[]----->[] A blockchain
        \
         []----->[]----->[]----->[]----->[]----->[]----->[] B  blockchain
calculate the time delta in continuous 6 blocks in chain:

t1 = blk5.time - blk0.time t2 = blk6.time - blk1.time ..... tx = blkn.time - blk(n-5).time

Then we got a time set named TC1: {t1,t2,t3....tx}

and we calculate the TC2 that continuous 7 blocks to get another time set named TC2: {t1,t2,t3....tx}

Follow graph is created by TC1

http://blockindex.info/blog/imgs/6.png

sort TC1 then got follow graph

http://blockindex.info/blog/imgs/6s.png

count the element in T1 number every 10 seconds then got a new set {len(T1...Tx),len(Tx+1....Tx+n)....}

http://blockindex.info/blog/imgs/6d.png

If we do same calculator with the height from [200000- 220000], [220000- 240000], [240000- 260000], [200000- 280000], wo got these graph:

http://blockindex.info/blog/imgs/xd.png

so the time's density distribution of create block is similar. so tthe time's density distribution of create block in the A chain and the B chain should similar with C blockchain. but the speed of create block of A and B is lower than C, so we need scale the TC.

TA = TC1 * 100/(1-49) This is the time set of create block when use 49% computing

TB = TC2 * 100/(1-51) This is the time set of create block when use 51% computing

http://blockindex.info/blog/imgs/51d.png

The left cruved line is created by A, the right cruved line is created by set B

Now the question is select random a in A and b in B, what's the probability of a>b?

The follow is python code:

def realAttackerSuccessProbability (A,B):
    N = []
    qz = 0.0
    for i,a in enumerate(A):
       n = 0
       for b in B:
          if a<=b: break
          else: n+=1
       N.append(n)
    return  float(sum(N))/(len(B) *len(A))
results:

If C blockchain is from block height 280000~300000, about 20000 blocks to calculate:

z=0 P=1.000000
z=1 P=0.25991752883
z=2 P=0.327356211643
z=3 P=0.362791063488
z=4 P=0.38572021231
z=5 P=0.402129295953
z=6 P=0.41492854999

If C blockchain from block height 200000~300000, about 100000 blocks to calculate:

z=0 P=1.000000
z=1 P=0.258909623337
z=2 P=0.327897207064
z=3 P=0.363898341947
z=4 P=0.387023480539
z=5 P=0.403786580212
z=6 P=0.416886094841

Real 51% probability  http://blockindex.info/blog/51en.html
Jump to: