Bitcoin Forum
June 17, 2024, 07:47:38 AM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Is the expected waiting time for a block always 10 min?  (Read 1665 times)
Spjuth (OP)
Newbie
*
Offline Offline

Activity: 55
Merit: 0



View Profile
March 06, 2015, 01:41:41 PM
 #1

I was wondering about waiting time for blocks. Is the probability of finding a new block always the same, like the probability of rolling a six on a dice does not change no matter how many sixes you have rolled in a row, or does it decrease because the search space of the problem exhausts?  

Ex: I go to blockchain.info and see that the last block was created 60min ago. I think "oh, how unlucky the miners have been, but that's good, then they should find a new block any second now."
Is that correct, or should I expect the average time until a new block is 10min no matter how long ago the last block was created?
nextblast
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500



View Profile
March 06, 2015, 01:47:28 PM
 #2


To say 10 min per block is only statistically right.
You might see several blocks mined in a row in a few minutes but in another time none for an hour.

Height    Age    Transactions    Total Sent    Relayed By    Size (kB)
346427    29 minutes    46    1,773.59 BTC    BTC Guild    21.74
346426    29 minutes    217    607.58 BTC    F2Pool    119.97
346425    32 minutes    772    6,959.44 BTC    BTC Guild    416.73
346424    46 minutes    320    1,659.23 BTC    F2Pool    155.84
346423    51 minutes    1010    8,987.83 BTC    F2Pool    507.12
346422    1 hour 10 minutes    614    6,597.82 BTC    KnCMiner    417.55
Spjuth (OP)
Newbie
*
Offline Offline

Activity: 55
Merit: 0



View Profile
March 06, 2015, 01:50:26 PM
 #3


To say 10 min per block is only statistically right.
You might see several blocks mined in a row in a few minutes but in another time none for an hour.

Height    Age    Transactions    Total Sent    Relayed By    Size (kB)
346427    29 minutes    46    1,773.59 BTC    BTC Guild    21.74
346426    29 minutes    217    607.58 BTC    F2Pool    119.97
346425    32 minutes    772    6,959.44 BTC    BTC Guild    416.73
346424    46 minutes    320    1,659.23 BTC    F2Pool    155.84
346423    51 minutes    1010    8,987.83 BTC    F2Pool    507.12
346422    1 hour 10 minutes    614    6,597.82 BTC    KnCMiner    417.55

Yes, I understand that. My question is about average waiting time for a block. Is the average time until a new block is found always 10 min no matter how long I have waited, or does the average waiting time decrease the more time has passed since the last block?

Edit: I'm waiting for a confirmation right now, that's why I'm asking Wink
dothebeats
Legendary
*
Offline Offline

Activity: 3668
Merit: 1353


View Profile
March 06, 2015, 01:52:51 PM
 #4


To say 10 min per block is only statistically right.
You might see several blocks mined in a row in a few minutes but in another time none for an hour.

Height    Age    Transactions    Total Sent    Relayed By    Size (kB)
346427    29 minutes    46    1,773.59 BTC    BTC Guild    21.74
346426    29 minutes    217    607.58 BTC    F2Pool    119.97
346425    32 minutes    772    6,959.44 BTC    BTC Guild    416.73
346424    46 minutes    320    1,659.23 BTC    F2Pool    155.84
346423    51 minutes    1010    8,987.83 BTC    F2Pool    507.12
346422    1 hour 10 minutes    614    6,597.82 BTC    KnCMiner    417.55

Yes, I understand that. My question is about average waiting time for a block. Is the average time until a new block is found always 10 min no matter how long I have waited, or does the average waiting time decrease the more time has passed since the last block?

Edit: I'm waiting for a confirmation right now, that's why I'm asking Wink

The average time is 10 minutes. But as to what nextblast have said, several blocks could be mined in a row and there could be none for an hour.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4664



View Profile
March 06, 2015, 02:07:54 PM
 #5

- snip -
My question is about average waiting time for a block. Is the average time until a new block is found always 10 min no matter how long I have waited, or does the average waiting time decrease the more time has passed since the last block?

Edit: I'm waiting for a confirmation right now, that's why I'm asking Wink

There is no relevant decreasing of the search space.

