This details a bet with Peter Rizun in regards to selfish mining.
The bet with Peter Rizun was defined explicitly in words:
The following is the stated definition of the problem to be solved:
We are given two independent processes that start with process 1 (HM) having a mean time to discovery of 15 mins and a separate independent (to the HM) process (SM) with a mean of 30 minutes that are both exponentially distributed. The initial time for the system is t=-10. This is defined from the last discovery (of an event being a block issue).
Now, answer the following:
If both processes start and independently mine (the process that creates the event), and we later discover that SM has produced a block at t=0, what is the expected time that HM will have found a block.
It is important to note, that the HM has no information in regards to the processes of the SM, but the SM knows that of the HM. The HM always discovers at an expected rate of 15 mins and nothing that the SM discovers alters this. If the SM discovers at any time that is before the HM, the HM remains independent and continues in the joint process, however, if the HM finds a block, the SM process restarts immediately. So, that is not independent and would yield separate results.
The HM process is independent and is not correlated to the SM one in any way. We cannot state the same for the SM process, but this is a separate issue.
As such, we know that the HM finds blocks from t=-10 and has no time event at t=0. It cannot, it does not know of t=0 being a discovery by the SM.
The HM cannot say, I think the SM secretly has discovered a block and withheld so I cannot see it, it simply processes as if it is still looking and the SM has not found anything. There is no t=0 block event for the HM. There is no reason for the HM to say at t=0, what time is left and take this as 15 mins.
We expect that the SM will take a mean time of 15 mins to discover a block. This is an expected or mean of the distribution. From this, we know it will have discovered a block at t=5 (that is t=-10 +15=5).
The fact that the SM finds a block does not alter the process (as it does in Bitcoin) as these are not joint events. The HM process continues whether the SM finds a block of not. If the HM finds first, the SM alters strategy, but if the HM discovers, the SM hides knowledge.
Consequently, there is no change to the standard discovery time for the HM. The HM with a lambda of 15 on the average discovers at a point in time 15 mins later than the last point. As the last point is t=-10, the discovery times for the HM is expected at t=5.
This is a radically different question to one such as:
No block hash been discovered and are now at t=0. Both parties, HM and SM jointly know this as neither has released (in a process where they do). How long will it be before HM finds a block. This is a memory-less system, and hence, if HM has not discovered a block, the expected time to discovery remains at 15 minutes. In this instance, the answer would be t=0 plus 15 mins. That is, a discovery at 15 mins. Unfortunately, this was not the bet.
The question did not state it is now t=0 and the miner finds a block, what is the expected time for the HM to discover a block. This is a very important distinction. The question in the bet stated the two processes start and independently SM in this occurrence finds a block at t=0, when on average will the HM find a block. It was expressed that the HM has no idea if the SM discovers or not. As a result, the SM is an independent branching process to the joint process when considered from the HM branch (it is not from the SM branch as this deviates, but that for another post).
Peter was informed in this discussion of all this and I said it is not correct to take and mix point processes with distributions and do this in this manner.
He did not understand what this comment meant.
It was explained that he should be taking a series where the time for the HM is greater than that for the SM. That is, if time(HM discovers) =b and time(SM Discovers)=a, we should integrate to find the true result.
It must also then be noted that this is no longer a Poisson process and a negative Binomial. That is, the time that the SM discovers 1 or more blocks before the HM, plus the time the SM discovers 3 or more blocks before the HM discovers any block (as this is the full issue in the SM).
That is the mathematics of the bet in words, no integration or squiggly lines at all.
The SM finding a block at 10 mins is a point event. It has no relation to the SM issue and problem which is a distribution of the SM finding a block before the HM without notification, this is, a Negative binomial and not Poisson problem. This will be the SM finding at ANY time where it is before the HM from t=-10 to t=infinity.
That then becomes an issue of the SM finding one or more blocks BEFORE the HM finds a block plus the SM finding two or more blocks BEFORE the HM finds a block plus etc… and we are outside of the Poisson system and into the Binomials.
Let N1(t) and N2(t) be two independent Poisson processes with rates λ1 and λ2 respectively.
Let us define N(t)=N1(t)+N2(t). That is, the random process N(t) is obtained by combining the arrivals in N1(t) and N2(t). We can demonstrate that N(t) is a Poisson process with rate λ=λ1+λ2.
If we have, N(t), a Poisson process with rate λ. Here, we divide N(t) to two processes N1(t) and N2(t). For each arrival, a coin with P(H)=p is tossed. If the coin lands heads up, the arrival is sent to the first process N1(t), otherwise it is sent to the second process. The coin tosses are independent of each other and are independent of N(t). Then,
- N1(t) is a Poisson process with rate λp;
- N2(t) is a Poisson process with rate λ(1−p);
- N1(t) and N2(t) are independent.
Note, there is a requirement that these are independent processes.
I will detail what happens when these are not independent processes in a subsequent post, but unfortunately, this requires integration and will by nature get all mathy… There is no way to do this without squiggly lines. Sorry.