Transactions

交易中的時間戳是否可信?

  • December 27, 2017

我需要按時間正確細分交易。交易中的時間戳是否可信?這些可以偽造嗎?

我不確定事務時間戳是否是協議的一部分,但我對出現在 blockchain.info 中的“接收時間”特別感興趣。例如本次交易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
}

交易沒有時間戳,因此 blockchain.info 顯示的時間戳是其節點收到交易的任何時間。顯示的時間也將更改為包含在塊中的時間。一般來說,信任在 blockchain.info 上為未確認交易提供的時間戳是不可靠的,因為它完全依賴於他們的節點。

交易的實際時間並不重要*,出塊的準確時間也不重要。最後,它是關於順序*的:在探勘下一個區塊的競賽中,第一個有效區塊被廣播給所有其他礦工,並且該區塊是最長鏈的一部分。

如果礦工收到兩個彼此靠近的有效區塊,第一個來自礦工 B,然後一個來自礦工 A,並且區塊 A 上的時間戳顯示它實際上是首先開采的,我們的礦工仍然會包含區塊 B,因為它先進來,並且激勵礦工盡快開始探勘下一個區塊。

引用自:https://bitcoin.stackexchange.com/questions/17349