The next version of our rollup, Aztec, is a privacy-preserving, programmable extension to Ethereum. It is a layer 2 zk-rollup on Ethereum that enables programable privacy via composable smart contracts.
Private Smart Contracts on Aztec
A smart contract on Aztec is a collection of functions, written as ZK-SNARK circuits. These circuits can have different modes of execution:
- Secret Functions -- can read and write private state, read historic public state, consume or send messages to / from L1, and read Ethereum state. Can call other secret functions in the same contract, or other contracts. They can call public functions.
- Public Functions -- can read and write public state, write public state, consume or send messages to / from L1 and read Ethereum state. Can call other public functions on the same or other contracts.
- Portal Contracts -- these are contracts on L1 that can receive messages from L2 or send allow messages to be sent to L2 from L1 contracts.
Using these different modes of execution, developers can build applications with user privacy, data privacy and code privacy.
User privacy -- transactions may not reveal information about the sender or the recipient.
Data privacy -- transactions may not reveal information about the payload of the transaction, e.g the asset or value being transacted.
Code privacy -- transactions may not reveal the program logic.
Watch Zac, CEO of Aztec, describe our approach to building a privacy preserving smart contract blockchain.
You can watch Mike, Aztec PM, talk about public-private composablity in Aztec at Devcon here.
How Aztec is being built
Aztec is being built and launched as a credibly neutral, decentralized network. The protocol is being developed as open source software by Aztec (the company) and our community. Together we are designing, building and auditing much of the software that will be run by network stakeholders such as infrastructure providers in order to create Aztec.
Contributors to Aztec uphold many of the values of the Ethereum community -- building in public, a rigorous commitment to open source and a goal to build a permission-less, censorship resistance system.
Noir is a domain specific programming language for writing zero knowledge circuits. On Aztec a smart contract is a collection of circuits that developers write using Noir.
You can find more information and resources for learning about Noir on this page.
To support Aztec's rollup, our cryptography team is building Honk, a cutting edge proving system that makes Aztec possible, under the Apache 2.0 License.
Keep up with the latest discussion and join the conversation in the Aztec forum.