Aztec Hybrid Rollup:混合zkRollup,而非zkEVM

1. 引言

Aztec zkRollup为混合zkRollup:

  • 支持通用私有计算的加密zkRollup(命名为Aztec):构建trustless、可扩展的、去中心化的Layer2 zkRollup,同时支持private smart contract execution。
  • 同时支持public state和private state。
    • private state:是指归具有解密密钥的用户或group所有的 加密数据。存储在append-onl数据库中(可防止record updates以保护隐私)。
      Aztec Hybrid Rollup:混合zkRollup,而非zkEVM_第1张图片
  • 非zkEVM:因privacy isn’t EVM compatible。

Aztec Hybrid Rollup的原理示意图为:
Aztec Hybrid Rollup:混合zkRollup,而非zkEVM_第2张图片
为创建privacy centric dapps,Aztec的Private Smart Contracts将使用:

  • Secret Functions:管理private state,并与public state、L1 messages以及Ethereum交互。
  • Public Functions:管理public state,并与L1 messages以及Ethereum交互。
  • Portal Contracts:在L1和L2之间bridge messages。
    Aztec的L1-L2通讯使用portals和message boxes来传递message。从而可 以“pull”模式,支持L2 private与L1 public contracts之间的交互的同时,保持了隐私以及最小化的rollup-block size。
    不同于由sender直接将message发送给receiver的“push”模式,"pull"模式中,messages存储于指定的区域(message box),接收方需要的时候可从该区域“pull”或retrieves messages。
  • Aztec Kernel:管理函数调用的kernel circuits。具有private kernel circuits以及public kernel circuits,对应特定类型的函数调用。
    • Txns arebuilt by generating proofs for multiple recursive iterations of kernel circuits. Private proofs precede public ones
    • txn is complete when both call stacks are empty

Aztec Hybrid Rollup:混合zkRollup,而非zkEVM_第3张图片

Aztec Hybrid Rollup中,Private functions的执行优先级要高于 Public functions:

  • Private functions可单方面调用Public functions,反之则不可以。
  • Txn order:private(historic data),then public(current state)。
  • 用户创建kernel proofs,Sequencers管理public state。
  • Public functions modify private storage,反之则不可以。
    Aztec Hybrid Rollup:混合zkRollup,而非zkEVM_第4张图片

Aztec Hybrid Rollup的programmable privacy主要依赖于3大电路类型:

  • 1)Private Kernel Circuit:由用户执行,通过使用zk来验签、隐藏地址、验证Noir Contract proofs、管理private state 以 确保隐私性。
  • 2)Public Kernel Circuit:由知悉public data tree的Sequencers运行。会forwards data、验证之前的kernel proofs、强化function execution rules。
  • 3)Rollup Circuits:包括Base circuits、Merge circuits和Root circuits。将交易压缩为单一SNARK,支持高效以太坊验证和并行化证明生成。

Aztec Hybrid Rollup:混合zkRollup,而非zkEVM_第5张图片

Aztec Hybrid Rollup:混合zkRollup,而非zkEVM_第6张图片
其中Connect为Aztec已实现的协议,采用了encrypted UTXO架构,以notes来表示money(value of token)。详细可参看博客:

  • Proof Compression
  • Aztec Connect即将主网上线
  • Aztec connect bridge代码解析

在Aztec Hybrid Rollup中,采用了与Connect类似的架构设计,不同之处在于:

  • UTXO不仅代表了“the value of a token”
  • UTXO还代表了任意data,当前UTXO可存储整个智能合约。

Aztec Hybrid Rollup中采用UTXO模式来表示和管理txn,并使用UTXO模型来管理private state variables,使用nullifiers来做delete操作,使用record replacement来做modification。

Connect仅支持3中custom-built circuits,而Aztec zkRollup支持任意智能合约逻辑,且同时支持public state和private state。这意味着开发者可访问整个以太坊用例,以及所有新的支持加密的应用。

Connect设计为仅限于DeFi,而Aztec zkRollup不受限。

Aztec zkRollup可用于:

  • Private voting for public DAOs
  • Private sessions of public games
  • Private trades on public AMM’s

Aztec Hybrid Rollup:混合zkRollup,而非zkEVM_第7张图片
当前处于Milestone 1.0阶段。

附录 Noir

Noir为用户和开发者简化了UTXO,使得可用户友好的方式来访问和与private state交互。
Noir将底层circuit进行了抽象,为开发者提供了便利和灵活性,其底层可根据开发需要支持多种不同的ZKP证明系统。

Noir为Aztec Labs主导开发的zero knowledge开发语言,致力于:

  • LLVM for zkSNARKs。这意味着Solana和Cosmos等都可借助Noir集成ZK proofs。

Aztec Hybrid Rollup:混合zkRollup,而非zkEVM_第8张图片

参考资料

[1] Aztec团队2023年5月4日博客 Aztec: the Hybrid zkRollup
[2] 2023年5月6日twitter
[3] 2023年5月5日twitter

你可能感兴趣的:(zkVM,zkVM)