The protocol enables transactions of value, where the values of the transaction are encrypted. The AZTEC protocol smart contract validator,
AZTEC.sol, validates a unique zero-knowledge proof that determines the legitimacy of a transaction via a combination of homomorphic encryption and range proofs.
Instead of balances, the protocol uses AZTEC notes. A note encrypts a number that represents a value (for example a number of ERC-20 tokens). Each note has an owner, defined via an Ethereum address. In order to spend a note the owner must provide a valid ECDSA signature attesting to this.
Confidential representations of ERC20-tokens
The AZTEC protocol can enable confidential transactions for any generic digital asset on Ethereum, including existingassets. For our proof of concept implementation of the AZTEC protocol, we attached an AZTEC token to MakerDAO's DAI token. This smart contract can be used to convert DAI from its public ERC-20 form into a confidential AZTEC note form.
Fully confidential digital assets
The AZTEC protocol can be utilized as a stand-alone confidential token, with value transfers described entirely through AZTEC join-split transactions
The gas costs scale with the number of input and output notes in a join-split transaction. For a fully confidential transfer, with 2 input notes and 2 output notes, the gas cost is approximately 900,000 gas. Planned EIP improvements will reduce the cost of these transactions dramatically, to approximately 200,000 - 300,000 gas.
The AZTEC protocol is live today on the Ethereum main-net. Our proof of concept contract converts DAI into AZTEC note form and is live on the Ethereum main-net. Here is an example AZTEC join-split transaction.
Read the AZTEC paper here. The unique AZTEC commitment function enables the efficient construction and verification of range proofs. The protocol requires a trusted setup protocol, that generates a dataset that is required to construct AZTEC zero-knowledge proofs
The Trusted Setup - Ignition
Our proof of concept uses a trusted setup generated by our team internally. Whilst we would like to think you can trust us implicitly, we have developed a method of performing the trusted setup via multiparty computation. Each participant generates a piece of toxic waste that must be destroyed. Only one participant must destroy their toxic waste for the protocol to be secure and the trusted setup process can scale indefinitely. We will be releasing our full specification for the trusted setup protocol shortly.
The AZTEC protocol supports a stealth address protocol that can be used to obfuscate the link between a note 'owner' and any on-chain identity.