Since Val could edit his post, but not this comment, here’s me echoing his MD5 hash so that it is more verifiable in the future: 24e07349c9134ff91d77a6a38cf23183
I’m not an expert, but I think MD5 isn’t the best for this purpose due to collision attacks. If it’s a very small plain-english ASCII message, then collision attacks are probably not a worry (I think?), but it’s probably better to use something like SHA-2 or SHA-3 anyways.
A hash is a way of taking a bunch of data and returning a unique (or mostly-unique) signature. The nice thing is that if you change the data by just a little bit, the hash is then completely different.
The important feature is that it’s easy to compute the hash given the data but very difficult to recover the data given the hash, even though hashes are mostly unique. And the point, in this context:
You can use hashes to register advance predictions without revealing them. If you want to be able to publicly claim that a week ago you predicted that it would rain today, but without having revealed that fact until now, you can do it by publicly posting a hash of the text of such a prediction (e.g. “I, [your name], predicted on [last week’s date] that it will rain on [today’s date]”) a week ago, then today revealing the text. Anyone can now check that the text hashes to the hash you posted a week ago.
Since Val could edit his post, but not this comment, here’s me echoing his MD5 hash so that it is more verifiable in the future: 24e07349c9134ff91d77a6a38cf23183
I’m not an expert, but I think MD5 isn’t the best for this purpose due to collision attacks. If it’s a very small plain-english ASCII message, then collision attacks are probably not a worry (I think?), but it’s probably better to use something like SHA-2 or SHA-3 anyways.
That might well be. I haven’t a clue which hash functions do what relative to one another. But yeah, the thing it encodes is English ASCII text.
Could someone eli5 what this hash thing does?
A hash is a way of taking a bunch of data and returning a unique (or mostly-unique) signature. The nice thing is that if you change the data by just a little bit, the hash is then completely different.
The important feature is that it’s easy to compute the hash given the data but very difficult to recover the data given the hash, even though hashes are mostly unique. And the point, in this context:
You can use hashes to register advance predictions without revealing them. If you want to be able to publicly claim that a week ago you predicted that it would rain today, but without having revealed that fact until now, you can do it by publicly posting a hash of the text of such a prediction (e.g. “I, [your name], predicted on [last week’s date] that it will rain on [today’s date]”) a week ago, then today revealing the text. Anyone can now check that the text hashes to the hash you posted a week ago.