to get familiar with zcash capabilities, I built a small page which can basically display the memo fields from zcash transactions and arrange them in a chat timeline.
However, I’d like to know if my statements on this page are correct:
when users send transactions from a personal shielded address to the shielded address given on the page, the posted messages are completely anonymous and cannot be traced back to the sender; yes/no?
when someone sends a transaction from a transparent address to the given shielded address on the page, the above privacy statement doesn’t hold; yes/no?
when I disclose the viewing key for the given shielded address on the page, other people can recover all messages on the page, without disclosing sender addresses (and without harming anonymity); yes/no?
Please also test if you like and please let me know how you find it. Thank you
As far as I know the shielded sender’s information can only be disclosed by the recipient (not sure if any information is revealed through that nickname process)
Sending a message from an unshielded address would not protect the sender (i wasn’t aware you could do that)
The viewing key, not sure but sounds right
Pretty cool app
Edit- don’t worry somebody will be along soon to correct me
Thank you garethtdavies for this comprehensive explanation!
So basically my idea is correct: people sending messages to the board are completely anonymous and protected. Also, since I disclose the viewing key, even if the page is taken down, everyone who has a copy of the viewing key can restore the full chat history, but won‘t get any insights about the senders. Very cool.
So as a start let me copy the viewing key also here: ZiVKkwAQ9PAJ2tDkpseBUHUtRG5rWHfPe3bECY8yKbnLJBqU9EvvnggFgAmWv4DT41odsiScJYiHpukbgj7cicpsi1qT1Lcod
PS: regarding nickname, I‘ve added an example to the page, as the syntax was a bit unclear. (e.g. SpeedyGonzales:: Arriba, arriba! will parse correctly)
Interesting question, and no it shouldn’t. As you can see from the transaction above the only detail on the blockchain is the fee (so the default of 0.0001 should always be used). That being said this doesn’t consider network privacy (or lack thereof).
Sorry, I was wrong here, I finally got around to testing it and you can indeed send a memo from a t-addr (so long as it is to a z-addr). Here is a sample transaction id 5add9c1c1e7a298a6ea97d829262e6d4e160066e66269f6fc2e9034fa204ed58 so you can see the address sent from on the blockchain. As you are publishing the viewing key you can see the txid associated with the message and then, although you would have some Bitcoin-style pseudonymity, it wouldn’t be truly private so, yes best to stick to sending from z-addrs as you originally stated.
Amazing, thank you! I used the weekend to read some more zcash blog posts and it seems the approach is pretty safe for users. Since the transaction is fully encrypted, it would even tolerate eavesdropping.
Any features you all would like to see on the page? Like/Dislike buttons, etc.?