Wie zuverlässig ist ein Transaktionszeitstempel?

Nur eine Frage. Wo und wie wird der TIMESTAMP einer Transaktion generiert?

Ist es zuverlässig, ein Transaktionsbenachrichtigungssystem zu entwickeln?

Vielen Dank! (Ich meine den Zeitknoten unten)

{ "hash": "44ffca26a089ccc806a7861e715d237d9f63b373085492f2ee82901171e8d661", "ver":1, "vin_sz":1, "vout_sz":2, "size":257, "relayed_by": "127.0.0.1", "tx_index":31066681" result":0, "time":1351624745 ,"block_height":205754, "inputs":[ { "prev_out":{ "type":0, "addr":"1PAPY4UN1NtFwRibWRuFT1CkgK3NvnMpoC",
"value":879000000, "tx_index ":31055718, "n":1 } } ], "out":[ { "addr":"1ELop4RiQtsVnqPJZHqErCvmJZPHsVn2YT", "value":5000000, "type":0 } ,{ "addr":"1PAPY4UN1NtFwRibWRuFT1CkgK3NvnMpoC",
" Wert": 874000000, "Typ":0 } ] },

Antworten (2)

Der Zeitstempel ist kein Teil der Standardtransaktion gemäß der Bitcoin-Protokollspezifikation . Es wird höchstwahrscheinlich vom Standard-Client während des API-Aufrufs generiert. Der Standard-Client verwendet möglicherweise seine interne Zeit (die sich von der Maschinenzeit unterscheiden kann), was anfällig für Timejacking ist . Ich könnte mich jedoch irren.

Solange Ihr Client ordnungsgemäß ausgeführt wird, sollte es in Ordnung sein, seine Zeitstempel für verschiedene Benachrichtigungen zu verwenden. Sie können jedoch die Zeit darstellen, zu der der Client die Transaktion erhalten hat, die sich von der Zeit unterscheiden kann, zu der die Transaktion zum ersten Mal gesendet wurde.

Das ist eine gute Frage. Wenn ein Block mit dieser Transaktion ankommt, würde sich der Zeitstempel wahrscheinlich von dem Zeitstempel unterscheiden, den der lokale Knoten ihm gegeben hat. Ich habe mir nicht angesehen, was der bitcoin.org-Client tut, daher weiß ich nicht, ob er den Zeitstempel auf den des abgebauten Blocks ändert. Wenn dies der Fall ist, kann der Wert für die Zeit aus der API-Aufrufantwort zwischen dem Zeitpunkt, zu dem die Transaktion zum ersten Mal angezeigt wird, und dem Zeitpunkt ihrer Bestätigung variieren.

"Ist es zuverlässig, ein Benachrichtigungssystem für Transaktionen zu entwickeln?"

Dies ist bereits vorhanden, Sie könnten daran interessiert sein, sich Folgendes anzusehen:

https://github.com/MORA99/BitPing.Net

Afaik, Sie brauchen dafür nicht wirklich den Zeitstempel, sondern verwenden Sie einfach einen Block-Explorer wie abe: http://github.com/jtobey/bitcoin-abe

und Ihre Anwendung wird über jede neue Transaktion benachrichtigt