Blog > Bitcoin & Blockchain Tech

Why I troll

By Craig Wright | 26 Nov 2018 | Bitcoin & Blockchain Tech

I should not troll on Twitter, but I do enjoy it. There is, more importantly, a reason why I troll. The reason is also very simple.

There are many so-called experts in Bitcoin who have no idea what Bitcoin is, and worse, have agendas. Peter Rizen is one of these. These are people who basically loathe Bitcoin and PoW as a concept, and yet seek to gain a following in this arena.

I place a few tweets as trolls from time to time with limited explanations, as these manage (always) to get the drooling trolls salivating. I have such a troll tweet below with the response from the fish on the hook. My tweet is correct, but designed to catch certain people.

Peter has taken a very simple equation, the Poisson probability of two independent systems, and calculated the chance of two events occurring one after the other independently.

This is of course Peter’s biggest failing and where most of his ignorance around Bitcoin stems from. He uses an I.I.D condition, that is independent, identically distributed events, and falsely assumes this when there are conditional probabilities and dependent events.

  • Independent means that the sample items are all independent events. In other words, they aren’t connected to each other in any way.
  • Identically distributed means that there are no overall trends–the distribution doesn’t fluctuate, and all items in the sample are taken from the same probability distribution. (Ref)

This is the problem in all of his analysis. These are not independent events.

Let us take the toy model of two miners discovering blocks in a blockchain as a scenario. Miner A and Miner B each find a block within a small period of time. Peter in his analysis would be correct, IF these miners mined independently of one another. But in Bitcoin they do not mine independently.

Miners find a block, and then send this to all other miners. When that occurs, the miners start over and mine off the new block. So, to have this, we will have block 0 as the start that all miners have agreed to and block 1 as the next block discovered by the miners.

In the scenario posited, Alice (A) has found a block at a nominal time (T=0), and Bob discovers a block at a time very close to this but no more than 20 seconds from when Alice discovered a block at height 1 (that is 0s < T ≤ 20s).

To understand the process, we need to consider what is happening across the system as a whole, and not the actions of the miners independently. When Alice finds a block, she announces this to all of the other miners she is connected to as quickly as she can. The “first-seen rule” in Bitcoin means that the block discovered by Alice benefits only if it is seen by other miners. The timestamp on her block does not count, unless it is too far out, so we ignore this.

If Alice and Bob discover a valid block at exactly the same time, but Alice can propagate her block to other miners faster than Bob, then Alice still wins, as she will be seen as the first one. To take this further, if we have Alice effectively being able to send a block nearly instantly (say 0.01s), and Bob takes 2 seconds to send his block, Alice gains a small advantage. In this example, if Alice was to have discovered her block at T=1.0s and Bob discovered a block at the same height at T =0s, then the other miners will have received Alice’s block at T=1.01s, and they will see Bob’s block at T=2.0s. So even though Bob nominally discovered the block first, Alice wins as she propagated the block to the miners first. This, of course, is one of the MANY serious flaws in the foolish fallacy of selfish mining.

Dependence.

So to go back to our example, what we have in Bitcoin is in fact not the probability that 2 nodes have a block; rather, it is the probability that two nodes find a block in the 20s AND convince the majority of nodes that they have a block before the other node.

Image result for conditional probability

The result is that the nodes in the network do not stop mining, until the new block has been seen — that means, at least a block header has been sent. This varies with some nodes spy-mining headers and others fully validating. That is a risk-reward trade-off based on profit-maximisation strategies.

So, the problem is that Peter is treating systems in isolation — he is not accounting for the system as a whole. This is the common issue with many who are so-called experts in Bitcoin.

The real system

Now, the probability calculation — truly the probability of a second block being found in 20 seconds — is not independent; it is a dependent-probability calculation. To calculate the probability, we need to calculate the conditional probability that Alice finds a block and sends it — but that Bob has NOT received it, continues to mine, and finds a block without being notified by Alice in the twenty (20) seconds, as, if Bob was notified, he would know that other miners are going to now be already building on Alice’s block and that his is no longer worth continuing with.

The network is such that nearly all (99.98%) miners will know of the block that Alice found in under 2 seconds. So, we have to now assume that Bob is one of the 0.02% of miners who have not seen the block from Alice in 2 seconds.

