Is live streaming the only true method? Or am I missing something?
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
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.
An article showing one of the classified ads: https://www.vice.com/en/article/j5nzx4/what-was-the-first-bl...
On the other hand if you're trying to show that you did something (not just authored a message) at a given time, it's a bit harder, because you can always notarize the video long after it has been recorded. The best way to deal with this one (in the absence of trusted parties that might attend in-person) might be to do it in a public place e.g. in the library while a specific event is happening, on the street while some specific work is being done, in front of a newspaper stand in a shop etc. However I can see any of those faked using video editing.
This cryptographically proves that the document was created/published within those two time bounds.
This of course doesn't help in all cases, i.e. you could edit an old document to make it look newer, but I'm not aware of any way to properly solve that particular problem without a trusted third-party.
Several public certification authorities offer these services, described in RFC 3161, at no charge, because they’re used by code signing schemes, to prove that a digital signature on an object file was made during the validity period of the signer’s identity certificate. Here’s Microsoft’s explanation:
https://docs.microsoft.com/en-us/windows/win32/seccrypto/tim...
You don’t have to use an identity certificate, however; OpenSSL, for example, can work work with timestamps directly:
https://www.openssl.org/docs/manmaster/man1/tsget.html
https://www.openssl.org/docs/manmaster/man1/openssl-ts.html
Some examples of time-stamping servers:
https://knowledge.digicert.com/generalinformation/INFO4231.h...
https://www.entrust.com/knowledgebase/ssl/time-stamp-url
https://sectigo.com/resource-library/time-stamping-server
Whether such a timestamp would be acceptable proof, on its own or accompanied by an explanation from an independent expert, would depend on the audience and the situation, of course.
The goal is to prove that you did something in the past -- for example, that you proved a theorem, or that you predicted that COVID would become an issue way back in 2018.
Interestingly, patio11 solved this for COVID: He published a hash of his article, calling out COVID in Japan, to Twitter, which has no edit button. Then a month or so later, he published the article itself, proving that he did in fact write that article a month prior.
It's an old solution, not his. But that's the general idea here.
In many countries you can have a statement you wrote signed, dated and stamped by the state authorities that verifies not the truth of the content, but that _you_ wrote it (and the specific time). You need to fill a form, take it to a state office, and present your ID to them for them to stamp and approve it.
In the US I find that this is called a "statutory declaration":
A statutory declaration is a document that formalizes matters to be made known publicly. It is a solemn statement made by plaintiff or witnesses instead of the oath, but equally binding.
Statutory declaration is a legal document based on statute law as to their format and content requirements. Statutory declarations are of the same force and effect as if sworn under oath or affirmation.
Here are two low-tech solutions almost anyone can do:
1. Record yourself standing under a well-known landmark, which has a digital or analog display of time and date. Movie theaters have displays showing time and date. Malls have them too.
2. Record yourself doing a Google search for "time now" and record the search result showing the time.
It builds a Merkle tree of hashed documents, timestamps it, and puts it on the blockchain.
Assuming you don't want to involve any third party, things get difficult. To be honest I think there is always a way to make a message look older.
The only solution I can see would be to use an impartial third-party with legal weight to attest the current time to be as declared on video and on paper.
Another idea would be to make and film a transaction on a public system (Bitcoin blockchain?) with a proof of the transaction and its timestamp?
Buy or request a SSL certificate for that CN. it’ll be from a notarized source, with a date on it, proving you knew that info at least as early as that, and recorded in the certificate transparency streams.
Also encode today’s lottery numbers to prove you knew the info after that date.
Specifically, you may put the hash of your message into a bitcoin transaction, and submit this transaction. If you later want to prove its age, just point to the bitcoin block containing your transaction. The guy verifying it is sure that you have got this message before the block is mined, because otherwise you would not have the hash of the message at that time and successfully embed it into a block.
That could solve the "No older than this" part, by imprinting a sufficiently long (unique) sequence from a particular time on your asset. Although I suppose it would be possible for whoever keeps the recorded "event-log" to just alter it.
For the "No younger than this" part, it seems you need to do the reverse, imprint the universe with your signature, which can then be verified by anyone who looks.
I guess blockchain can work as "universe" to some extent, but a more natural/absolute solution would be neat.
Honestly, just emit the message in the Bitcoin blockchain and it will be there for perpetuity with a timestamp that is fully verifiable.
When renting a car from a sketchy place, I take photos and send them either to myself or to the owner. In cases of liability, a public medium would be preferable so you can just share a link to let anyone validate it.
Are there other ways of conceptualizing this problem?