ProveMe

This year I attended my first hackathon, UT’s very own: HackTX. It was an extremely exciting event, filled with smart people, cool companies, even cooler projects, and free swag!

I entered the competition with my friend, Will Yager, who specializes in embedded systems and cryptography. We decided to create a web service to cryptrographically timestamp data. My task was to create the web front-end and the back-end server to handle requests, files, and payments. Will had to create the bitcoin server which provides an API to timestamp and verify files and data.

We used $300 that RackSpace gave us in credit to rent a high-speed server where we ran a LAMP stack and a python bitcoin wallet and web server.

We used Apache and PHP to server the webpages as well as handle the file or data uploads. The data is then hashed using SHA256 and passed on (as a hash) to the python which creates a bitcoin transaction containing the hash in the message. Once the transaction committed to the blockchain (verified by the bitcoin network), it becomes permanent, and can therefore be securely used to prove existence.

Although ProveMe is not necessary to prove the existence of the data, ProveMe provides a way to upload data and check if it has been timestamped on the blockchain, and if it has, to see when.

Although we did not win, we still had an amazing time hacking and meeting awesome people!

PS: Our servers are no longer online, you can check out the project on HackerLeague, and the source code for the bitcoin server on GitHub

PPS: If you are actually interested in this service, a similar service (which came out after ProveMe) is Proof of Existence