Consider a decentralized timestamping service for example. That's useful if you want to anonymously disclose a critical bug, but want the ability to prove you had knowledge beforehand (and thereby proving you were the one who disclosed it).
Consider a decentralized timestamping service for example. That's useful if you want to anonymously disclose a critical bug, but want the ability to prove you had knowledge beforehand (and thereby proving you were the one who disclosed it).
They also have a significant issue in that they are non-exclusive. Imagine I timestamp the following messages.
for i in {1..999999}:
print "on the 21st of Feb 2022 the Bitcoin price will be exactly $i"
By revealing only a single proof of the possible million, I can prove once and for all that I have complete foresight, and you can't ever prove that I didn't make that prediction. Lots of these things have not entirely obvious issues like that. posting a million hashes on Twitter might raise some eyebrows, posting a million lines on IRC will get me K-lined. I have actually timestamped all of those messages though.You've found one of the most catastrophic bugs in Bitcoin ever, and you know that the developers are extremely skeptical of anything. The community is also divided and full of toxic people who will try to discredit anything you do.
Now, will you be satisfied with just posting a hash on IRC or on the mailing list? Are you sure people won't distrust you from posting on "the wrong IRC channel"?
I would assume you'll want as solid a proof as you can construct. Therefore you'll timestamp your message on the blockchain in addition to posting on social media somewhere.
And exactly this is what awemany did when he discovered CVE-2018–17144, one of the most catastrophic bugs in Bitcoin ever:
If these things don't hold then you still need to find a trusted way to publish your hash or encrypted message so you can get your timestamp.
For that you need to publish your encrypted message that's somehow connected with a timestamp. If you can you might be able to get it included in a journal or a newspaper (which is what Robert Hook did in 1660), or use a trusted third party that verifies your timestamp.
Embedding a hash of your message in the blockchain is another way, which is arguably easier, more secure and trustless.
Blockchains are the systematization and democratization of that strategy. And those points are what technology is all about.
__
Sure, to write our next shared article we can just have our Word files and call-up each other and exchange paragraphs over WhatsApp. Yet for some reason some people nerd out on unintuitive over-engineered CRDTs. That can't be useful to anyone, can it?
Perhaps in theory, but in practice it's not really true, especially with regard to the nature of information that is worthwhile to censor; the kind of situation where the powers-that-be would hack twitter to manipulate the timestamp of a hash string are very far-fetched.
You also introduce the risk of your message getting deleted, for whatever reason.
And these ways may also break your anonymity or leak your exploit if you're not careful.
A blockchain backed timestamp is simply better.
Suppose you post your finding generally, then I see it, and post it to the blockchain timestamped as my own. Then you say, “hey, I was first”. The blockchain is bad here because it’s incomplete.
If we mandate that only the blockchain can determine truth, then, if I really want to own that claim, I can hit you with a wrench until I have the private key, and now I am the owner of truth.
Trustless societies suck. We should be trying to increase social trust.
Here's a simple walkthrough of how to do it in the Bitcoin Cash blockchain for instance: