Sind Zeitstempel in Transaktionen vertrauenswürdig?

Ich muss Transaktionen nach Zeit richtig segmentieren. Sind Zeitstempel in Transaktionen vertrauenswürdig? Kann man diese fälschen?

Ich bin mir nicht sicher, ob Transaktionszeitstempel Teil des Protokolls sind, aber ich interessiere mich besonders für die "Received Time", die in blockchain.info angezeigt wird. Zum Beispiel diese Transaktion ( 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
}
Dies ist wahrscheinlich die Zeit, in der der Bitcoin-Client von blockchain.info die Transaktion zum ersten Mal gesehen (erhalten) hat, aber ich habe keine Quelle für diese Behauptung. Wie auch immer, vorausgesetzt, es ist so, ist es nur in dem Sinne vertrauenswürdig, dass der Absender der Transaktion sie nicht fälschen kann, aber nicht vertrauenswürdig in dem Sinne, dass eine falsche Zeiteinstellung in der Serverzeiteinstellung von blockchain.org (oder dem Code, auf dem es ausgeführt wird) dies könnte dazu führen, dass es falsch ist.
Verwandte: Die timereceivedund andere Zeitstempel, die von der API des ursprünglichen Bitcoin-Clients verwendet werden, werden in dieser Frage besprochen . Ich nehme an, es ist vernünftig anzunehmen, dass Blockchain.org den Begriff „Empfangszeit“ im Sinne des timereceivedursprünglichen Bitcoin-Clients verwendet (in dem Sinne, den ich in meinem anderen Kommentar als Vermutung erwähnt habe).

Antworten (2)

Transaktionen haben keine Zeitstempel, daher ist der von blockchain.info angezeigte Zeitstempel die Zeit, zu der ihr Knoten die Transaktion erhalten hat. Die angezeigte Zeit ändert sich auch zu der Zeit, zu der sie in einen Block aufgenommen wurde. Im Allgemeinen ist es nicht zuverlässig, dem Zeitstempel zu vertrauen, der für eine unbestätigte Transaktion auf blockchain.info angegeben wird, da er vollständig von ihrem Knoten abhängt.

Der tatsächliche Zeitpunkt einer Transaktion ist nicht so relevant, und auch nicht der genaue Zeitpunkt, zu dem ein Block geprägt wird. Am Ende geht es um Ordnung : Im Rennen um den nächsten Block wird der erste gültige Block an alle anderen Miner gesendet, und dieser Block ist Teil der längsten Kette.

Wenn ein Miner zwei gültige Blöcke nahe beieinander erhält, zuerst einen von Miner B und dann einen von Miner A und der Zeitstempel auf Block A zeigt, dass er tatsächlich zuerst abgebaut wurde, wird unser Miner immer noch Block B einbeziehen, weil er zuerst kam, und Miner erhalten einen Anreiz, so schnell wie möglich mit dem Mining des nächsten Blocks zu beginnen.