If the difficulty has recently been adjusted (it is adjusted every 2016 blocks, which is approximately every 2 weeks), then the average time until a block is solved is 10 minutes.  It doesn't matter if its been 3 hours since the last block, or if 10 blocks were all just solved in the past 15 seconds.  The average time until the current block will be solved is 10 minutes.

Note that if hash power has been added to the network since the last difficulty adjustment (new miners joining, or existing miners upgrading their hardware), then the average time is decreased.  If the hash power is steadily increasing, then the average time until the current block is solved decreases in direct proportion to the increase in hash power since the last difficulty adjustment (imagine your hypothetical dice roller rolling the dice faster, or rolling more dice at once).  Then when difficulty is adjusted again, the average time is re-adjusted back to 10 minutes (imagine increasing the number of sides on the hypothetical die from 6 to 10, or 20, or 100, or whatever is necessary to get the appropriate target time of 10 minutes between successful rolls).
Brewins
Legendary
*
Offline Offline

Activity: 1120
Merit: 1000



View Profile
March 06, 2015, 05:12:22 PM
 #6

statistically the blocks are being generated faster than 10min.

Check the expected time of halvings and the real time of the halvings to confirm it
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 06, 2015, 05:26:00 PM
 #7

There is no relevant decreasing of the search space.

If the difficulty has recently been adjusted (it is adjusted every 2016 blocks, which is approximately every 2 weeks), then the average time until a block is solved is 10 minutes.  It doesn't matter if its been 3 hours since the last block, or if 10 blocks were all just solved in the past 15 seconds.  The average time until the current block will be solved is 10 minutes.
If blocks are solved every 10 minutes on average, then shouldn't the average answer to the question "How long do I need to wait until the next block is solved?" be 5 minutes?
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4664



View Profile
March 06, 2015, 05:42:06 PM
 #8

If blocks are solved every 10 minutes on average, then shouldn't the average answer to the question "How long do I need to wait until the next block is solved?" be 5 minutes?

If I roll a six-sided die until I get a 1, then the average number of rolls between 1's is six rolls.

Does that mean that if I walk into a room where someone is rolling a die, the average answer to the question "How long do I need to wait until the next 1 is rolled?" is three?

No.

The die has no memory of what has been rolled recently, or how many times it has been rolled since the last 1.  The average will always be six rolls starting "now", no matter when "now" is.

It's the same with mining.

Shortly after a difficulty adjustment, he average is 10 minutes from "now" no matter when "now" is.

That average shrinks or grows depending on how much hash power has been added to or removed from the network since the difficulty adjustment, but the average time between blocks and the average time until the next block will always be the same.
ebliever
Legendary
*
Offline Offline

Activity: 1708
Merit: 1035


View Profile
March 06, 2015, 05:54:14 PM
 #9

If blocks are solved every 10 minutes on average, then shouldn't the average answer to the question "How long do I need to wait until the next block is solved?" be 5 minutes?

If I roll a six-sided die until I get a 1, then the average number of rolls between 1's is six rolls.

Does that mean that if I walk into a room where someone is rolling a die, the average answer to the question "How long do I need to wait until the next 1 is rolled?" is three?

No.

The die has no memory of what has been rolled recently, or how many times it has been rolled since the last 1.  The average will always be six rolls starting "now", no matter when "now" is.

It's the same with mining.

Shortly after a difficulty adjustment, he average is 10 minutes from "now" no matter when "now" is.

That average shrinks or grows depending on how much hash power has been added to or removed from the network since the difficulty adjustment, but the average time between blocks and the average time until the next block will always be the same.

Just wanted to say, I always appreciate your clear explanations and the time you spend patiently (well, mostly :-) educating people. You are one of the people making bitcoin a success.

Luke 12:15-21

Ephesians 2:8-9
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 06, 2015, 06:27:24 PM
 #10

The die has no memory of what has been rolled recently, or how many times it has been rolled since the last 1.  The average will always be six rolls starting "now", no matter when "now" is.
Something's going wrong here with my mental image.

I get that at any particular moment, the probability of the next hash being valid is (essentially) the same as the previous hash.

Yet after the fact, they do appear every 10 minutes on average.

If I was a bad dart player throwing darts at a very long timeline where there were regular marks every 10 inches, I'd expect half of the darts to end up closer to the right mark and half the darts to end up closer to the left mark.

In this case the marks aren't evenly spaced, but I have trouble seeing why that matters over a long timespan since the intervals average out to once per 10 minutes.
remotemass
Legendary
*
Offline Offline

