Wright or Wrong? Let's read Craig Wright's "Selfish Miner Fallacy" paper together and find out

Status
Not open for further replies.

Otaci

Member
Jul 26, 2017
74
384
But what you and cypherblock are effectively saying is that no matter at what time interval you measure, the expected time to find a block is 15 minutes? Even if they have already put 10 minutes work into it?

EDIT: OK, let me reason about this a bit more. My example (which is not a very good one): the HM has a 30 sided die, he can throw once per minute, and is looking to get a 30. We would expect this to take, on average, 15 minutes. But in theory, he could throw a 30 on the first throw, or never throw a 30.

Since the past has no bearing on the future, at any point in time it will still be expected to take another 15 minutes.
 
Last edited:

79b79aa8

Well-Known Member
Sep 22, 2015
1,031
3,440
I am not getting @Peter R's position on THE BET.

1. The HM finds a block (height n-1) at time t -10 min., and publishes it. Since he is assumed to control a third of the hashrate, he is expected to find his next block, on the avg., 15 minutes later (10 min. / 0.6666...), i.e., at t + 5 min.

2. The SM finds a block (height n) at time t but choses not to publish it. Insofar as the network is ignorant of his solution (indeed, the network has no causal interaction with it), it does not affect anyone's else's continued work on the next block (height n).

3. So the HM still expects to find his next block at t + 5 min.
 
  • Like
Reactions: AdrianX and sickpig

AdrianX

Well-Known Member
Aug 28, 2015
2,097
5,797
bitco.in
Can't this be modeled with a relatively simple computer program? I have only been picking up bits of this discussion but I thing CSW is correct, the network is absolute reality, miners have a relative reality, their reality is not referenced off other relative realities but the one absolute reality that discovers a golden nonce (new block) on averages every 10 minutes (if it is modeled, the golden nonce discovery should be programmed to reflect historic data.)
 

Peter R

Well-Known Member
Aug 28, 2015
1,398
5,595
I am not getting @Peter R's position on THE BET.

1. The HM finds a block (height n-1) at time t -10 min., and publishes it. Since he is assumed to control a third of the hashrate, he is expected to find his next block, on the avg., 15 minutes later (10 min. / 0.6666...), i.e., at t + 5 min.

2. The SM finds a block (height n) at time t but choses not to publish it. Insofar as the network is ignorant of his solution (indeed, the network has no causal interaction with it), it does not affect anyone's else's continued work on the next block (height n).

3. So the HM still expects to find his next block at t + 5 min.
@79b79aa8: the selfish miner finds the next block (height N) at time t = 0 (not an arbitrary time t). Because mining is memoryless, the honest miner always expects to find a block 15 minutes from now (and not from when he started). Since the honest miner is still looking for a solution at height N when the selfish miner finds his secret block, he still expects to find the next block 15 minutes from this event which occurred at time t = 0.
 
Last edited:
  • Like
Reactions: Norway

cypherblock

Active Member
Nov 18, 2015
163
182
Here is an interesting experiment you can do on your own. Get the time of like the last 144 blocks or so (you can copy paste a days worth from blockchain.info), then find the elapsed time between each block.

Now for the experiment, imagine a selfish miner secretly finding a block at t=9min (from previous block) for those intervals where that is possible (>9min duration). When on average was the next block actually found in the data? Was it 1min after the selfish miner or 10 minutes after the selfish miner?

