to what extent do display keys show our transactions? If I disclose a display key is it able to know all my transactions from the beginning? How much privacy would be breached when accessing viewing keys?
How many transactions would I have to make until I regain my privacy if I disclose the view key?
I don’t know of any plans to discontinue view key support. A Unified Full Viewing Key allows for complete and permanent disclosure of a single unified address account.
The holder basically has a clone of your wallet; they can see everything you can for the entire history, but they cannot spend the funds.
The view authority is irrevocable.
There are also Incoming and Outgoing View keys versions which would limit a holder to only be able to see one or the other, but it’s somewhat moot b/c most wallets that support View Keys at all only support Full Unified View keys.
There have been ideas mentioned about having ephemeral view keys, or basically something less permanent but the workaround has otherwise just been migrating to a new account every so often.
View keys sound dangerous but are actually incredibly useful for a lot of use cases. Businesses can share their UFVK with their accountant. Partners can trust but verify that finances are being used as expected by watching transactions without being able to spend them. Foundations can disclose how they are using their resources in a secure way. Hardware wallet users can make sure their funds are really still there, without having the physical wallet.
When ZSAs are live, NFT holders will be able to show off their collections in a “disclosed wallet” (UFVK is known to the public) then shield them into another wallet when they want privacy again.
@Autotunafish Does the view key see complete transactions performed before the coins arrive in the wallet? Using the transaction ID, can you track the step by step?
A good example is with the Clip contest we had, the community used it to see both transactions in/out and also memos received but only the contest creator could send funds.
@Autotunafish@dismad So if I make 2 transactions, one sending everything to wallet X and the other transferring everything to wallet Y, is it impossible to track the origin of wallet X even if I have the viewing key for wallet Y?
Viewing keys don’t provide any enhanced tracability beyond what a wallet would normally see; txids, amounts and memos. Shielded addresses don’t appear on the block chain in any case and so the memo is the only place where a sent-from address or other potentially compromising information could be obtained.
This is how zecpages worked. The website displayed most of the memos but one could always import the view key from the website into your wallet and see all of zecpages txids, amounts and memos from there.
Yes; Zcash has full sender anonymity. Full viewing capabilities for a wallet do not give any capability to determine the source of shielded funds spent when sending to that wallet, absent other metadata leakage.
To clarify “absent other metadata leakage”, if in wallet X you shield 1.2345 ZEC from transparent, and then immediately send 1.2344 ZEC to wallet Y, someone holding a viewing key for wallet Y, and therefore can see the transaction amount and the time at which the transaction was made, can guess that the transparent address that was the original source of funds likely belonged to their counterparty. But if wallet X shielded 1.2345 ZEC, and then sent 1.000 ZEC to wallet Y, the view key holder (and, indeed, the spending key holder) for wallet Y gets no information at all about the source of funds.
This sender anonymity is actually one of the reasons that the memo field exists - so that a sender can choose to include identifying information if needed. For example, if I’m ordering something from a web store, I might need to include an order ID or something similar in the memo so that the vendor knows which order to fulfill.