zcash / librustzcash

Rust-language assets for Zcash
Other
324 stars 242 forks source link

Decide where in the key tree ZIP 320 ephemeral addresses should go #1401

Open str4d opened 1 month ago

str4d commented 1 month ago

We have a few options that we need to decide between:

str4d commented 1 month ago

With the middle three options, it is possible to determine solely from the transaction graph structure which outputs went to TEX addresses: if an ephemeral address is observed, then for any transaction spending from that address, its transparent outputs are TEX addresses.

With the first option, this isn't possible because there is no way to distinguish between a change address and an ephemeral address. You'd need to store the recipient address map in a memo field.

With the last option, ephemeral addresses aren't detectable directly, and instead you need to rely on metadata conveyed in e.g. memo fields for detection.