Using Google sheets this is fairly easy to do (but I'm glad to help for anyone not familiar with spreadsheet formulas)
 
Last edited:

effectsToCause

New Member
Jul 28, 2017
2
3
Alright, Craig Wright has accepted the bet for 1 BTC:



Here is the image again of the bet details:

Craig is right in this case. It's true due to 33% of hashrate being lost to selfish miner it should take a total of 15 minutes for honest miner to find a block. However if at t=0 10 minutes has already elapsed (indicated by t-10), t=5 would sum to 15 minutes total for honest miner.
 
  • Like
Reactions: Bloomie and AdrianX

Peter R

Well-Known Member
Aug 28, 2015
1,398
5,595
@effectsToCause: This is not correct because mining is a memoryless process. No progress is made between t = -10 min and t = 0 for the honest miners. For the honest miners, the expected block is always 15 minutes away. At time t = 0, the honest miners still haven't solved a block (they are still looking for the solution for the block at height N), and so they expect to find a solution 15 minutes later (i.e., at t = 15 min).
 
  • Like
Reactions: bluemoon

effectsToCause

New Member
Jul 28, 2017
2
3
I see what your saying that it is memoryless, however the odds of finding the correct block is proportional to the number of hashes tested, which is how the difficulty works by increasing the hash odds requirement, so on average the honest miner would hit at t=5 even though in theory it's still 15. So in conclusion I think it depends on whether the question is addressed in theory or in practice. Where in theory 15 is correct but in practice on average the honest miners are most likely to hit at t=5.
 
Last edited:
  • Like
Reactions: Bloomie

Otaci

Member
Jul 26, 2017
74
384
This may be a bit off-topic, if so ignore it.

I dont have the in-depth knowledge of how exactly ASIC's work, but it seems to me that the key-space for the nonce's is so large, and the testing of nonce values so fast (hash/sec), and one would want to fit as many processing blocks as possible on a single chip (size constraints), that I doubt that the processing blocks keep track of which nonce's have already been tested and adjust their behaviour based on that. Keeping track of the already tested nonce's would be a massive overhead and simply not worth it.

Therefore, the key space to be tested does not shrink as time goes by. It is more like rolling dice, and not like taking balls out of a bag.
 
  • Like
Reactions: 79b79aa8 and Norway

awemany

Well-Known Member
Aug 19, 2015
1,387
5,054
Can't this be modeled with a relatively simple computer program? I have only been picking up bits of this discussion but I thing CSW is correct, the network is absolute reality, miners have a relative reality, their reality is not referenced off other relative realities but the one absolute reality that discovers a golden nonce (new block) on averages every 10 minutes (if it is modeled, the golden nonce discovery should be programmed to reflect historic data.)
Yes it can. See here: https://gist.github.com/awemany/57b95a24b09b648bda1db9509f5dcba9

Less than a hundred lines of hopefully very easy to understand code.

Summary: @Peter R is right.

They small little keyword one quickly misses in the linked figure from Peter R (and I initially did as well) is the word next.

As in: A priori, there's no block in between the one from the honest majority and the selfish miner.
 

Norway

Well-Known Member
Sep 29, 2015
2,424
6,410
About the "memoryless" premiss:

It all depends on how many solutions there are to the mining problem.

If there is only one solution, it would make sense for the miner to keep track of previous guesses to narrow down the solution.

If there are many solutions to the mining problem, it makes less sense to keep track of previous guesses as the job/time to filter guesses is non zero. In this situation, we are approaching a pure dice roll as the number of possible solutions grow.


I have to side with @Peter R here, assuming that mining is memoryless.
[doublepost=1501248838,1501247877][/doublepost]I just discovered @Otaci made almost the same argument as mine. :)
 

Norway

Well-Known Member
Sep 29, 2015
2,424
6,410
Bugreport:

The sentence

"What is the expected time at which an honest miner will find a competing block at height N?"

should be

"At t=0, what is the expected time at which an honest miner will find a competing block at height N?"

EDIT: If the sentence is applied at t=-10, Craig would be right.
 
Last edited:

79b79aa8

Well-Known Member
Sep 22, 2015
1,031
3,440
Keeping track of the already tested nonce's would be a massive overhead and simply not worth it.
Therefore, the key space to be tested does not shrink as time goes by. It is more like rolling dice, and not like taking balls out of a bag.
But it would then seem that this depends on the hardware and the mining algorithm used. The search space is still finite and a heck of a lot of hashes are being tested/sec., so (intuitively) one would think that the process could be optimized by keeping track of failed attempts.

Or is @Peter R claiming that mining is memoryless *in principle*?
 

Peter R

Well-Known Member
Aug 28, 2015
1,398
5,595
@Norway:

At t = -10 min, the expected time is still t = 15 min, but only because we have extra information. We know a priori that the honest miners won't solve a block between t = -10 and t = 0. So the question, when asked from t = -10, is equivalent to asking "what is the expected arrival time given that no block is find during the first 10 minutes of trying?"
 

Norway

Well-Known Member
Sep 29, 2015
2,424
6,410
@Peter R
I would say that you are adding context that is not a part of the bet now. You assume that we are at t=0, having info that the honest miner have not solved a block. At t=-10, it's not possible to have this info.
[doublepost=1501253381][/doublepost]I would call the bet a draw. Or even better, both @Peter R and Craig Wright failed, because the bet is not specific enough to give either t=5 or t=15 conclusively.

The answer depends on where you are on the time scale, and should be expressed as a function of t.
[doublepost=1501253715,1501253038][/doublepost]ExpectedSolutionTimeForHonestMiner(t) = t + 15
[doublepost=1501253761][/doublepost]So I get 2 bitcoins now? :D
 
Status
Not open for further replies.