Viewing keys, detailed in ZIP 310, allow the separation of spending and viewing permissions for Zcash shielded addresses. By making a separate viewing key, Zcash customers can share visibility of the transactions despatched and obtained from their shielded handle with out compromising their non-public spend key. This functionality was added to the protocol within the Sapling community improve, and RPC assist was launched in model 2.1.2.

Shielded addresses enable Zcash customers to transact whereas revealing as little info on the general public blockchain as potential. This protects customers’ privateness from unhealthy actors and enterprise opponents. There are cases; nonetheless, the place it’s essential to reveal some info to a 3rd get together, reminiscent of for audit or compliance functions.

Viewing keys are a crucial part of the Zcash worth proposition as a result of they permit customers to selectively disclose details about their transactions.

For shielded transactions in Zcash, viewing keys are derived instantly from a consumer’s spending key. There isn’t any central authority that controls entry to viewing keys. As soon as a viewing key’s created, it could possibly solely be obtained from somebody who holds it. For those who don’t give your viewing key out, then nobody can entry it with out your participation.

The Zcash protocol is designed with two options to assist the disclosure of knowledge:

  • Viewing keys present visibility into the transaction worth, memo area, and goal handle of all transactions obtained by or despatched from a selected shielded handle.
  • Fee disclosure gives comparable visibility for a single transaction. It’s a methodology of proving {that a} cost was despatched to a shielded handle, with out revealing all the transactions despatched to/from that handle.

These options allow homeowners of a shielded handle to share transaction visibility in a safe and confidential method. For cryptocurrency service suppliers, this implies the flexibility to confirm transactions to/from shielded addresses, whereas holding spending authority keys on safe {hardware}, reminiscent of HSMs.

Viewing key use circumstances

Viewing keys allow quite a lot of business use circumstances for Zcash that assist utterly non-public z-to-z transactions. A service provider would possibly share their cost handle viewing key with their accountant to trace gross sales income; or a charity might publish their viewing key to confirm contributions for donation matching.

Contemplate the next examples:

  • An alternate desires to detect when a buyer deposits ZEC to a shielded handle, whereas holding the “spend authority” keys on safe {hardware} (e.g., HSMs). The alternate might generate an incoming viewing key and cargo it onto an Web-connected “detection” node, whereas the spending key stays on the safer system.
  • A custodian wants to offer visibility of their Zcash holdings to auditors. The custodian might generate a full viewing key for every of their shielded addresses and share that key with their auditor. The auditor will be capable of confirm the steadiness of these addresses and evaluation previous transaction exercise to and from these addresses.
  • An alternate might have to conduct due diligence checks on a buyer who makes deposits from a shielded handle. The alternate might request the shopper’s viewing key for his or her shielded handle and use it to evaluation the shopper’s shielded transaction exercise as a part of these enhanced due diligence procedures.

Implications for Zcash

Viewing keys assist guarantee Zcash stays on the forefront of regulatory compliance by offering a mechanism by which exchanges and custodians can settle for shielded deposits whereas holding shielded ZEC in safe chilly storage. Viewing keys enable sharing visibility of shielded transactions with auditors and, the place applicable, with regulators. This ensures Zcash customers have privateness from criminals and unhealthy actors, however that exchanges and different digital asset service suppliers can stay totally compliant whereas supporting shielded addresses.

Supply hyperlink