19

I'm looking for the name of a concept that works as follows:

  1. I post a hash of a file publically e.g. on Twitter
  2. Whenever needed, I provide the file with the contents that make up the given hash

The purpose is maybe to proof ownership or otherwise proof that something was known to me in the past before it became public.

Knowing the name will enable me reading more about it.

Thomas Weller
  • 3,392
  • 3
  • 24
  • 40
  • That concept looks like a simple verification, the only new step that I see is that you are using twitter as proof of the content of the file via hash if I understand correctly. Basically you rely on twitter that nobody can change the message that contains the hash that you publish on twitter, and you trust security measures of twitter on the basis that nobody can modify that message. – camp0 Aug 18 '22 at 13:00
  • @camp0: that's one thing why I want to read more about it. Potentially one would better post the hash on 2 platforms of different vendor to make it harder for a hash to be compromised or deleted. – Thomas Weller Aug 18 '22 at 13:39
  • Related: https://security.stackexchange.com/questions/220247/how-to-prove-you-created-ip-using-a-notary – mti2935 Aug 18 '22 at 15:16
  • If you want to prove that you had the file in the past, you don't just need to worry about someone else compromising the hash you published, you need to make sure you can't edit the publication later either (at least not invisibly). Why would anyone trust your "proof" that you had this file earlier if you could potentially have updated the hash? I wouldn't necessarily trust Twitter itself for this purpose, but maybe the fact that other independent parties might have made copies of your original tweet and could spot if it was altered. – Ben Aug 21 '22 at 02:44

5 Answers5

34

To me this sounds like a commitment scheme:

A commitment scheme is a cryptographic primitive that allows one to commit to a chosen value (or chosen statement) while keeping it hidden to others, with the ability to reveal the committed value later

...

Interactions in a commitment scheme take place in two phases:

  1. the commit phase during which a value is chosen and committed to
  2. the reveal phase during which the value is revealed by the sender, then the receiver verifies its authenticity

You can see this term being used by several of the answers to this question, for example.

Radvylf Programs
  • 608
  • 5
  • 12
20

This makes me think about time-stamping service (see RFC3161).

A time-stamping service supports assertions of proof that a datum existed before a particular time.

Shireheart
  • 395
  • 2
  • 9
12

This idiom is called dropping a hash by Patrick McKenzie, who uses the technique frequently.

Jacob Krall
  • 221
  • 1
  • 4
1

another option thats similar to the situation you describe could be the idea of a "zero knowledge proof". These are essentially ways to prove to someone else that you know something without revealing the contents of what you know. in your example you eventually do reveal the contents so im no

DeveloperACE
  • 170
  • 9
0

This sounds like it could be a “proof of existence” method. Since data inside of a blockchain is verifiable using the the uniqueness characteristics of hash functions, over time, many users of the Bitcoin Blockchain have embedded all sorts of messages and content directly inside the blockchain, often times in order to prove the existence of something in a decentralized and censorship-proof way.

Dean
  • 1
  • 1