Panimula: Ang Aztec ay isang privacy-first Layer 2 na nagpapahintulot sa mga developer na bumuo ng mga smart contract na may parehong private at public state at private at public execution, na nagpapahintulot sa mga app na “selective privacy” na mukhang normal na DeFi—nang hindi ipinapakita ang lahat sa-chain.
Ano ang Aztec?
Ang Aztec ay isang Layer 2 network na nakatuon sa privacy-by-design habang patuloy na sumusuporta sa public composability kapag kinakailangan.
Ang pangunahang ideya ay simpleng:
-
Pribadong pagsasagawa at pribadong estado para sa mga sensitibong aksyon ng user (balanse, pagkakakilanlan, intensyon, estratehiya).
-
Publikong pagpapatupad at publikong estado para sa mga bagay na dapat maging globally nakikita (publikong likwididad, publikong lohika ng kontrata, shared state).
Kaya sa halip na pumili ng “lahat ng publiko” o “lahat ng pribado,” suportahan ng Aztec ang hybrid apps.
Paano Gumagana ang Isang Transaksyon sa Aztec
Naghihiwalay ang Aztec ang pagpapatupad sa dalawang magkakahiwalay na kapaligiran:
-
Private Execution Environment (PXE) — tumutok sa gilid ng user
Ang mga pribadong punksyon ay ginagawa sa client-side sa loob ng PXE (pinaglalabas na “pixie”) upang maksimisahin ang privacy.
Ang PXE:
-
nagpapatupad ng mga pribadong punksyon lokal
-
nagtataglay ng mga susi + tala
-
nagpapagawa ng zero-knowledge proof para sa mga pribadong operasyon
-
kasama sa aztec.js (TypeScript), maaaring i-run sa Node o browser
-
Public VM (AVM) — tumatakbo sa mga node ng Aztec
Ang mga pampublikong punsiyon ay nagpapatakbo sa network sa Aztec Virtual Machine (AVM), konseptuwal na katulad ng EVM (kaya ang “intuisyon sa gas-efficiency” ay mas katulad ng Solidity).
Patakaran sa directional execution (mahalaga)
Isang transaksyon ay dumadaloy mula sa private → public:
-
Maaaring mag-enqueue ang mga pribadong punksyon ng mga publikong punksyon para i-run sa hinaharap.
-
Hindi makapag-call ang public functions sa private functions.
Ang pagkakahiwalay na iyon ay layon: ang pampublikong network ay hindi dapat makapag-“reach” sa pribadong pagpapatupad.
Pribado vs Pampublikong Estado: Mga Tala, Nullifiers, at Mga Guro
Gumagamit ang Aztec ng iba’t ibang state models batay sa privacy:
Pribadong estado = mga “tala” na UTXO-style
Ang pribadong estado ay nakaimbak bilang mga tala (mga chunk ng data na katulad ng UTXO). Upang panatilihin ang pagkakaroon ng privacy:
-
Ang mga tala ay idinadagdag sa isang append-only UTXO tree
-
Kapag isinagawa o mabura ang isang tala, lumilikha ang nullifier
-
Ang mga nullifier ay naka-store sa isang hiwalay na nullifier tree
Nagpapahintulot ito sa network na ipatupad ang “spend once” nang hindi ipinapakita ang mga pribadong laman ng mga tala.
Pampublikong estado = account-like public storage
Ang public state ay umuugnay nang mas mabuti sa Ethereum:
-
naka-store sa isang publikong data tree
-
na-update nang direkta at nakikita sa-chain
Mga natutunan ng developer:
-
Pribadong estado ng trabaho = mga obligasyon + mga nullifier (patunayan ang kawastuhan nang hindi ipinapakita ang data)
-
Pampublikong estado ng trabaho = direkta mga update (karaniwang pag-iimbak ng blockchain)
Account Abstraction: Ang bawat account ay isang smart contract
May native na account abstraction ang Aztec sa antas ng protokolo:
-
Walang EOAs (walang simpleng “keypair accounts”)
-
Ang bawat account ay isang smart contract
-
Maaaring tukuyin ng mga developer ang kanilang sariling mga patakaran para sa:
-
autentikasyon (mga signature, multisig, passkeys, custom logic)
-
mga patakaran sa pagpapahintulot (mga limitasyon, pahintulot, mga session key)
-
nonce / proteksyon sa replay
-
Bakit ito ay nakakatulong laban sa DoS (ang problema na “ang pagpapatotoo ay mahal”)
Ang modelo ng Aztec ay nagpapalakas ng kumplikadong pagpapatotoo sa client-side:
-
Ang kliyente ay nagpapatotoo at nagbuo ng ZK proof na “nagtagumpay ang pagpapatotoo”
-
Ang sequencer ay tumitiyak ng patunay na may parehong laki
-
Kaya hindi lumalaki ang kompleksidad ng pagpapatotoo ang gastos sa pag-verify ng network
Nagpapahintulot ito sa “power-user” account logic nang hindi ginagawang mabagal ang chain.
Mga susi sa mga Account ng Aztec (May-akda ng Privacy)
Bawat account ng Aztec ay suportado ng 3 key pairs:
-
Nullifier key pair: ginagamit para sa pag-compute ng note nullifiers
-
Paparating na pares ng pagtingin: ginagamit upang i-encrypt ang mga tala para sa tagatanggap
-
Outgoing viewing key pair: ginagamit upang i-encrypt ang mga tala para sa sender
Dahil ang mga account ay smart contract, hindi sila awtomatikong may signing keypair—ang authentication ay nakasalalay sa disenyo ng account contract.
Mga Saksi ng Pagsisigla: Mas Ligtas kaysa sa “Huwad na Pagsang-ayon”
Ang Aztec ay nagpapalit sa mapanganib na pattern na “infinite approval” gamit ang Authentication Witnesses (AuthWit):
-
sa halip na bigyan ng walang hanggang pahintulot
-
nagpapahintulot ang mga gumagamit sa mga partikular na aksyon gamit ang mga partikular na parameter
Ito ay disenyo upang mabawasan ang patuloy na panganib ng pagpapahintulot habang patuloy na pinapahintulutan ang magandang UX (batching, automation).
Gumawa ng pag-unlad sa Aztec gamit ang Noir
Isinulat ang Aztec smart contracts sa Noir, isang ZK-focused na wika para sa pagsusulat ng mga patotohanang programa/smart contract. Isang mahalagang babala mula sa mga dokumento: ang mga private function ay maaaring isulat nang may masamang pag-optimize dahil ang proving ay may iba’t ibang performance intuition kaysa sa normal na pagpapatakbo—kaya mahalaga ang pagkatuto ng “paano isulat ang performant Noir”.
















