How does OpenTimestamps work intimately?

0
63


The web site does not clarify something, it simply factors to a bunch of command-line purchasers. I am attempting to jot down a shopper, and utilizing a library that exists, however nonetheless the factor is cryptic to me.

For instance, when a name to /digest with a binary payload 3c367e3dcc8171c287f300e4650f887aa36a046b68257158ae691fb9a9aa5078 (in hex) is made the server returns a binary message that interprets to one thing like

message 3c367e3dcc8171c287f300e4650f887aa36a046b68257158ae691fb9a9aa5078
APPEND bdddce3c57eebd3145db11c7f8a88ade
 message 3c367e3dcc8171c287f300e4650f887aa36a046b68257158ae691fb9a9aa5078bdddce3c57eebd3145db11c7f8a88ade
 SHA256
  message 7f0d2f1a6654bf56a061886afd4d9434ea20cdf5bf0af35c5c539c2eff9ac725
  PREPEND 6508c034
   message 6508c0347f0d2f1a6654bf56a061886afd4d9434ea20cdf5bf0af35c5c539c2eff9ac725
   APPEND 580adf5d1d0cc157
    message 6508c0347f0d2f1a6654bf56a061886afd4d9434ea20cdf5bf0af35c5c539c2eff9ac725580adf5d1d0cc157
    VERIFY pending(url=https://bob.btc.calendar.opentimestamps.org)

What does that imply?

If do one other name with 5f2c0653c7f703abf9ac2b083c256a7fbcb61984833d45e6449579dc4bd71ff1 I get:

message 5f2c0653c7f703abf9ac2b083c256a7fbcb61984833d45e6449579dc4bd71ff1
APPEND f0740a9b96d84df43c845b51274a375e
 message 5f2c0653c7f703abf9ac2b083c256a7fbcb61984833d45e6449579dc4bd71ff1f0740a9b96d84df43c845b51274a375e
 SHA256
  message a3bdd6448fdb88bb1a67f933c19c8c6a5a4094b075368a1c774ff8fabd6f3da2
  PREPEND 6508c495
   message 6508c495a3bdd6448fdb88bb1a67f933c19c8c6a5a4094b075368a1c774ff8fabd6f3da2
   APPEND c7eac04764d882a4
    message 6508c495a3bdd6448fdb88bb1a67f933c19c8c6a5a4094b075368a1c774ff8fabd6f3da2c7eac04764d882a4
    VERIFY pending(url=https://bob.btc.calendar.opentimestamps.org)

The ultimate message has the identical prefix in each circumstances, however the remaining is completely different. I do not perceive the logic for the PREPEND/APPEND stuff. Are these APPEND and PREPEND messages issues submitted by others to be timestamped? Why is the server concatenating a number of messages like that as a substitute of constructing a less complicated merkle tree?

After that step it’s potential to name the server at /timestamp/6508c0347f0d2f1a6654bf56a061886afd4d9434ea20cdf5bf0af35c5c539c2eff9ac725580adf5d1d0cc157 and it returns “Pending affirmation in Bitcoin blockchain”, which makes me assume that’s the merkle root the server is attempting to publish to Bitcoin on an OP_RETURN.

Nevertheless it additionally returns that very same message after I name the identical endpoint with the second remaining message, i.e. after the merkle root was supposedly up to date within the server.

LEAVE A REPLY

Please enter your comment!
Please enter your name here