- Aztec Labs Developer Dispatch
- Posts
- Our Best Year (So Far): Aztec Labs 2023 Review
Our Best Year (So Far): Aztec Labs 2023 Review
Shipping Trustless Privacy
The Last Developer Dispatch of 2023
Happy Holidays! We look back on this year with immense gratitude for our developer community. Take this newsletter as an example: >1,000 strong and growing every week.
Whether you’re a Solidity dev, ZK researcher, Noir dev, or just a fan of Aztec—thanks for being in our community.
We have a lot of stuff cooking for 2024, including sequencer and prover testnets and huge improvements to Aztec Sandbox and Noir.
We hope you have a restful run into the New Year. Thanks for being part of this ride.
- The Aztec Labs Team
In this (thicc) issue:
Aztec Labs
Joining the Universal Privacy Alliance
2023 Year in Review
News on Aztec: the privacy-first L2 on Ethereum
Announcing the Aztec Sandbox Alpha Program
Private voting tutorial
Slow updates tree
Feature improvements
News on Noir: the universal language of zero-knowledge
Aztec's core circuits are now written in Noir
Noir Beta is live
Aztec Labs was formed around the core concept of trustless privacy. We never thought it’d be easy to bring that idea into the world—technically or otherwise.
That’s why we’ve formed the Universal Privacy Alliance alongside fellow privacy-first projects Nym, Protocol Labs, and Oasis to advance privacy technologies.
UPA will advocate for the adoption of decentralized privacy technologies globally, pooling resources to enable global adoption.
Aztec Labs Year in Review - 2023
2023 was the most productive year in Aztec Labs history. The year’s major technical achievements:
Launched the Aztec Sandbox, a local developer testnet for smart contract privacy
Refined the Sandbox with developer feedback via the Aztec Sandbox Alpha Program (apply here!)
Re-wrote Aztec’s core circuits in Noir (read our announcement)
Shipped Noir Beta
Built and hung out with our global dev community in Denver, Paris, London, and Istanbul
If joining Aztec Labs’ mission excites you, check out our open roles.
And continue the conversation with us on Twitter.
Join technical discussions on the Aztec forum.
Aztec News
Announcing the Aztec Sandbox Alpha Program
The Aztec Sandbox is now in Alpha. Over the last few months, we've worked with a hardcore group of developers to improve the Sandbox. We're now ready to expand that opportunity to all developers.
The goals of the Aztec Sandbox Alpha Program:
Improve developer experience with added features
Stabilize the Sandbox with bug reports and technical feedback
Encourage experimentation and development of novel applications using the Sandbox’s Private Execution Environment (PXE) and public-private state management functionality
In return for their skills and time, participating developers will receive:
A modest stipend
Co-marketing support
A dedicated core Aztec protocol engineer as a partner
Opportunity to be a highly valued member of the Aztec community and join early to voice your feedback in the development of our network
Help from the Aztec core team in building fully-fledged Aztec applications on Aztec’s eventual mainnet
And, of course, honor and glory
Join the 70+ applicants who have already applied:
Private Voting Tutorial
In this new tutorial for building in the Aztec Sandbox, learn how to write a very simple private voting smart contract in Aztec.nr (our Noir framework for writing smart contracts on Aztec).
You will learn about private functions, public functions, composability between them, state management and creatively using nullifiers to prevent people from voting twice!
Slow Updates Tree (Privately Access Historical Public Data)
In Aztec, private and public execution environments are completely separate and operate with distinct state management. It is not possible for private functions to reliably access the most recent public data public state - only sequencers can do that. You'll want to read the previous section to understand this before reading this page.
But, what about historical public data (or public data that changes infrequently)? Through a slow updates tree, private functions can access historical public state. Please note that we are still experimenting with this feature.
Why a slow updates tree exists & use cases
How it works
How it can be used to access historical public data
Limitations
Feature Improvements
We have made sandbox docker image and CLI faster and leaner by ~6x!
Aztec.nr contracts can now have up to 32 functions (previously 16)
Nerd sniped yet? Get started with the Aztec Sandbox developer docs.
Once you start building, get best-in-class support from our DevRel team starting with office hours, held every Thursday at 10am ET/3pm UTC. Register here.
Noir x Node Guardians
Node Guardians helps devs master smart contract development, and the platform’s Noir learning journey has arrived: Discovering Noir.
Embark on this adventure to learn programming in zero-knowledge. Earn your souldbound sword by conquering all three quests.
Noir News
Aztec's core circuits are now written in Noir
Aztec’s core cryptography has been re-written in Noir in a project that took less than a month of engineering time. That means all improvements to Noir’s compiler and libraries now also improves Aztec.
The goal was always to adopt Noir—we were just surprised how easy it was to rewrite. There were a ton of reasons to switch:
Contributors: developers no longer need to know C++ to write circuits, meaning the number of developers who can now contribute to Aztec’s core circuits has doubled or tripled overnight
Tooling: Noir tooling only needs to cater to writing circuits, whereas Barretenberg Library tooling will always take into consideration what is written in C++
Stack integration: contracts on the Aztec network are also written in Noir, leading to tighter integration
Better optimizations: updates to Noir include new applications that are immediately applied to existing code
Noir is now in Beta
In conjunction with our rewrite of Aztec’s cryptography circuits in Noir, we’re proud to announce Noir Beta—a significantly more stable and feature-complete version of Noir.
In the year since launching Noir Alpha, Aztec has worked hard to improve Noir:
Significantly more stable
Offers hand-in-glove compatibility with Aztec’s UltraPlonk proving back-end
Is browser compatible via NoirJS, a Javascript framework for web applications
That wraps it for a busy year! We’ll see you in 2024. Have a joyful and private holiday.