4

I need to properly segment transactions by time. Are timestamps in transactions trustable? Can these be forged?

I'm not sure if transaction timestamps are part of the protocol, but I'm particularly interested in the "Received Time" which shows up in blockchain.info . For example, this transaction (api url)

{
   time:1385506952,
   inputs:[
      {
         prev_out:{
            n:2,
            value:50000000,
            addr:"17BPmjqg7mbaWYdff2EjVxra1FBHG4VAN3",
            tx_index:97772745,
            type:0
         }
      }
   ],
   vout_sz:2,
   relayed_by:"127.0.0.1",
   hash:"4054f8170f7fc7c12229a116baead874f22478810b0a7e842aa28403c9b59927",
   vin_sz:1,
   tx_index:99131036,
   ver:1,
   out:[
      {
         n:0,
         value:40000000,
         addr:"1LwmnEn97jcANB68C5BVFQLJJLAm5UTJqW",
         tx_index:99131036,
         type:0
      },
      {
         n:1,
         value:9990000,
         addr:"17BPmjqg7mbaWYdff2EjVxra1FBHG4VAN3",
         tx_index:99131036,
         type:0
      }
   ],
   size:257
}
  • related: bitcoin.stackexchange.com/questions/7404/… – Murch Nov 27 '13 at 1:11
  • This is probably the time blockchain.info's bitcoin client has first seen (received) the transaction, but I have no source for that claim. Anyways, assuming it is so, it is trustworthy only in the sense that the sender of the transaction cannot forge it, but untrustworthy in the sense that any wrong time setting in blockchain.org's server time setting (or the code it is running) could cause it to be incorrect. – pyramids Nov 27 '13 at 19:02
  • Related: The timereceived and other timestamps used by the original bitcoin client's API is discussed in this question. I suppose it is reasonable to assume blockchain.org uses the term "received time" in the sense of timereceived from the original bitcoin client (in the sense I mentioned in my other comment as a guess). – pyramids Nov 27 '13 at 19:06
1

Transactions do not have timestamps, so the timestamp that blockchain.info displays is whatever time their node received the transaction. The time shown will also change to the time that it was included in a block. In general, it is not reliable to trust the timestamp given for an unconfirmed transaction on blockchain.info as it is entirely dependent on their node.

0

The actual time of a transaction is not that relevant, and neither the precise time a block is minted. In the end, it is about order: in the race to mine the next block, the first valid block is broadcasted to all other miners, and that block is part of the longest chain.

If a miner receives two valid block close to each other, first one from miner B and then one from miner A and the timestamp on block A reveals it was actually mined first, our miner will still include block B because it came in first, and miners are incentivised to start mining the next block as soon as possible.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.