Activity: 1119
Merit: 1017


ASMR El Salvador


View Profile WWW
March 06, 2015, 06:37:34 PM
 #11

The average time until a new block is 10 min. no matter how long ago the last block was created.
Once you start devoting processing power to add a new block, the time it took to add the previous block doesn't matter.

{ Imagine a sequence of bits generated from the first decimal place of the square roots of whole integers that are irrational numbers. If the decimal falls between 0 and 5, it's considered bit 0, and if it falls between 5 and 10, it's considered bit 1. This sequence from a simple integer count of contiguous irrationals and their logical decimal expansion of the first decimal place is called the 'main irrational stream.' Our goal is to design a physical and optical computing system system that can detect when this stream starts matching a specific pattern of a given size of bits. bitcointalk.org/index.php?topic=166760.0 } Satoshi did use a friend class in C++ and put a comment on the code saying: "This is why people hate C++".
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1078


Ian Knowles - CIYAM Lead Developer


View Profile WWW
March 06, 2015, 06:42:37 PM
 #12

If I was a bad dart player throwing darts at a very long timeline where there were regular marks every 10 inches, I'd expect half of the darts to end up closer to the right mark and half the darts to end up closer to the left mark.

In this case the marks aren't evenly spaced, but I have trouble seeing why that matters over a long timespan since the intervals average out to once per 10 minutes.

