Live data from Hacker News

Service lets you "certify" a document using the Bitcoin blockchain

proofofexistence.com

11–20 of 86 posts

Re: Service lets you "certify" a document using the Bitcoin blockchain

#11
The idea is cool but it might be too early for people to use the blockchain like this as right now BitCoin can support 7 transactions per second.

Once that hard limit is lifted, and things like this can scale and support demand, applications like this could be very interesting.

One thing though, it says the BTC involved in the transaction is unspendable, isn't that a bad thing? I imagine an idea like this that didn't render any amount of BTC unspendable would be ideal.

https://en.bitcoin.it/wiki/Scalability#Current_bottlenecks

Re: Service lets you "certify" a document using the Bitcoin blockchain

#12

Can anyone eli5 exactly what this accomplishes. What sort of scenario would this work for. I'm assuming some sort of legal purposes.

    I wrote a haiku
    to run through a hash function
    and send to strangers.
Every time this document is run through a particular function, it returns:

> d15396b27a2b176e6315c9fbbec09e2c2e042e595755902e5ff5eccec1ca634b

If I changed a single character of the document, the function would return an entirely different string.

This means it's very, very difficult to come up with another document that returns the same string when run through this same function.

If I sent my string to a bunch of strangers, they wouldn't know what my haiku is. To find it out, they would have to run through every possible document ever written (and that ever could be written) to hope to return the string.

But if someone decided to say they wrote my haiku, I could prove I wrote it first by showing that the document returns the unique string that I sent off to strangers.

What this service provides is a way of making it easy for strangers to store and date these strings for me, because they're doing it anyway when they're using Bitcoins.

Re: Service lets you "certify" a document using the Bitcoin blockchain

#14

Can anyone eli5 exactly what this accomplishes. What sort of scenario would this work for. I'm assuming some sort of legal purposes.

