Giới thiệu: Aztec là một Layer 2 ưu tiên quyền riêng tư, cho phép các nhà phát triển xây dựng các hợp đồng thông minh với trạng thái riêng và công khai, cũng như thực thi riêng và công khai, từ đó tạo ra các ứng dụng có tính "quyền riêng tư có chọn lọc" mang cảm giác như DeFi bình thường—mà không phơi bày mọi thứ trên chuỗi.
Aztec là gì?
Aztec là một mạng Layer 2 tập trung vào tính riêng tư từ thiết kế, đồng thời vẫn hỗ trợ khả năng kết hợp công khai khi cần thiết.
Ý tưởng chính rất đơn giản:
-
Thực thi riêng tư & trạng thái riêng tư cho các hành động người dùng nhạy cảm (số dư, danh tính, ý định, chiến lược).
-
Thực thi công khai và trạng thái công khai cho những thứ phải hiển thị toàn cầu (thanhtoán công khai, logic hợp đồng công khai, trạng thái chia sẻ).
Thay vì chọn “tất cả công khai” hoặc “tất cả riêng tư”, Aztec hỗ trợ các ứng dụng lai.
Cách một giao dịch hoạt động trên Aztec
Aztec chia việc thực thi thành hai môi trường riêng biệt:
-
Môi trường thực thi riêng tư (PXE) — chạy trên phía người dùng
Các chức năng riêng tư được thực thi phía máy khách bên trong PXE (đọc là “pixie”) để tối đa hóa quyền riêng tư.
PXE:
-
thực hiện các hàm riêng tư tại chỗ
-
giữ khóa + ghi chú
-
tạo bằng chứng không tri thức cho các hoạt động riêng tư
-
được bao gồm trong aztec.js (TypeScript), có thể chạy trên Node hoặc trình duyệt
-
VM công khai (AVM) — chạy trên các nút mạng Aztec
Các hàm công cộng được thực thi trên mạng trong Máy ảo Aztec (AVM), về mặt khái niệm tương tự như EVM (do đó, “trực giác về hiệu quả gas” áp dụng giống như Solidity).
Quy tắc thực hiện theo hướng (quan trọng)
Một giao dịch chảy từ riêng tư → công khai:
-
Các hàm riêng có thể xếp hàng các hàm công khai để thực thi sau.
-
Các hàm công khai không thể gọi các hàm riêng.
Sự tách biệt đó là có chủ ý: mạng công cộng không nên có khả năng “tiếp cận” vào thực thi riêng tư.
Trạng thái Riêng tư vs Công khai: Ghi chú, Nullifiers và Cây
Aztec sử dụng các mô hình trạng thái khác nhau tùy theo mức độ bảo mật:
Trạng thái riêng = các “ghi chú” theo phong cách UTXO
Trạng thái riêng được lưu trữ dưới dạng ghi chú (các khối dữ liệu tương tự UTXO). Để duy trì tính riêng tư:
-
Các ghi chú được thêm vào một cây UTXO chỉ thêm
-
Khi một ghi chú bị “tiêu thụ/xóa,” một nullifier sẽ được tạo ra
-
Các nullifier được lưu trữ trong một cây nullifier riêng biệt
Điều này cho phép mạng lưới thực thi tính chất “chỉ được chi một lần” mà không tiết lộ nội dung riêng tư của các ghi chú.
Trạng thái công khai = bộ nhớ công khai tương tự tài khoản
Trạng thái công cộng hoạt động giống như ethereum hơn:
-
được lưu trữ trong cây dữ liệu công khai
-
được cập nhật trực tiếp và có thể nhìn thấy trên chuỗi
Điểm nhấn dành cho nhà phát triển:
-
Công việc trạng thái riêng = các cam kết + bộ hủy (chứng minh tính chính xác mà không tiết lộ dữ liệu)
-
Công việc trạng thái công khai = cập nhật trực tiếp (hành vi lưu trữ blockchain bình thường)
Trừu tượng hóa tài khoản: Mọi tài khoản đều là hợp đồng thông minh
Aztec có tính năng trừu tượng tài khoản bản địa ở cấp độ giao thức:
-
Không có các tài khoản EOA (không có các tài khoản “cặp khóa” đơn giản)
-
Mỗi tài khoản đều là một hợp đồng thông minh
-
Các nhà phát triển có thể xác định các quy tắc riêng của họ cho:
-
xác thực (chữ ký, đa chữ ký, passkey, logic tùy chỉnh)
-
chính sách ủy quyền (giới hạn, quyền hạn, khóa phiên)
-
nonce / bảo vệ tái phát
-
Tại sao điều này giúp chống lại DoS (vấn đề “xác thực tốn kém”)
Mô hình của Aztec đẩy việc xác thực phức tạp về phía client:
-
Khách hàng xác thực và tạo bằng chứng ZK rằng “xác thực thành công”
-
Sequencer xác minh một bằng chứng có kích thước cố định
-
Vì vậy, độ phức tạp của việc xác thực không làm tăng chi phí xác thực mạng.
Điều này cho phép logic tài khoản “người dùng nâng cao” mà không làm chậm chuỗi.
Khóa trong Tài khoản Aztec (Tập trung vào quyền riêng tư)
Mỗi tài khoản Aztec được hỗ trợ bởi 3 cặp khóa:
-
Cặp chìa khóa Nullifier: được sử dụng để tính toán các giá trị nullifier của ghi chú
-
Cặp khóa xem đang đến: được sử dụng để mã hóa ghi chú cho người nhận
-
Cặp khóa xem đầu ra: được sử dụng để mã hóa ghi chú cho người gửi
Vì các tài khoản là hợp đồng thông minh, nên chúng không tự động có cặp khóa ký—việc xác thực phụ thuộc vào thiết kế hợp đồng tài khoản.
Người chứng thực xác thực: An toàn hơn “Sự chấp thuận vô hạn”
Aztec thay thế mô hình “phê duyệt vô hạn” đầy rủi ro bằng Chứng thực Người xác thực (AuthWit):
-
thay vì cấp quyền không giới hạn vĩnh viễn,
-
người dùng cấp quyền thực hiện các hành động cụ thể với các tham số cụ thể
Điều này được thiết kế để giảm thiểu rủi ro phê duyệt kéo dài trong khi vẫn đảm bảo trải nghiệm người dùng tốt (gộp lô, tự động hóa).
Xây dựng trên Aztec với Noir
Các hợp đồng thông minh của Aztec được viết bằng Noir, một ngôn ngữ tập trung vào ZK để viết các chương trình/hợp đồng có thể chứng minh được. Một cảnh báo quan trọng từ tài liệu: các hàm riêng tư có thể được viết theo cách kém tối ưu do quá trình chứng minh có trực giác hiệu năng khác với thực thi bình thường—vì vậy, việc học “cách viết Noir hiệu quả” là rất quan trọng.
















