# 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.

• Does anyone help me? Commented May 12, 2017 at 2:42

## 1 Answer

``````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.