5 ms·
The easy thing to do is prove a message existed prior to some point in time. That's a timestamp, you can do that easily for free with my OpenTimestamps project,
by petertodd 6y ago
The easy thing to do is prove a message existed prior to some point in time. That's a timestamp, you can do that easily for free with my OpenTimestamps project, which uses Bitcoin for the timestamp proof: https://opentimestamps.org/ https://opentimestamps.org/
The way it works is pretty simple: your message is hashed with a series of cryptographically secure hash/append/prepend operations, leading to a Bitcoin block. Since they are one way hashes, your message must have existed prior to that Bitcoin block.
The hard part is actually proving a message existed after some point in time. To do that, you need a random beacon: a large number (also known as a nonce) that we know was created at some point in time, and prior to that point in time, was impossible to predict. Newspaper headlines are a weak form of random beacon, as it's hard to predict the news in advance. Bitcoin block hashes are even better, as the proof-of-work ensures that even trying to force a single bit of the block hash is extremely expensive. I also run a project to inject other random beacons into the Bitcoin blockchain, such as the NIST Random Beacon: https://github.com/opentimestamps/nist-inject https://github.com/opentimestamps/nist-inject
But in the age of deep fakes, what does any of this actually prove? See, while a timestamp proof mathematically depends on your message, with a random beacon it's the opposite: your message needs to depend on the random beacon. For human meaningful messages that's not easy to achieve. A photo can be photoshopped, a video deepfaked, etc.
The best you can do in general is try to make the random beacon time, and the timestamp, be as close together as possible to make it as difficult as possible to do a photoshop, deepfake, etc. But deepfakes are good enough these days that IMO that's dubious security.
Probably the best approach here is to actually think about what exactly you are trying to achieve - are you kidnapping someone? proving you've recovered from the plague? launching a cryptocurrency? There isn't a one-size-fits-all solution to this problem.
- marketingPro 6y agoHoly crap I've been saying this about Bitcoin (along with it's voting and currency mechanisms) are useful. But I've been saying that it could be used for races or world records or predictions. Neat to see someone actually wants it.
- qsort 6y ago> But in the age of deep fakes, what does any of this actually prove? [...] a video deepfaked, etc. Can't you combine this with a basic public-key crypto scheme if you're worried about fakes? You could extend the same scheme to multiple people if needed; obviously you can't prove a certain picture definitely wasn't faked, but in most cases a semantics like "X, Y, Z agree this is real" is sufficient.
- CGamesPlay 6y agoThe concern is first-party fakes, so I don't think public-key crypto helps anything. For example, in the "launching a cryptocurrency" case, you want everyone to believe you just launched the cryptocurrency, so that it's not possible for you to have done a bunch of advance work on hashing to create an unfair advantage for yourself.
- qsort 6y agoOf course my suggestion does nothing to solve the 'first party fake' problem, but that's kind of an unsolvable problem when taken in full generality, because it essentially amounts to 'how do you prove X is not lying". You don't; this is where reputation/trust comes into the equation.
- systoll 6y agoThe OP's problem of proving when a message is encoded is a tractable subset of 'prove X is not lying'. If you're not concerned about the actual author of a message faking its timestamp, you can just do public-key encryption, and write the date in the message.
- qsort 6y agoIf you combine public key crypto with parent's suggestion, you get a claim of the kind: "I can prove the timestamp is correct, and you'll have to trust me that the content is what I claim it to be", which is stronger than just doing public-key crypto. It's not a solution of the full problem, but it's something that should cover most common use cases, unless you have pretty weird requirements.
- lucb1e 6y ago> The hard part is actually proving a message existed after some point in time. It's interesting that we think about this exactly opposite! It has been possible since a long time (relative to the existence of the internet) to prove something existed after some point in time by cryptographically tying a news headline to your message. That's what Satoshi used if I'm not mistaken[1], or at least I remember this being used before blockchain. If you want to do it the other way around, you needed a trusted third party up until Bitcoin came around and there was a method that did not rely on a single third party. One issue I see with blockchains is that they require a running and ongoing service to prevent backdating. A witness also works, but is just moving the problem (it can be a solution, but it's not a general solution that works in every situation). To me it still seems that the easy way around is the one that is solvable with an ordinary newspaper. Edit: I see in your GitHub bio (sorry for the stalking, I was curious about your age since you seem to consider blockchain to be the more generally available than newspapers, whereas to (perhaps older) me, newspapers are the generally available method and blockchain novel) that you describe yourself as a "Applied Cryptography Consultant (what the cool kids call 'blockchain tech')". I suppose that explains why we see this as opposite. [1] Also looked up the newspaper that Satoshi used. Wikipedia says: `Embedded in the coinbase transaction of [the genesis] block was the text: "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"` https://en.wikipedia.org/wiki/Satoshi_Nakamoto https://en.wikipedia.org/wiki/Satoshi_Nakamoto
- petertodd 6y agoYes, I'm well aware of what Satoshi used. The thing is, the famous "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" quote that's in the genesis block only proves that the genesis block hash was created after Jan 3rd, 2009. The quote does not prove that the rest of the genesis block was created after that date. That distinction is why random beacons are tricky to use. Sometimes that distinction doesn't matter, sometimes it does. It depends on what exactly you are trying to accomplish. With the Bitcoin genesis block this isn't a problem, as the purpose of the genesis block quote is to show that blocks after the genesis block weren't generated in advance. But in other use-cases - eg the "proof of life via newspaper" example - deep fakes make the security of a random beacon much more dubious. > I was curious about your age since you seem to consider blockchain to be the more generally available than newspapers, whereas to (perhaps older) me, newspapers are the generally available method and blockchain novel I'm wasn't trying to make that claim one way or another. Regardless of what exact type of random beacon you use, the problem I describe above still exists. Now, if you actually do have one of the rare use-cases where random beacons work, these days using Bitcoin as your random beacon is certainly better suited to automation. But whether or not that's relevant depends on what exactly you're trying to achieve.
- deleted 6y ago[deleted]