Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why would you leverage signatures? An hash would be enough for showing knowledge.

Maybe you meant you needed to show proof that only you (not somebody else) knows some data?

Even for such scenario I would not be sure it’s correct. Many signature implementations hash the data, then sign the hash; if I happen to know the hash but not the data, I could just sign it without owning it.

(I should verify a few things, this was written off the top of my head).



The key is the "any arbitrary program".

With zk-snarks, I can, theoretically, run some complex analysis of some data -- imagine something that requires millions of compute hours -- and provide a receiver (a) the answer, and (b) a compact hash-like proof that (a) is correct *without* receiver having to re-run the calculation to trust the answer.


> Why would you leverage signatures?

Because in order to verify that a hash over some secret data is correct you need access to the secret data, which makes it pointless.

Only using a signature can the signer prove that they have knowledge of a secret number (their private key) by providing information that does not reveal the secret (public key, message hash, signature).


> Because in order to verify that a hash over some secret data is correct you need access to the secret data, which makes it pointless.

No. You could have access to the hash.

For the private/public key signing, of course; the signature guarantees that you have access to the private key. But if the ‘private secret data’ is not the private key?


> But if the ‘private secret data’ is not the private key?

It is in the example you were replying to. That’s my point.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: