Aztec(AZTEC币)是以太坊上一个注重隐私的Layer 2层协议。它支持同时具有私有和公共状态以及私有和公共执行的智能合约。
1.用户通过Aztec.js(类似于web3js或ethersjs)与Aztec进行交互。
2.私有函数在客户端的PXE中执行。
3.证明和树更新被发送到公共虚拟机(运行在Aztec节点上)。
4.公共函数在公共虚拟机中执行。
5.公共虚拟机将包含私有和公共状态更新的交易汇总到区块中。
6.区块数据和状态转换正确性的证明将提交给以太坊进行验证。
私人和公共处决
私有函数在客户端(用户设备)执行,以最大程度地保护隐私。公共函数则由远程节点网络执行,这与其他区块链类似。这些不同的执行环境为单个交易创建了定向执行流程——交易首先在用户设备的私有环境中执行,然后转移到公共网络。这意味着,交易执行的私有函数可以将公共函数加入队列,以便在交易生命周期的后续阶段执行,但公共函数不能调用私有函数。
私有执行环境(PXE)
私有函数在用户设备上的私有执行环境(PXE,读作“pixie”)中执行,然后生成用于链上验证的证明。这是一个用于执行和生成私有操作证明的客户端库。它存储密钥、记录并生成证明。它包含在TypeScript库aztec.js中,可以在Node或浏览器中运行。
费用
费用是任何协议设计中不可或缺的一部分。合理的费用定价有助于网络的长期稳定运行和安全性,而可用的费用支付机制则决定了可以构建的应用类型。
简而言之,交易定价透明地考虑了以下因素:
L1成本,包括L1执行数据块的成本,以及通过blob实现的数据可用性。
L2节点运营成本,包括证明
费用支付
支付手续费的用户将拥有来自L1的桥接手续费权益。在Aztec协议中,这种手续费资产不可转让,仅由协议扣除用于支付手续费。用户可以申领桥接手续费权益,并在同一笔交易中用它来支付交易手续费。
支付方式
如果fee-juice已桥接到要部署新账户的地址,则拥有fee-juice的账户可以支付其交易费用,包括部署新账户。
账户进行交易时,也可以通过“手续费支付合约”(FPC)来支付交易费用。FPC是一种接受代币并以手续费形式支付交易费用的合约。这意味着用户无需持有手续费,只需持有FPC接受的代币即可。FPC可以包含任意逻辑来决定如何授权交易手续费支付。它们既可以用于私下支付交易手续费,也可以用于公开支付。