How to calculate block generation time from block's data? I'm working on paper Double-Spending Attacks on Fast Payments in Bitcoin.

And I see they give out the result :


  block generation time is approximately 10 minutes (9 minutes and 54
  seconds), the standard deviation of the measurements was about 881.24
  seconds


They used data from blockexplorer, with data from block #0 to block # 153260.

Here is the data of Block #0 and Block #1



Then I calculate block generation as:

 Block generation time for block#n= (timestamp of block#n+1) - (timestamp of block#n)


But I get the result as below:

Mean: 9.8 minute = 9 minute 48 secod 

standard deviation: 1477.469066205157


It's quite different to paper aforementioned paper.

If anyone worked or know how to work with blockchain data, please help me.
Block generation time for block#n= (timestamp of block#n+1) - (timestamp of block#n)



I'd say the block generation time for block#n should be:

genTime(block#n) = timestamp(block#n) - timestamp(block#n-1)


However, this doesn't explain the huge discrepancy.

If you're sure that 1) you're using the same dataset, i.e. the same window of blocks!, and 2) calculating exactly the same quantity as they are, and still arrive at different results, you might want to get in touch with the authors of the paper to compare notes and see where your calculations differ.