Basically to prove that something existed before a specific date. For instance, grab a random piece of paper on your desk with writings and then try and prove to me that the contents of that paper existed before last year, you can't really do it (easily). Before this, the only (easy) way to achieve this would be to send this document to a third party to store into a database that it did infact exist when sent to the database, but how can you prove that database wasn't manipulated? Another common way to prove something existed before a certain time would be to make a copy and send the copy through the mail to yourself. One you have received this copy from the mail, leave it unopened and now you have proof (through the mail service's date on the stamp) but this isn't too easy, some what of a hassle, and I think you could debate that you could fake it. (Faking the stamp, finding a way to get an opened document through the mail and than replacing the content later, etc.)

What this does is it stores a document's signature into the actual "history" of bitcoins which is public. ANYONE and EVERYONE can access this history of all transactions and by them storing the actual signature of the document into this public "log" you are now able to say that this document DID exist before the specific bitcoin transaction. This removes the hassle of all current methods of proving for existence and now no longer rely on a single third party (which could manipulate it themselves).

Re: Service lets you "certify" a document using the Bitcoin blockchain

#15
This would help to certify that a contract was signed at a particular time by both sides, and then included in the blockchain.

It would also help certify that a particular person created a document, once again because it was signed by their personal key and included in the blockchain.

It basically functions as a certain timestamp.

Re: Service lets you "certify" a document using the Bitcoin blockchain

#16

Can anyone eli5 exactly what this accomplishes. What sort of scenario would this work for. I'm assuming some sort of legal purposes.

Basically to prove that something existed before a specific date. For instance, grab a random piece of paper on your desk with writings and then try and prove to me that the contents of that paper existed before last year, you can't really do it (easily). Before this, the only (easy) way to achieve this would be to send this document to a third party to store into a database that it did infact exist when sent to the…

Your first paragraph isn't quite right. There have been cryptographic proof-of-timestamp systems for a long time, and they're described in standard crypto texts like Schneier's.

They work basically the same way, except that you have to set up your own network. When you want to timestamp something, you (just like this service) hash it together with the previous entry in the system, sign it, and publish that. The proof of the timestamp lies in how you had to look at the previous entry to make it, and the next, at yours. Compromising it would require a large number of participants to cooperate to re-write the history (and the participants' own records).

What this service does is avoid the need to integrate with an existing service or pay any of the record-keeping costs yourself, and it does so by piggy-backing off of bitcoin's distributed timestamp system, thereby making your timestamps at least as valid as bitcoin's, and increasing (significantly) the number of conspirators required to falsify it.

tl;dr: This is just like existing crypto timestamp systems except for the more extreme decentralization and using the bitcoin network's resources.

Re: Service lets you "certify" a document using the Bitcoin blockchain

#17
This idea is generally called "trusted timestamping": http://en.wikipedia.org/wiki/Trusted_timestamping

One example would be to take a photo of a rental car showing damage at the time you rented it and be able to prove it was taken at that time. Then the rental company cannot later claim you caused the damage.

This is a pretty clever use of the blockchain as a publicly-visible and authenticated timestamp. This way, the site's owners do not have to establish themselves as a legal authority on timekeeping in order for this to be a trusted service.

Re: Service lets you "certify" a document using the Bitcoin blockchain

#19

Can anyone eli5 exactly what this accomplishes. What sort of scenario would this work for. I'm assuming some sort of legal purposes.

It's a way to use the bitcoin blockchain as a non-centralised way to record the fact that you were in possession of a particular file at a particular time, without exposing what that file is, or who you are.

The problem has been around for a long time, especially when dealing with semi-intangibles like Priority for scientific discoveries, or proof of first invention for patents[1]

One solution is to present proof to a trusted but private notary, who can copy or stamp or otherwise indicate that he has seen your documents and so they must have existed at least since the date indicated.

But counterfeiting, forgery, untrustworthy notaries, etc, all make this a less than ideal solution. So we add computers & crypto.

The document in question is condensed down to a single cryptographic hash, which (should[2]) to all intents and purposes be unique for a given document, despite being only a few tens of characters long, regardless of the size of the original input.

This hash then serves as proof[3] that you have the source document, without anyone being able to turn it back into the original document. This is a very one-way process.

Then, you need to find someone to vouch for your hash and indicate when they first saw it. You can do this with lawyers/notaries again as before[4], which partly solves the forgery problem, but not the trust one.

The solution proposed here is to store that hash in the bitcoin block-chain, which is a distributed log of all transactions on the bitcoin network, which has 3 nice properties:

1. It's append-only. Once your hash is encoded in there, it's staying there as long as bitcoin exists[5].

2. It's peer-to-peer/distributed. There's no single controlling organisation you need to trust for answers.

3. It's updated regularly enough that timestamps can be relatively fine-grained.

So you stuff it in there using this tool or whatever, and then X years hence when you need to prove you'd actually created that file in 2013, you should be able to prove that to most people's satisfaction.

This is a loose take on the matter and glosses over whole swathes of other complexities involved, but is probably close enough for [non]government work :)

[1] That is, who discovered/did something first. You may want to be able to claim you did in future, but without making it public at the time, because you might tip your rivals off to the idea before you've fully developed it. See: https://en.wikipedia.org/wiki/Scientific_priority

[2] Breaking (or "colliding") hashes is a whole subfield of cryptography research, and some pretty impressive things have been done there. It's why you probably shouldn't use MD5 for anything nowadays, for example. But again, we'll handwave "Done Properly = unique identifier".

[3] Well, in the same way that a password proves that you're the/a person who knows that password - if you did it right and never told anyone, it should be exclusively you. But if it leaks somehow, others could represent the hash as belonging to something they own. But if they only have the hash and not the original source document, there are relatively easy tests that could distinguish them. That's not very important here though.

[4] https://en.wikipedia.org/wiki/Trusted_timestamping

[5] well, mostly. But it's really hard, and the same capabilities let you defraud the rest of the bitcoin network with double-spending and whatnot, so unless your timestamp priority is super-important, you're probably ok.

Post reply on HN