Last Thursday I was browsing the cryptotwitter and then I found a public posted request which got my creative motor started to make Proof.ink - a service for storing file hashes on the Steem chain.
Here is how I got to it: I saw a tweet by fellow Steem User @fav: "Is there a service on #eos or #BitShares that lets me upload a PDF hash as proof of signature?". Now afaik there wasn't such a thing. Since starting with Steem I do know my way around some some of the graphene chains but still Steem stands out for it's ease and availability of developer tools, sdk's and apis. So I proposed to @fav in that thread: "could it also be on Steem? (as that has unencrypted memos by default) - ie easier to retrieve data without need to decode memo.". And then I went on with researching the needs for such a service and over the weekend finetuned it, and launching it today - (also on Producthunt - if you have a twitter account feel free to like it over there for visibility - )
So what does Proof.ink do?
Proof.ink's service is pretty straightforward. If you have a document of which you want to know with 100% certainty that it's contents has not been changed, tampered with or altered in any form, use Proof.ink.Proof.ink's frontpage |
Proof.ink works by fingerprinting your file (no matter how big), without the need to upload it, inside your browser. The result of this calculation is a unique SHA256 hash / fingerprint of your file.
By enabling you to store the fingerprint publicly on the Steem blockchain, Proof.ink can guarantee the integrity of the fingerprint of the file as how it was created at a given time by a given user. This way others can use this service to validate the fingerprint on the blockchain and against the file they receive.
Client-side (no upload!) fingerprinting in javascript |
The Steem chain serves as a public accessible ledger with provable immutability at it's core, for a trustless public store of the derived file's fingerprint.
How does Proof.ink store your hash?
Well... actually... you need to do that yourself! You need to use your Steem account to send a public transfer to @proof.ink with a special json formatted memo containing the hash. You can send any amount, as low as 0.001 Steem/SBD but the default suggested amount is higher :)Checkout-screen including "what to store" & "how to post" |
When checking out you can broadcast your message using:
- Steem Keychain
- SteemConnect
- steem://-uri spec supporting apps such as Vessel (and SteemWallet soon)
- Manual
- QR Code
Once you go to the checkout phase, the Proof.ink starts monitoring for transactions related to your filehash and once the transaction is found, you get a JSON certificate file, which you can share along your original "fingerprinted" document, so others can always lookup using this JSON certificate and the file to check if it meets the integrity.
After discovering your hash on the blockchain, a proof.ink.txt certificate file is available for download |
I think proof.ink is a nice little web app focussing on 1 thing only, namely generating an offline file hash/fingerprint and optionally storing it on the Steem blockchain for proof of time.
You can use it for example in fav's usecase: "So I got a signed PDF, and all parties need to be able to verify the hash on chain via a tool to check whether it's still the original file". Thanks @fav for the inspiration!
Source of Proof.ink at Github: https://github.com/roelandp/proof.ink
https://Proof.ink
Ps. If you like what I am doing here, consider a witness vote for '@roelandp' - Thanks!
This is another fantastic innovation from you! I must say, It's so good to have amazing guys like you on the Steem blockchain blockchain. I appreciate your work and effort in creating stuff that makes Steem more habitable.
With this, there won't be any need to use external tools since it is reliable and easy to use. I just initiated a transaction, and it was super fast. I so much appreciate the idea. It's's a job well done!
Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.
To view those questions and the relevant answers related to your post, click here.
Need help? Chat with us on Discord.
[utopian-moderator]
Thank you for your review, @tykee! Keep up the good work!
Good job!
The validation could done without any proof.ink.*.txt certificate file, as the hash is already stored in the blockchain. Maybe a link could be generated in the proof process. This link could then point to site on which the hash sum of a file is calcualted and checked against the stored one.
ha good one, a deeplink like /validate?block=123&tx=1234kljlkjh . Like it.
Cool! It may be useful for @proof.ink to further timestamp the hash using https://opentimestamps.org, which is a free timestamping service that anchors to Bitcoin. It takes about a day for timestamps to complete (get encoded in a Bitcoin transaction). When this happens, @proof.ink could post the OTS stamp on the Steem blockchain. I expect timestamping via Bitcoin will be considered the most definitive form of timestamping going forward.
Perhaps you could also just timestamp the Steem Blockchain's block hash every day using OTS to provide additional auditability.
Very nice idea! I would suggest you use a custom_json tx for that though, that is exactly what custom_json is made for. And if you remember the tx_num of that tx you can look it up anytime.
but this way i can turn it into a service obligatory transacting some steem in 1 go :) - I liked the idea of creating something where you need (some) steem/sbd to pay for the usage. But you are right that it could use custom_json too.
That makes sense! In a way they pay with the resource credits but it is true that a real transfer is a different feel entirely.
I also like that you made a service that cost some Steem @roelandp. If anyone makes a free version, you could still stand out by having a better brand, and a more professional feel.
Good job @roelandp I plan on testing it soon :)
Hey, @roelandp!
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!
Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).
Want to chat? Join us on Discord https://discord.gg/h52nFrV.
Vote for Utopian Witness!
Wow. Good thing.
My blog's front end picture's fingerprint is now "burned in stone" :)
Resteemed.
Excellent job, Roeland!
The only suggestion is during the verification - having to select 2 files at once is a bit fiddly (on win you need to have them in the same folder I think). It would be more user-friendly I think if at verification time one could select the two files separately
Also, you could sell file storage payable in delegated SP - for instance: someone who wants to store a 500KB file could pay to have it stored with a delegation to @proof.ink of, let's say, 100SP (perhaps, precise economic calculation pending). Then @proof.ink would use that delegation to ... something that would get it some steem to pay to ... whoever hosts that 500KB file on their hard drive!
This post has been included in the latest edition of SoS Daily News - a digest of all you need to know about the State of Steem.
Editor of the The State of Steem SoS Daily News.
Promoter of The State of Steem SoS Weekly Forums.
Editor of the weekly listing of steem radio shows, podcasts & social broadcasts.
Founder of the A Dollar A Day charitable giving project.
this is great! I will admit that great work like this really helps to keep me going, sometimes i start to doubt this platform and get mad at myself for putting ALL of my fiat into this platform but i just keep going...you are one of the people that gives me hope that there is no way we can fail as new ideas are always coming up and it's like there is no end to what we can come up with to make this blockchain a success, i appreciate you and thank you for all your hard work. I am still amazed at the experience I had a steemfest and appreciate how you made this happen and and use the experience to elevate my mood when I start to think negatively. keep up the good work!
thanks Vlad for the kind words!
For sure, keep up the good work!
I am also inspired by @roelandp's work, but I want to suggest that you realize there are always risks, not just with Steem but with any company, project or goal.
I personally think Steem as a blockchain and cryptocurrency will succeed and eventually thrive, but I think it is somewhat delusional to believe there is no way that Steemit Inc. or Steem as a platform and blockchain can fail @vladivostok.
I realized the risks. I think I made it clear that I am not deslusion by saying that I get upset with myself for taking a big risk. Did I not?
One of your sentences stated otherwise, but I wish you all the best with your Steem investments. If Steem stays low for the next 6 to 9 months, I will probably be buying more.
Disclaimer: This is not financial or professional advice of any kind. It's only a sample of my ideas.
This is the point. @roelandp is one of those people that give me hope. Steem is a community driven crypto and yea it’s very new ... I never intended my short term investment to end up being long term and the fact is that it is now long term and changes my over all perspective of my Initial investment especially after being around to meet and undersrand exactly what I intested my money into. Crypto is not for the faint of heart but the block chain has so many smart people working and it’s enouraging.
Ah okay @vladivostok Yeah, his work and the other developments on the Steem blockchain are encouraging.
Besides the selling of Steem by Steemit Inc., the future looks bright!
I heard this morning that steemit inc is stopping the huge power downs to the exchanges, so there are many encouraging things happening. Believe me ... I still have many reasons to worry as I continue to try and stay focused on the positive. This is one reason why I keep roelandp on my Gina bot for when he posts something new. Helps keep me focused because he always shares great things with the community
Biggest risk is not taking any risk ... -:)
That was my thought at the time. We shall see in the future if I was correct
That's a risk, but I don't think that's the greatest risk of all (it's a nice cliche though).
The greatest risk is probably taking a horribly miscalculated risk, and throwing all your weight, money and wealth behind that miscalculated risk, and losing everything, including your ability to pay rent, bills, medical costs and basic things like food.
That would be a much greater loss than inflation, and it's one of the reasons why diversification is important.
Take a risk after a deep study & analysis prepare yourself mentally do not take a blindly...
AND diversify 👍
Well done @roelandp!
Product of the day, great stuff!
seems to end at place 3 which is great because afaik it goes to their big daily newsletter.
Really impressive, and excellent community support too!
Amazing! I'll go like it on Product Hunt as instructed. Nice one.
you constantly amaze me of the value you put into this blockchain. it's people like you that keep me here. just know that.
Nicely crafted, simple and easy to use. Well done @roelandp!
ty!
oh wow thats cool! Did you just share the private key with me? :)
An API .... hmmm so I wanted to make this "client-side" so the hashing works in the browser using the filereader api and a hashing script... I can only think of a "deeplink api" where you can hotlink a browser uploaded file or read a previously uploaded file.
Let's give it some thought.
I suggest you to add your application to steemapps.com and steemprojects.com you will get more customers .
Another awesome product from the geniuses of steem blockchain.
I will be excited to learn how to use it when fully developed.
Good job.
Posted using Partiko iOS
Hi @roelandp!
Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 8.489 which ranks you at #2 across all Steem accounts.
Your rank has not changed in the last three days.
In our last Algorithmic Curation Round, consisting of 196 contributions, your post is ranked at #1. Congratulations!
Evaluation of your UA score:
Feel free to join our @steem-ua Discord server
Always great to see new things and ideas here on the platform. 52nd upvote on Product Hunt was mine.
Well done roeland! I actually really like the design.
thx. design nowadays can be quite simple with all standardised tools out there :)
bootstrap for perfect css
getting some colors from steem.io including the h1's font (Raleway)
undraw.co for great SVG drawings.
logo made myself by composing a ink-splatter and the name :P
Kinda surprised this has only now been implemented. Seems a natural potential of crypto.
Well done.
Thanks!
That is really useful to a producer like me. If we are sharing files I want to make sure that it's nothing with bad intent. Great idea all around to have on the internet. I support this.
Yet another amazing product on the steem blockchain. Great work Roelandp, I'll sure give it a bump on Producthunt
It's so refreshing to see a good post hit Trending without relying on bidbots, but with the support of voters.
yes :) i like it too. i never use bidbots on my posts. should you have ever seen them on any of my posts rest assured i did not order them.
Congratulations @roelandp!
Your post was mentioned in the Steem Hit Parade in the following categories:
Feature Request:
Demand:
When you make a million dollars, don't forget me ;-)
He will have to store the files regardless. Whether they are using IPFS or not.
Posted using Partiko Android
IPFS is more "stylish", Hype creator and thus VC friendly ;-) Then, the obvious D-factor, encryption, earning FileCoin etc etc :-D
With IPFS yes. Also at this point in time I have felt its quite slow. May be once the Filecoin is launched, there will be more people hosting the peers and make the network faster. Keybase is right now much more faster for me. Also, with the message features, ability to send money to each other (XLM) and use of PGP that sounds like more popular and better solution now. But all this is assuming that there are real use cases. As you said, dropbox/onedrive/gdrive could be the sensible options right now. In the long term though I feel the storage will be moved away from S3 and such to solutions over IPFS (provided the benchmarks and claims holds true).
unless i offer storage. thats the whole thing with IPFS, you need to run a container and keep the file alive. then pin the item, so it stays there. I would be so happy if imgur started running an IPFS node :)
Very useful. I'm about to test it. Resteem.
Great work. @roelandp
I will be happy to learn how to use it when it is fully developed.
Good job.
it is done already
Very cool
thanks!
Greetings
Posted using Partiko Android
I think this is a great idea to store hashes as a backup to original blockchain provided by steem and thus it can have an alternate has store through proof.ink and users can be relaxed for their hases.
Posted using Supersteemian Android Application.
Like It.
ood job!
The validation could done without any proof.ink.*.txt certificate file, as the hash is already stored in the blockchain. Maybe a link could be generated in the proof process. This link could then point to site on which the hash sum of a file is calcualted and checked against the stored one
Congratulations friend good
nice solution,good job.
Vote me 😍😍😍😍😍
Posted using Partiko Android
Cool!
Another achievement for steem.
Nothing to say but, applause!
Excellent work, this kind of writing, is what inspires you to improve
Gud job @roelandp in future you will fly in the sky
I hope the data process remains the best and safest in storage
hopefully steem can go up in price
Posted using Partiko Android
I hope we always succeed
I thought the blockchain already verified hashes? Lost here
Proof.ink's service is pretty straightforward. If you have a document of which you want to know with 100% certainty that it's contents has not been changed, tampered with or altered in any form, use Proof.ink.
Proof.ink works by fingerprinting your file (no matter how big), without the need to upload it, inside your browser. The result of this calculation is a unique SHA256 hash / fingerprint of your file.
By enabling you to store the fingerprint publicly on the Steem blockchain, Proof.ink can guarantee the integrity of the fingerprint of the file as how it was created at a given time by a given user. This way others can use this service to validate the fingerprint on the blockchain and against the file they receive.
The Steem chain serves as a public accessible ledger with provable immutability at it's core, for a trustless public store of the derived file's fingerprint.
Done upvoting👏👍👍
Excellent job, Roeland!
The only suggestion is during the verification - having to select 2 files at once is a bit fiddly (on win you need to have them in the same folder I think). It would be more user-friendly I think if at verification time one could select the two files separately
amazing and good idea. good job
I have read your article, it is very informative and helpful for me.I admire the valuable information you offer in your articles. Thanks for posting it @roelandp
Very cool!!
Posted using Partiko Android
Hello from USA, I am a Block chain dev/Ethereum Solidity FYI. I have people here in USA in my city small business, many plus more are looking for a hash(key) data storage. They want privacy security. I see your system, I would like to talk to you about it and possibly signing up making an interface for them to log in upload their info and retrieve when they need. Does this sound like something you would like to talk about? Please email me at [email protected] Thank you
Very good there! more steem blockchain insight. keep it up!!