Show HN: CryptoProof – post proofs to the Ethereum blockchain for free
cryptoproof.org
cryptoproof.org
* Today is 10 year anniversary to the original bitcoin.pdf release. This pdf is the first document proof I posted, included in the first release: https://cryptoproof.org/release/2018-10-30-09
* I’ve recently left a startup and will try to build a bunch of smaller ideas rather quickly and see if any of them resonate. This one took about 10 days to build, and it’s my first “static Vue.js frontend + a separate backend” project.
* This is not a very advanced project. It simply collects posted hashes, hashes them together to create a “Release”, and posts that one combined hash to the Ethereum blockchain. I have some useful ideas for the future, but until then it’s just a free and (hopefully) a user-friendly way to post timestamped proofs.
* Having a separate API backend means I can offer a developer API quite easily. For now it doesn’t require any authentication, and that probably means it might get DDoSed quickly. Please don’t abuse it. I am interested in building a useful service, so if you have any ideas, let me know!
If you have any feedback, please let me know!
I try to provide full instructions how to verify everything without CryptoProof site at all, just tracing the transaction.
The only way to verify is to re-upload the .ots file and get the yes or no response.
Actually tracking the chain of proof is very difficult. Compare:
https://opentimestamps.org/info/?004f70656e54696d657374616d7...
vs
Perhaps the easiest way to get started is with this npm package: https://github.com/ameensol/merkle-tree-solidity
If you want to learn more about the theory behind merkle trees and its variants, let me know.
Your profile does not contain any contact information. Is there a channel you prefer to be contacted via if I have some further ideas or questions?
https://github.com/mimblewimble/grin/blob/master/doc/mmr.md
These are append-only trees with height only logarithmic in number of appends.
A comment (relevant to this site but also a more general ramble towards the direction of "why don't sites which use production-important JS try this more often"): given that the default non-API use case involves users running client-side JS, I wonder if you've considered pinning your "must send only the hash to the server" script code via CSP / script-src: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Co...
(When JS scripts are "stable" enough, compute their hashes and include those hashes in the source via script-src (a sort of "certificate pinning" thing). I know it's not supported everywhere yet etc etc, I haven't paid close attention re: this but maybe that's the reason as to its limited adoption thus far?..)
Anyway, very smooth and I love the "can prove if service is gone" and "no stupid ICO" parts, obviously.
The entire frontend is a static Vue.js thing built with Vue CLI that uses Webpack behind the scenes. It seems I should be able to automatically add CSP via a webpack plugin. Noted.
“Any message, regardless of its original size, only generates a 32 byte content hash and costs about $0.03 to submit to the blockchain.”
Also
“CrypoProof is free to use because instead of sending each content hash as a separate transaction, CryptoProof combines all the hashes posted during the same hour into a Release. The release simply contains all the content hashes posted that hour.”
Also HN, are there any other existing services for proofs?
For text messages, I could also generate a special link. Good idea!
Edit: to follow up on your other question, I found a bunch of other services like that. Most of them are paid per proof, though.
https://opentimestamps.org (Free)
Didn't know that my Greek was so much better than my English ;-)
Enjoy Devcon.. Also let me know what I can do about those small ideas that you want to implement.Have a couple myself!
Also, I'm not sure what the OSS community would gain from this being open sourced. The "algorithm" is just "hash a bunch of hashes". The rest is just a neat frontend and a really simple backend.