An application to effectively use "note" field

Hello Everyone,

Happy to be part of Algorand community. When I started looking into Algorand one thing that caught my eyes is “note” field. There are many protocols exists on the bitcoin blockchain such as omni protocol. Which uses “op_return” code (40 to 80 byte) field to run custom tokens and other functionality. But bitcoin has a lot of inherent issue related to using this field. High transaction fees, longer confirmation time and smaller field size. All these issues are already solved with Algorand with whooping 1 kb notes field size.

Armed with SDKs, we set out to build a simple solution that is useful for anyone to capture and store data forever. We also looked at what are some of the use cases. To our surprise we found many. Even in today’s digital world, almost half of all signatures are paper based. We paper sign everywhere. Credit card transactions, work orders, contracts, IOUs, cheques and legal documents. The businesses required to store these documents at least for few years. These data often end up in cloud storage services and pay monthly service fee.

On top of this, data in the internet can be deleted by the owner or service providers. Tweets can be deleted, reviews can be altered or hidden, Powerful elites scrub and erase all their past.

What if we capture all those data, interactions, signatures and store it on-chain transaction? of-course, there are some challenges with it. Users will have to get some Alogs, maintain a wallet, and then use it. To make it simple and easier, we created a user interface to hide all complexities. Anyone can sign-up and save text to Algorand blockchain in couple of clicks. Since the transaction fee is very very low for now, we hide the wallets from end users.

Users use their email address to signup and login. The initial credit is good for first 100 transactions. beyond that they can top up the credit with PayPal transaction.

It is always better to see it in action to believe it. Go ahead, sign up at https://proofplum.com . Once signed in, click on “My Text” on the menu. Click new and type your text. Click the plain text checkbox and click save. In few seconds, refresh to see the committed transaction details and the “note” field.

Any feedback both positive and negative is much appreciated.

1 Like

Works on the Ethereum blockchain right now.
Stores the document hash on the blockchain and the original document on the proofplum web site.
I tried it out, and got an error when verifying the “certificate”:

Comparing hashes

Error Computed hash does not match remote hash 

Hi Maugli, Thanks for checking this quickly. My Certificate is based on Ethereum while “My Text” is based on Algorand. Click “My Text” on the top menu and give it a try.

Ethereum Certificate verification takes few mins to get Ethereum confirmation. Check it now. You should get verify successful.

Yes. You are right. We found an issue where if the description field contains new line, the generated hash was not matching. Our dev team is fixing it. When you get a chance try again. Also try “My-Text” to save text in Algorand blockchain.

I thought about the efficiency and scalability of these kind of applications.
Imagine a billion people would like to use it… One solution would be to use IPFS, and store only
the directory hash in the blockchain.

I tried again “My Certificates”. It remained in pending state. I tried again, the second time it was successful, but the first trial is still in pending state. The verification is OK.

I also tried “My Text”, and I see the hash of the text on the Algorand blockchain.
My question is: how is this hash computed?
The SHA256 of the text is

$ sha256sum SZV.txt
98af7c1bcb8c99a409f011de5e6171f13e954858889687c87f74080953fac2e5  SZV.txt

which differs from the message on the algorand blockchain:

C6 D9 DF FA 07 1D D1 7C 7B 89 7A D5 74 ED 41 B3
E6 94 7F A0 E5 7A EA 88 B3 D4 02 3B DC 96 1F 10
65 FE 1F 93 98 6A C1 1E C4 86 B7 6B A3 14 D2 AA
F2 DD 28 42 90 46 97 13 EE 78 22 16 86 83 CF 04

@visyble Interesting approach. I have few queries for my understanding purpose.

  • How are you storing data like tweets/documents on-chain? Storing the documents entirely on-chain is possible?

  • Secondly, how are you encrypting the private data on public blockchain ?

  • Lastly, as you are keeping all the complexity of Walltet and Algos management from user, how are you storing their private keys?

Looking forward for your approach.

Thanks

Thanks for trying out again. Agree about IPFS. That is actually how we store the original document.

On My Text we are currently storing the signature created by algorand transaction. It is not SHA256 and that is why it is not matching… We are still experimenting with different formats and also exploring encryption.

Will be good to know your thoughts on using Algo signature Vs SHA256 Vs full encrypted text.

Thanks

Hi Akshay, Thanks for your inquiry. Find answers below.

  • How are you storing data like tweets/documents on-chain? Storing the documents entirely on-chain is possible? - YES. not a lot but you can store up to 1024 bytes in the notes field of each Algo transaction. If you come up with a way to break down 1kb size of bigger document. Then you can store it in multiple transactions.

  • Secondly, how are you encrypting the private data on public blockchain ? - Right now we are simply experimenting with storing the signature of the text.

  • Lastly, as you are keeping all the complexity of Wallet and Algos management from user, how are you storing their private keys? - it is encrypted and stored like a password. Very similar to how Coinbase or Binance store user private keys.