Trust assumptions for private -> public functions that create notes and then revert

Hey @dtp! I’m not sure I fully understood this use case. The idea is that, if an event X happens successfully, then (and only then) a piece of secret information is sent from Alice to Bob, right?

When we say “send a private note”, this usually involves two things in the protocol: 1) creating a commitment to the note in the global state (ie adding the note hash to the global note hashes tree, so that the recipient of the note can later prove that their note actually exists), and 2) encrypting and sending the contents of the note to the recipient. So, if you are using a note to transmit sensitive information, the moment the “log” with the sensitive information encrypted to the recipient is emitted, then the recipient can decrypt and see that information. Even if the transaction later gets reorg’d out of the chain, the recipient has already “seen” that info - they cannot “unsee” it. Still, the note hash will be out of the global state, so the recipient won’t be able to “use” that note, but if the note was used to convey something like a web2 password, then whether the note hash is added to the tree or not won’t matter.

Does this help answer the question?

10 Likes