
Show HN: CryptoProof – post proofs to the Ethereum blockchain for free - flixic
https://cryptoproof.org
======
flixic
Hi HN. Quick comments about this project:

* 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](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!

~~~
decentralised
Have you considered using merkle proofs? This way the data you will submit on-
chain will be relatively small and stable and you can provide the proofs
directly on the front-end / client side.

~~~
flixic
Merkle proofs sound like a more appropriate tool for the job, but I don't know
enough about it. Do you have any tips what to read about for this?

~~~
decentralised
Sorry for the delay but I'm at Devcon :-)

Perhaps the easiest way to get started is with this npm package:
[https://github.com/ameensol/merkle-tree-
solidity](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.

~~~
flixic
Please send my regards to Mr Buterin.

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?

~~~
decentralised
telegram: @decentralised

------
wfn
What a nice useful easy-to-use service, thanks for this, Jonai :)

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...](https://developer.mozilla.org/en-
US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src)

(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.

~~~
flixic
Thanks for the comment, Kostai!

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.

------
baotrungtn
You need gas to post your "Release" to Ethereum blockchain and gas costs
money. How is it possible to be free?

~~~
flixic
It costs about 0.8 ETH per year to run, and I’ve personally funded it with 1
ETH. I do appreciate donations:
[https://cryptoproof.org/support](https://cryptoproof.org/support)

------
pentaxy
Quick glance: there doesn't appear to be a way to link to specific messages
for verification - I understand it will be difficult for large files, etc. but
you can probably squeeze a base64-encoded value in the URL #hash for short
messages.

Also HN, are there any other existing services for proofs?

~~~
dangero
Chainpoint.org

~~~
flixic
Oh, this is interesting. Somehow I haven't found it in my research.

------
arendtio
> Geeky summary: we hash content client-side, collect all the hashes posted in
> an hour, hash them together and post their combined hash as input in the
> transaction on the Ethereum blockchain, establishing the chain of proof.

Didn't know that my Greek was so much better than my English ;-)

------
nnn1234
Very nice.. excellent job on making the copy easy to understand. Would love to
link to this project in my ongoing collection of cool blockchain stuff.

Enjoy Devcon.. Also let me know what I can do about those small ideas that you
want to implement.Have a couple myself!

------
davidcollantes
Are you planning on open sourcing this? Thanks!

~~~
flixic
Maybe, but unlikely. I have some future ideas that might become a premium
service.

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.

------
21stio
dope

