[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bitcoin-dev
Subject:    [Bitcoin-development] Possible Solution To SM Attack
From:       rob.golding () astutium ! com (rob ! golding at astutium ! com)
Date:       2013-11-06 0:37:49
Message-ID: d6579e23aae6c3d56d108e24242dad09 () astutium ! com
[Download RAW message or body]

> The Problem:
> Say Alice built a block, A1, from previous block 0. She doesn't let
> other miners know about it. She then works on A2 with previous block
> A1. Bob on the other hand is still working on B1 with previous block
> 0. Bob now finds a block and he broadcasts it. The assumption here is
> Alice will be the first miner to hear of this block and she will send
> her previously mined block, A1, to all other miners. By the time Bobs
> block arrives to other miners majority of them will already have
> received Block A1 and Bobs block will most likely be orphaned. Alice
> revealed her block, A1, only when Bob broadcast his block. This means
> she has been mining on block A2 with previous block A1 for longer than
> any other miner thus gaining an advantage without increasing her hash
> rate.

Unless A1 gets orphaned and B1 gets accepted, in which case all the work 
done on A2 is 'wasted'.

The question is whether there is any 'real' advantage over time for A 
over B.

> What We Know:
> Alice has gained an advantage with time. She mines longer on the valid 
> block.

She mines longer on *a* block which *may* become the valid block, yes.

> In order for this attack to work Alice must reveal her previously
> mined block as late as possible, gaining her the most time spent
> working on the valid block. Since she has such good view of the
> Bitcoin network she can wait until a miner finds a block to release
> her previously mined block.

Then the simple 'fix' would be for the block-acceptance to take into 
account either the total transactions or the total fees, and for the the 
'accepted' block for mining the next block to be the one with the lowest 
hash of one of those values if 2 are released to the network at the same 
time

That is of of course assuming there is really a problem to fix, 
currently I'm not convinced.

Rob



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic