Where does your privacy come from?
Aztec and Nyx privacy
Your privacy comes from three main areas:- The Aztec blockchain was built to enable private function calls and private state. This is where your private balance lives and your private actions take place. By design, no one can see your private balances, private sends, and initiation of private earn (Aave lend) and send to Ethereum actions except for the person who controls your private account information: you.
- Aztec transaction submission uses encryption to ensure that the private details of each transaction - e.g. you sent 10 USDC to your friend - are never revealed to the network in readable form. Only the sender and receiver can decrypt and view the transaction details. Since these encrypted transactions need to be verified by the Aztec network, zero knowledge proofs are used to prove that the encrypted transaction is a valid transaction (e.g. that you have 10 USDC to send and that you approved the transaction). So, for each of your transactions a zero-knowledge proof is generated in your browser. Then, the proof and the encrypted transaction it belongs to are sent to the Aztec network, which verifies the proof and accepts the transaction. The proof generation and network proof verification steps can take up to a few minutes (some transaction proofs are more complex and take more time, some devices may generate proofs more slowly, and sometimes the network may be slower than usual). This is why you see a delay between signing to authorize a private transaction and that transaction completing. We and Aztec are exploring ways to speed these steps up over time, but there will likely always be a delay of some kind in order to guarantee this strong level of privacy.
- Nyx uses passkey-based, end-to-end encryption to keep a very limited amount of information - like your account secret and contacts - on our backend so you can easily move across devices. Since we do not control your passkey, and only your passkey can decrypt this data, it can only be viewed and used by you in your browser.
It is very important for you to maintain access to your passkeys!
If you lose access to all of your passkeys, you lose access to your private account as we cannot decrypt your account data and recover it for you. See our passkey tips.Revealing your private address does not expose your private actions
Revealing your private account address to someone, as you need to do when you send them funds privately, is a safe action. If your private address was to leak publicly, it does not risk exposing anything about your private account. Your private account actions and balances aren’t publicly visible onchain, and neither is a link between your private address and any Ethereum address it sent to or received from, so no one could use your private address to look this information up. This is by design of the Aztec blockchain Nyx uses for private accounts and private account actions. You cannot even look up your private address on an Aztec explorer like Aztec Scan or Aztec Explorer because your private account has no public data! For an example of this, see our docs section on funding your private account where we share the private address of a test account.How to hide your asset balances
If you’re out in public and are concerned about others viewing your screen, you can use our “Hide balances” feature to hide all your asset balances. Click the eye icon in the menu bar in the upper right and the balances on the screen will blur.
What is publicly visible onchain?
Any transactions originating from or sent to an Ethereum address are visible in Ethereum explorers, including the sender and receiver addresses and information about the assets involved. However, your private account address is never revealed in such transactions as you can see below. Private account activity takes place as transactions on the Aztec blockchain, as explained in our technical overview. Sends between private accounts reveal no public information. Ethereum vault deposits and share redemptions, initiated by your private account, have a Nyx relayer as the sender address and show asset type and amount. Again, there is no visible link to your private account address. However, if you transfer 1.034567 ETH from your Ethereum account into your private account and shortly thereafter a Nyx relayer deposits 1.034567 ETH into an Ethereum vault, people may suspect that your public account is connected to the vault deposit. So, you may wish to wait a bit between these actions and/or break your deposit into multiple parts depending on the level of Nyx vault traffic at the time. Public visibility by action type| Action | Publicly-visible on Aztec (where your private account is located) | Publicly-visible on Ethereum |
|---|---|---|
| Transfer from Ethereum to your private account. | Information about the assets involved. Your private account address is not revealed. | Your public account address and information about the assets involved. |
| Send between two private accounts. | Nothing. Only the other party knows what happened. | N/A |
| Deposit into an Ethereum vault from your private account. | Information about the assets involved. Your private account address is not revealed. | A Nyx relayer as sender for a transaction that deposits publicly visible asset type and amount into a vault contract. You should, however, consider the timing and size of your vault deposits so people don’t assume it’s linked to the public account that made the Nyx deposit (see paragraph directly above the table). |
| Redeem shares in an Ethereum vault. | Information about the assets involved. Your private account address is not revealed. | A Nyx relayer as sender for a transaction that redeems shares for a publicly visible asset type and amount. |
| Send from your private account to an Ethereum address. | Information about the assets involved. Your private account address is not revealed. | The Ethereum address and information about the assets involved. |