Proof of existence timestamps

Could Blockstack be used efficiently and effectively for timestamping files for proof of existence?

I’m looking for a solution like the Time-Stamp Protocol (rfc3161):

In order to associate a datum with a particular point in time, a Time Stamp Authority (TSA) may need to be used. This Trusted Third Party provides a “proof-of-existence” for this particular datum at an instant in time. [rfc3161]

A decentralized blockchain could potentially be a great Time Stamp Authority. There would be no need to upload or attach whole files to it, just a (SHA-256) hash of a file as fingerprint would be enough to publish. As long as it is immutable and that it can be verified that a certain hash has been published at a certain time and date, so that there’s proof of existence of that file for that moment.

The Chainpoint (Tierion) team is working on a solution just like this, but I wonder if Blockstack could be an alternative … :thinking:

This sounds like a job for @nicktee’s app, Blockusign :slight_smile:

Yep!

You can read about it at this medium post, there is a timestamping section: https://medium.com/blockstack-blog/blockusigns-pragmatic-approach-to-smart-contracts-anchoring-data-on-blockchain-using-blockstack-fb9bd974a306

Right now fees are quite high on Bitcoin so my Subdomain registrar batches to Bitcoin once per day…meaning you can prove a file existed within in a 24 hour window. If you ran your own registrar you could configure it to be the same window as a block on Bitcoin…10 mins or so if it’s not congested.

So with 1 Bitcoin transaction ($2-4 today) per day I batch an entire days worth of file hashes/digital signatures.

I’m really excited about the stacks blockchain and clarity smart contracts in the future to take away the underlying blockchain limititations that bitcoin currently has.

Sounds interesting, @nicktee!

Why is there a dependency on Bitcoin? Isn’t there a way to keep it all within the Blockstack blockchain, or is that a matter of time - the Stacks - that we’re waiting for?

What would you say are the biggest advantages of stacks here, where Bitcoin has limitations? And is there anything to say or predict on what the costs would be to timestamp approx 100k hashes (of files) per month?

Lastly, the technical requirements and steps to take to create the timestamps are no problem (I guess) :sweat_smile: so my real concern is:

How user-friendly is (or can be made) the process of verifying the timestamp?

For example, when a non-techie from the legal department wants to know the timestamp of the proof-of-existence for a particular file?

Thanks in advance!

Blockstack currently uses Bitcoin to timestamp and order transactions. I think eventually the Stacks Blockchain will be used with the tune-able consesys algo and it might someday be secure enough to operate without bitcoin.

The biggest downfall of Bitcoin is that it was not really meant for storing data and its can be very expensive to store 80 bytes of data during bull runs. 12/21/2017 saw fees of 37.49 USD/tx . That is pretty expensive to store 80 bytes of data. Bitcoin also only has very limited smart contract capabilities because you are constrained to 80 bytes of data in the OP_RETURN code.

Blockusign makes it pretty user friendly.

To prove a timestamp simply goto Blockusign then click the document you want to verify and click the last step, “Stamp”


Next expand “Status” and click the link to verify the timestamp on bitcoin
image
Notice the received time. This proves the document existed at this time.

Lastly you can use the app to verify the signatures. Check out this video. The app verifies signatures but it also shows you how to manually verify on your own laptop: https://youtu.be/4weDBJWFeJs?t=62

Thanks, @nicktee! Though the verification process would work for me as a nerd, I doubt that non-techies will consider this to be user friendly :stuck_out_tongue_winking_eye: A onepager where a hash can be submitted that returns a simple date and time would be best imho. And if someone wants details of the proof, they could click to see the whole blockchain shebang.

In Blockusign its actually simpler than that…just click the document and the photo of the signer with the green verified mark. But its meant to only be access by the signers of the doc.

It would be possible to verify any hash and lookup its timestamp using the blockusign subdomain registrar. Since the hashes and timestamps are already publicly available all i would need to do is index them and create a simple input lookup field for the hash.

@Dr.Bob Is this a useful feature? If so, I can add it to the backlog.

Also, Currently Blockusign does not show the timestamp in the app but i added it to the back log! https://github.com/ntheile/blockusign/issues/92

Could certainly be a useful feature, but maybe I’m looking for a most custom option. Will send you a PM or email to check out the options. Thanks so far!

1 Like