So, let us look at the timeline:
T=0

  • Alice discovers a block and sends it to the network of miners.
  • The majority of miners in a small world have the block in under 2 seconds.

T≤ 20

Bob discovers a block; but he still has NOT received a block from Alice. So, we are taking a conditional problem, not of independent miners finding a block one after the other, but of a dependent and system-based solution where Bob stops mining as soon as Alice sends a block.

The reason is, if Alice has mined a block and Bob sees that she has sent this to the network, he cannot know that he will find a competing block in the next twenty (20) seconds or less. His expected time is an independent process, so if Bob has control of 33.3% of the network and thus mines a block on average every 30 minutes independently (say if all other miners stopped mining), he would expect to not find a block in 20 seconds, but need to wait another 30 minutes. Bob does not know that a block is destined to be found. He only knows that he can expect to wait 30 minutes for a block at ANY point in time.

So, Bob will stop mining and seeking a block, as soon as he sees a block from Alice. He will think as one should, that he will not find a block for another 30 mins (with 1/3 hash power). There is no way that Bob would mine after seeing a block from Alice. He knows that the other miners will mine off her block and that, when at the expected 30-minute mark, he will be on block 1, but that the other miners with 2/3 of the hash will discover a block every 15 mins average and thus be on block 3 when Bob expects to have block 1. Bob sees this as a losing strategy, and thus moves to mining on Alice’s block as soon as he sees it.

This is important, and the flaw that all those non-system thinkers fail to understand. Bob does not know that he would find a block in under 20 seconds — he expects to have another 30 minutes. As a consequence, he does not keep mining for block 1 after he has seen block 1 from Alice, and if he does, he ends up on a losing forked chain eventually.

Think this through…

Bob sees a block (block 1) from Alice. He knows that at the point in time (T=0) with 33.3% mining power, he expects to wait 30 minutes before finding a block (the time for Bob is always 30 minutes). So, Bob does not know that in this time line he would have a block at the same height (block 1) at a time T≤20 at all, and he also knows that even if he does, 66.6% of miners are already building on Alice’s block 1. Hence, when Bob expects a block, he would expect to be several blocks behind Alice.

In fact, Bob at this hash rate expects that Alice’s chain will reach block 3 as he finds block 1, as he has NO expectation that he will find block 1 in under T=20 seconds before that occurs.

That is the flaw. Bob does not act on what could have been, he acts on what he expects. He expects to have Alice gain a large lead if he does not follow. So, as soon as Bob sees Alice’s block, Bob will stop mining on block 0 and start mining on Alice’s block 1. The probability calculation is dependent. This is, as has always been the case, the flaw in the thinking of those who believe in a non-systematic approach to Bitcoin as a set of independent miners who act with no interactions.

This is not a simple Poisson problem; the calculations are NOT independent.

Sorry, Peter — I got you again, and you still do not even see it.

In all of these scenarios, it is not as Peter and the so-called and self-proclaimed experts believe, that is that Alice and Bob are independently mining and on different chains…

It is the dependent probability:
Prob (A followed by B given no network transmission from A to B)

PS… I see the “u”… troll in a troll to inception level.

Maths

To demonstrate this scenario, you need to calculate the Probability of Bob finding a block without having seen a block by Alice in up to 20 seconds.

So, this is the probability that Bob gets a block in 20 seconds from the time Alice discovers a block AND the probability Alice has not sent a block to Bob in that time. These are two conditions.

The chances of Bob OR any other miner finding a block in 20 seconds after Alice is under 3.3% (As that is any block found in any order, and we want a miner who will not receive a block from Alice exclusively.). Remember, once a miner receives a block, they stop mining on the former block and move to mining the new one if they seek to maximise profit.

The probability that Bob has not seen a block that Alice finds and he continues to mine is less than (1.00–0.9998) or <0.0002. That is <0.0002 x 0.033.

No, it is not close to 0.01% — it is far less… Sorry, Peter.

Reference:

From Bitcoin to Bitcoin Cash: a network analysis.

http://arxiv.org/abs/1804.02350

This is me catching Peter… again