Sometimes the blocks can take more than one hour to solve (so we aren't just talking about those getting solved quicker).

The average is 10 minutes but there can be quite a bit of variance.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 06, 2015, 06:48:28 PM
 #13

Sometimes the blocks can take more than one hour to solve (so we aren't just talking about those getting solved quicker).

The average is 10 minutes but there can be quite a bit of variance.
Variance should average out over time.

For every block that takes an hour, there should be one that takes a few seconds.

Encountering each case should be equally likely.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1078


Ian Knowles - CIYAM Lead Developer


View Profile WWW
March 06, 2015, 06:52:18 PM
 #14

For every block that takes an hour, there should be one that takes a few seconds.

Encountering each case should be equally likely.

I haven't studied the stats but I think you need to take into account the "difficulty adjustments" also (i.e. before an increase in difficulty I'd expect the average time to have become less than 10 minutes and of course the opposite for a difficulty decrease).

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Bit_Happy
Legendary
*
Offline Offline

Activity: 2114
Merit: 1040


A Great Time to Start Something!


View Profile
March 06, 2015, 06:57:43 PM
 #15

If blocks are solved every 10 minutes on average, then shouldn't the average answer to the question "How long do I need to wait until the next block is solved?" be 5 minutes?

If I roll a six-sided die until I get a 1, then the average number of rolls between 1's is six rolls.

Does that mean that if I walk into a room where someone is rolling a die, the average answer to the question "How long do I need to wait until the next 1 is rolled?" is three?

No.

The die has no memory of what has been rolled recently, or how many times it has been rolled since the last 1.  The average will always be six rolls starting "now", no matter when "now" is.

It's the same with mining.

Shortly after a difficulty adjustment, he average is 10 minutes from "now" no matter when "now" is.

That average shrinks or grows depending on how much hash power has been added to or removed from the network since the difficulty adjustment, but the average time between blocks and the average time until the next block will always be the same.

"The die has no memory of what has been rolled recently..."
True, but...
If you "suffer through" an unusually long streak (high wait time for blocks, dice rolls under 7, etc), then at some point you have to get fast blocks or high dice rolls in order for the stats to normalize. Is it accurate to say the dice have long-term memory?  Smiley


CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1078


Ian Knowles - CIYAM Lead Developer


View Profile WWW
March 06, 2015, 07:00:18 PM
 #16

If you "suffer through" an unusually long streak (high wait time for blocks, dice rolls under 7, etc), then at some point you have to get fast blocks or high dice rolls in order for the stats to normalize. Is it accurate to say the dice have long-term memory?  Smiley

Not according to the laws of math (i.e. a random number generator could produce a number < X for years without being flawed).

Again the "difficulty adjustment" is used to "try and fix" this sort of problem (in terms of adjusting based upon the history).

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4664



View Profile
March 06, 2015, 07:09:02 PM
 #17

Sometimes the blocks can take more than one hour to solve (so we aren't just talking about those getting solved quicker).

The average is 10 minutes but there can be quite a bit of variance.
Variance should average out over time.

For every block that takes an hour, there should be one that takes a few seconds.

Encountering each case should be equally likely.

Hopefully someone who can explain the reasoning will show up here and explain why it works out the way it does.

If I walk into the room with the guy rolling the die, it's equally likely that he just rolled a 1 as it is that he just rolled something other than a 1, and yet, the average number of rolls until the next 1 is still 6 (regardless of whether he just rolled several 1's in a row or he hasn't rolled a 1 in the last 36 rolls).

I think there are probably a few effects in play here, but one that I notice right away, is that you are assuming that "average of 10 minutes" means "pretty close to 10 minutes most of the time".  Then in your mental image, you are assuming that if you are 7 minutes after the most recent block, you are somehow "closer" to the next block than the previous block.  Of course, if you are 7 minutes after the most recent block, then you can eliminate from your average all blocks that are less than 7 minutes apart (since if the next block was going to be 5 minutes, for example, after the previous one then it would already have happened and you'd really only be 2 minutes since the previous block)

DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4664



View Profile
March 06, 2015, 07:14:22 PM
 #18

"The die has no memory of what has been rolled recently..."
True, but...
If you "suffer through" an unusually long streak (high wait time for blocks, dice rolls under 7, etc), then at some point you have to get fast blocks or high dice rolls in order for the stats to normalize. Is it accurate to say the dice have long-term memory?  Smiley

http://en.wikipedia.org/wiki/Law_of_large_numbers
Quote
It is important to remember that the LLN only applies (as the name indicates) when a large number of observations are considered. There is no principle that a small number of observations will coincide with the expected value or that a streak of one value will immediately be "balanced" by the others (see the gambler's fallacy).

http://en.wikipedia.org/wiki/Gambler%27s_fallacy
Quote
The gambler's fallacy, also known as the Monte Carlo fallacy or the fallacy of the maturity of chances, is the mistaken belief that, if something happens more frequently than normal during some period, it will happen less frequently in the future, or that, if something happens less frequently than normal during some period, it will happen more frequently in the future (presumably as a means of balancing nature). In situations where what is being observed is truly random (i.e., independent trials of a random process), this belief, though appealing to the human mind, is false.
Lauda
Legendary
*
Offline Offline

Activity: 2674
Merit: 2965


Terminated.


View Profile WWW
March 06, 2015, 07:40:13 PM
 #19

statistically the blocks are being generated faster than 10min.

Check the expected time of halvings and the real time of the halvings to confirm it
Exactly, the next halving is slowly coming sooner and sooner. OP you could have used the search function. I've seen similar threads multiple times.
The average time is under 10 minutes, but the blocks don't really come at the same intervals just as somebody said.

"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"
😼 Bitcoin Core (onion)
teukon
Legendary
*
Offline Offline

Activity: 1246
Merit: 1004



View Profile
March 06, 2015, 07:44:32 PM
 #20

I assume througout that there is no problem with mining and I ignore the subtleties of difficulty changes throughout.

Ex: I go to blockchain.info and see that the last block was created 60min ago. I think "oh, how unlucky the miners have been, but that's good, then they should find a new block any second now."
Is that correct, or should I expect the average time until a new block is 10min no matter how long ago the last block was created?

No, this is not correct.  If you see that the last block was created 60 mins ago then the expected waiting time until the next block is 10 minutes and the expected length of time between the current block and the next block is 70 mins.

If blocks are solved every 10 minutes on average, then shouldn't the average answer to the question "How long do I need to wait until the next block is solved?" be 5 minutes?

Good question.  You've stumbled into a probability paradox.

Consider also that the block-generating process looks exactly the same with time reversed.  If you select points in time uniformly (between 2010-01-01 and 2012-12-31 say) you'll find that the next block is, on average, 10 minutes into the future just as you find that the previous block is, on average, 10 minutes into the past.  You'll find that the average time interval between the previous and next blocks is indeed 20 minutes!

In this case the marks aren't evenly spaced, but I have trouble seeing why that matters over a long timespan since the intervals average out to once per 10 minutes.

Resolving the paradox:
Selecting a block at random is different to selecting a point in time at random.  When selecting a point in time at random you're more likely to land between blocks which are far apart than blocks which are close together.  Your averages are then biased towards longer waiting times.
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!