Categories
Bitcoin Cryptocurrency Development

Mathematics behind sidechain SPV skiplist proof attack

I am reading about verifying SPV proofs of a sidechain where we don’t want to verify all N blocks of the sidechain. In the example instead of verifying that each block meets the target difficulty (hash < target), we want to only verify blocks that satisfy hash < target/4.

The example includes a potential attack where the adversary doesn’t have to produce all valid blocks, but only blocks with target/4 difficulty.

Suppose N = 4, so that without the skiplist solution,
we’d check that there are 4 blocks that satisfy hash < target. The
expected amount of work that an adversary must do to fool us is 4
times the average amount of work needed to find a block.

Suppose the adversary only does half this amount of work. If we
do the math, it turns out that this adversary has a 14 percent chance
of finding 4 blocks that satisfy hash < target. But with a skiplist
solution with a factor of 4, the adversary’s task would be to find a
single block that satisfies hash < target/4. In this scenario, the lazy
adversary who only does half the expected amount of work will be
able to fool us with a probability of 40 percent instead of 14 percent.

I don’t understand where the numbers 14% and 40% come from.

Leave a Reply

Your email address will not be published. Required fields are marked *