Hacker News new | ask | show | jobs
by randaouser 2789 days ago
although sensitive data should never be written to a public ledger, that does not automatically disregard the need for a blockchain technology. Take a supply chain scenario where multiple control points would input data, however, none of the contributors trust any single touchpoint to maintain the datastore.

The senstivity issue can be overcome by submitting a cryptographic hash of the information (say sha256) and storing the encrypted data on ipfs. In future audits, one can reveal the unencrypted data and ensure the hashes match.

2 comments

Not quite as simple as a cryptographic hash alone - remember that if the set of possible inputs can be easily enumerated, then it's trivial to find the input data by brute force.

There are ways to work around this, for example objecthash[0] describes a small modification that prepends the input data with 32 bytes of random data before hashing in order to prevent this.

[0] https://github.com/benlaurie/objecthash#redactability

yes precisely, you must include a random value that remains secret until the appropriate reveal time.
One problem of this solution is you can not verify the write in the first place, as the encrypted data is no longer publicly verifiable.
you can share the encrypted data and allow anyone to perform the block hash of the file. As the data is encrypted it should be publicly accessible. EDIT

yes the data itself becomes difficult to verify. Then you must move towards are for more complicated ZKSnark or Homomorphic scheme