A z-address is a Zcash address that has been shielded or had its privacy enhanced. Transactions between one z-address and another on the blockchain do not reveal the parties’ addresses, the transaction amount, or the contents of the transaction’s memo field. To achieve these features, a z-address employs Zero-Knowledge Proof (ZKP) cryptography. Transparent t-cash addresses, which reveal the addresses of the transacting parties, the transaction amount, and the contents of the transaction’s memo field, are interoperable with Z-address. Users can thus send transactions from a private address to another private address (two z-addresses), from a transparent address (t-address) to a private address (z-address), or from a private address (z-address) to a transparent address (t-address). The zk-SNARK cryptographic proof technology is used in Z-addresses.