It’s been a few weeks since I implemented the second level of PoE (Proof of Existence) that allowed a sender to sign hash values anonymously with the private key. It allows the sender to prove that he signed it because the public key is included on the blockchain along with the message, and any new message signed with the same private key can be verified with the original public key.
I had a clear vision about the following third level that I would like to explain, but first, some non-technical stuff.
You can now upload an image to include in your message. Since the maximum metadata size is 16KB, it’s impossible to include it on the blockchain. Instead, a URI of the image and some additional info such as a SHA3-256 hash value of the image file and its size in bytes are included. It allows a future verification of the original image. Ok… I’m going into technical details again. You can post images like on Instagram! Yay! It’s Twitter and IG on the blockchain! You can also add geographical coordinates. I don’t know how it will be used, though, probably revealing some secret military bases where aliens are being tested. The website looks lighter and fresher now. I made some UX improvements. Some elements were rearranged. You can drag-drop files into areas.
Now back to technical features that I love the most. With the third level of PoE I added an option to encrypt a file with a long password derived from the private key and a hash value of the original file. The whole encryption process happens in your browser. The encrypted file/s can be sent to the CardanoWall storage. Encrypted files are public. Each file is encrypted with a unique password. Anyone can download them, but only the person that owns the original private key or knows the password can decrypt it back. It allows you to save your file in a secure encrypted way to CardanoWall and then decrypt it back whenever you need it. Are you a book author, musician, artist, photographer, or even a business with many important documents? Now you can have Proof of Existence on the blockchain and have access to the encrypted files with a combination of blockchain data and online storage. You go to a message page on CardanoWall, select a file with your private key, and if its public key matches the one included and signatures are verified, you can decrypt and save files back to your computer.
Working with keys, encrypting and decrypting data takes place exclusively on your side, in your browser. The keys and the content of the original data are never transmitted to the server. That is the most critical part for me to achieve. It’s the only way! If someone hacks CardanoWall, there is nothing more than is already publicly available on the website.
I am working on a long video with a lot of technical explanation of how it works, how you can verify signatures, and decrypt files with an OpenSSL program on your computer without even opening CardanoWall in your browser.
I have a clear vision of the next forth level that I will start working on and I do a research on the fifth level that can solve even more real-life problems.
For those interested a video instruction about working in CardanoWall, I recorded a short video here: