Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: deepceleron on July 16, 2011, 05:09:07 PM



Title: 0 second block!
Post by: deepceleron on July 16, 2011, 05:09:07 PM
Block 136583: (http://blockexplorer.com/block/00000000000001d7635c5037bd97519b583cd995a56edc0018dfb9a39106f758)

{
  "hash":"00000000000001d7635c5037bd97519b583cd995a56edc0018dfb9a39106f758",
  "ver":1,
  "prev_block":"000000000000003f767918da359ac0dd5728edc90552b0e4f4af59419d1b70f5",
  "mrkl_root":"2d9712cefa0f81ac0fb6cb0812567c5f572ab9f0309e803fb01b039e1938fdf6",
  "time":1310829862,


Block 136584: (http://blockexplorer.com/block/000000000000035ac219a1a52dde48ccd7348deed858b1da47b0f16b7ac70ea2)

{
  "hash":"000000000000035ac219a1a52dde48ccd7348deed858b1da47b0f16b7ac70ea2",
  "ver":1,
  "prev_block":"00000000000001d7635c5037bd97519b583cd995a56edc0018dfb9a39106f758",
  "mrkl_root":"61e5c0c6a611568131217f21b69a4ac96c5bb5598a704627a3aecf8584d1ff9c",
  "time":1310829862,


Is this a first? Did deepbit (http://digbtc.com/) just figure out the ultimate hack to avoid invalid blocks?  :P




Title: Re: 0 second block!
Post by: casascius on July 16, 2011, 05:12:19 PM
What's invalid?  The fact that the timestamp is the same doesn't mean that the blocks happened at the exact same time.  The time stamp of the later block can actually be earlier than the earlier one.  Why?  Because the timestamp is taken from the system clock of the computer doing the mining, which is likely not synchronized with atomic time.

Bitcoin doesn't validate the timestamps to precision - it only validates them to be within a reasonable window, like two hours.


Title: Re: 0 second block!
Post by: deepceleron on July 16, 2011, 05:32:08 PM
What's invalid?  The fact that the timestamp is the same doesn't mean that the blocks happened at the exact same time.  The time stamp of the later block can actually be earlier than the earlier one.  Why?  Because the timestamp is taken from the system clock of the computer doing the mining, which is likely not synchronized with atomic time.

Bitcoin doesn't validate the timestamps to precision - it only validates them to be within a reasonable window, like two hours.

I see: A timestamp is accepted as valid if it is greater than the median timestamp of previous 11 blocks, and less than the network-adjusted time + 2 hours. "Network-adjusted time" is the median of the timestamps returned by all nodes connected to you.

So there is no joy in this statistic... either miner's time could have been off - and a clock time could be up to ~1 hour negative and still be valid depending on the previous blocks.