Proof.ink - Proven immutable data - File hashes stored on the Steem blockchain

in #utopian-io6 years ago (edited)


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.

Pls like on Product Hunt for visibility

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!

Sort:  

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!

proof.ink.JPGfingerprintmatch.JPG

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.



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!

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?

You are one of the people that gives me hope that there is no way we can fail ~ @vladivostok

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

Next time, if Steem makes another move (up), try to diversify a bit more - It might give you a greater tolerance for risk, and you wouldn't be as worried as you are now.

I kind of sense that you may have too much of your wealth tied up in high risk investments like Steem.

Disclaimer: This is not financial or professional advice, it's just my personal ideas and philosophy in terms of investing.

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 👍

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!