1. 引言
混合Rollup为新的以太坊L2扩容方案,其分为2大类:
- 将乐观与ZK技术结合的混合Rollup
- 同时支持公开智能合约 和 私人智能合约 的混合Rollup
本文将重点关注Metis、Fraxchain、Aztec、Miden和Ola这五大项目。
2. 何为混合Rollup?
混合Rollup具有2重含义:
- 1)作为以太坊L2扩容方案,结合了 乐观Rollup的可扩展性,和,ZKRollup的安全性。如Metis DAO和Frax Finance。
- 2)作为同时支持公开和私人 智能合约及交易 的L2/L3扩容方案。当用户想要隐私时,可在其自身设备上执行合约、生成ZK proof、并将ZK proof上传到rollup。这样的费用效率高,因为rollup仅需验证proof,而不需要验证交易本身。
3. 乐观和ZK混合Rollup:Metis和Fraxchain
Metis为以太坊的乐观Rollup,分叉自Optimism,专为decentralized autonomous corporations (DAC) 做了优化。
根据L2Beat,Metis Andromeda链 为第三大锁仓量TVL的乐观链——约1亿美金:
根据L2 Fees统计,Metis L2网络内的ETH转账交易手续费仅约0.01美金,swap手续费约0.03美金,均为最低:
在希腊神话中,Metis是良策女神,而Andromeda是一位美丽的公主,被英雄Perseus从海龙手中救了出来。事实上,Metis DAO的标志是希腊女神的头像。有了这种神话联系,不要惊讶于Metis生态系统中的许多项目也以古代的神和英雄命名:Hera、Hermes、Maia、Athena、Tethys等。
3.1 Metis DAO的混合rollup项目
2023年3月,Metis DAO 宣布其将致力于混合rollup,将取款到以太坊的时间由7天缩短到4小时。
Metis 混合rollup L2项目:
- 其内核为乐观链,但使用ZK有效性证明。ZK proof很小,发送多个ZK proof到主网仅需花费少量gas,这将有助于缓解以太坊的拥堵。
- 仍利用相同的名为Smart L2的链下存储系统作为Andromeda。在Smart L2中,交易数据发送给MEMO去中心化云存储协议,而不是在链上维护。如有需要(如潜在欺诈),也可将MEMO中的数据重新提交到以太坊链上。
- 不将完整的交易数据发送到以太坊链上,Metis 仅发送batch的Merkle Tree Root(MTR)到以太坊链上,其余的都发送给MEMO。该解决方案要比Optimism或Arbitrum便宜的多。事实上其不是乐观rollup,而是“on-demand rollup”。
- 将兼容EVM,dApp开发则将无进入门槛。
- zkMIPS:计划使用MIPS作为其混合rollup架构,详细技术描述见:zkmips-and-other-research-challenges-for-layer-2。
且目前Optimism已在其Cannon协议中使用了MIPS。 - 未来Metis也将合并Cannon。
3.2 Fraxchain:Frax Finance生态的混合rollup
$FRAX为最大的去中心化stablecoins之一。
Fraxchain与Metis类似:
- 为基于乐观rollup + ZK proof
- 为EVM兼容
不同之处在于,Fraxchain:
- 使用frxETH、FRAX、FPI(Frax Price Index)作为gas fees。
- 支持gasless交易,具体取决于其拥有的FRAX和frxETH。
- 消耗的gas fees将分发给锁定FRX的用户。
- 使用Fraxferry协议来在链间转移FXS稳定币,无需bridges且是trustless的。
- veFXS持有人将投票决定谁是Fraxchain的sequencer。
在乐观rollup中,sequencer是对用户发送的交易进行排序(排序)和验证、将其编译为batches(rollup区块)并向L1提交批处理数据的一方。由于sequencer能够压缩交易,最终用户支付的费用比他们自己将交易发送到以太坊主网的费用要少。
sequencer有很大的权力:
- 可决定从块中包括或忽略某交易,
- 以及以特定的方式从排序操作中提取利润(MEV)。
通过让社区有能力投票给sequencer,Frax Finance将加强其去中心化治理。
即使是那些没有加入新链的Frax用户也将受益。现在,frxETH的所有收益都进入sfrxETH金库,并在质押者之间进行分配。现在想象一下,很大一部分frxETH迁移到Fraxchain,用于支付交易费用。总金库收益率将保持不变(因为持有ETH的流动资金不会改变),但将分配给少数持有者。每个frxETH持有者的APR将增加。
4. 公开和私人合约执行混合:Aztec、Ola和Polygon Miden
4.1 公开和私人合约
使用公开合约:
- 任何一方都可以查看所有其他用户如何与合同交互,包括用户输入和输出。用户向合同发送交易请求,validator批准这些请求,并更新区块链的状态。我们习惯的所有“正常”dApp,如Liquidswap、Compound等,都是在公开合约上运行的。
使用私人合同:
- 交易数据是加密的,只有经过授权的用户才能查看输入和输出。即使是区块链validator也看不到交易中的内容。
混合rollup允许用户执行公开和私人两种类型的交易。有了这项技术,私人智能合约甚至可以在用户自己的设备上本地执行。
私人合约有许多潜在用途:
- DAO的选民隐私
- AMM安全,这样机器人就看不到提交到内存池的交易;
- 公共游戏中的私人游戏锦标赛
- 机构用户的企业安全。
当前,开发公开和私人合约执行混合rollup的项目主要有:Aztec、Ola和Polygon Miden。
4.2 Aztec
Aztec自身定位为:“加密版以太坊”,并为首个混合ZK rollup。
用户可在设备端构建加密交易,在本地生成ZK proofs,并将ZK proofs提交到Aztec以打包到(发送给以太坊的)batches中。
Aztec的最知名产品为Aztec Connect,上线于2022年7月,为以太坊的隐私层,支持开发者在以太坊上构建隐私DeFi dApps,其中最知名的为Aztec官方的zk.money.protocol。不过Aztec Connect和zk.money已于2023年3月下线,团队将分配资源构建其新的混合rollup——Aztec Network。
4.2.1 Aztec Network架构
Aztec Network混合rollup网络中,不需要发送交易请求给validators,而是发送该交易对某合约是完整的proof。无论是L1还是rollup,都不知道该交易内容。
目前难点在于:
- 以太坊和EVM设计的最大化透明度 优于 隐私
- 专注于隐私的链(如ZCash)又不支持dApps
以太坊和隐私币(如ZCash)之间最大的差别在于其记录交易的方式:
- 以太坊采用账号模型:每个用户有关联balance的账号,该余额会随每笔交易变化。区块链会跟踪整个网络中的所有账号余额变化。
- 隐私币采用UTXO模型:这样的链不关心账号余额,仅关心某coin unit在某交易内是否已花费。Bitcoin也采用UTXO模型,不过其没有内置隐私性。
Aztec Network 结合了UTXO模型和支持dApp:
- UTXO可处理任意数据,而不仅仅是金钱总额
- 整个智能合约都可包含在单个UTXO内
Aztec将不与EVM或Solidity兼容。Aztec团队开发了一种新的私人智能合约编程语言——Noir。
sandbox testnet将于2023年Q3上线,公开测试网计划于2024年Q1。https://github.com/noir-lang/awesome-noir中包含了丰富的学习资源。
4.3 Ola
Ola为专注隐私的zkVM,由Sin7y Labs开发,其团队来自ZKSpace、Huobi、Qtum、Accenture。
注意Ola不是zkEVM,其不兼容EVM。不过需要对现有以太坊dApp重编码,才有可能能前一到OlaVM中执行。
Ola与Aztec Connect有一些相似特性:
- 可编程隐私
- 新的编程语言:Ola-lang。Noir为DSL,而Ola-lang为通用编程语言,可用于任意领域。
- 合规性:可以向第三方授予特殊的查看权限(viewing keys)以进行帐户监控。这可以在最终用户级别、工具上完成。
- 2种区块链状态:公开和私有。其中私有状态采用UTXO。
4.3.1 Ola与Aztec不同之处
Ola与Aztec不同之处有:
- 1)每个函数所需key pairs不同:
- Aztec每个合约函数需要其自己的密钥对(public key和verification key),以用于计算和存储。
- OlaVM不需要这样的密钥对,从而节约了资源和存储空间。
- 2)隐私设计不同:
- 如Sin7y团队Hybrid Rollup — What do Aztec, Miden, & Ola Hold for the Future of Next-Generation Infrastructure?博客中所述,用户并不是要求其交易是不可跟踪的。用户可能想要的是,无人可利用其链上行为信息来犯罪 或 获利。为此,Sin7y Labs设计了2种隐私方案:
- 可追踪交易:用户手续费更低,但仍对用户数据层提供隐私保护。
- 不可追踪交易
- 3)证明方案不同:
- Aztec采用SNARK
- Ola与polygon Miden类似,采用STARK,具体算法为Starky。
- 4)开发者友好程度不同:
- Ola:为VS Code创建了Ola-lang插件。未来将集成到LLVM框架中。Pontem Network采用相同的LLVM工具实现了首个 Move for EVM。
Ola公开测试网在2023年Q4,主网在2024年初:
4.4 Polygon Miden
Polygon Miden 不同于Polygon zkEVM,其为2023年3月宣布的新的ZK链品牌,公开测试网计划于2023年Q4:
Miden与Ola、Aztec的相似之处在于:
- 用户可运行私人智能合约,验证其交易,并生成ZK proofs。
- 切分为公开状态和私人状态。
- 灵活合规性,使得仅监管机构可访问私人智能合约内信息。
- 数据验证的资源高效性。
Miden在某种程度是与EVM兼容,不过隐私优先。与其他rollups类似,Miden网络仍会向以太坊主网发送ZK proofs。但是以太坊开发者仍有一些学习门槛来基于Miden开发。
Miden:
- 将使用(与Aptos相同的)Move作为其合约开发语言,因为Miden的创始人Bobbin Threadbare,之前在Facebook开发Move。
- 将使用(模块化区块链执行层Fuel Network背后的)Fuel Labs开发的Sway语言。
4.4.1 资源效率加隐私
Miden区分了私人交易和私人合约:
- 私人交易:可在公开合约上执行,如隐藏了所交易的特定NFT。
- 私人合约:有其代码和状态,对其它用户不可见,但仍可与公开合约交互。如Miden上的隐私钱包,可与公开AMM交互——对于不想向潜在黑客透露其操作的流动性提供商或项目团队来说,这是一个很好的功能。
- 借助私人合约,所有计算都在用户设备本地进行。即无gas开销,用户可便宜地执行复杂的合约。
- Validators仅需要便宜且简单地检查ZK proofs。使得有可能支持并行计算,即意味着Miden要比常规ZK rollup快得多。因此,在Miden上保持隐私也将为用户节省金钱和时间。
- 客户端验证:仅对不影响公开链状态的交易可行。Miden上的大多数交易都是不影响公开链状态的,包括大多数token转账和NFT交易。即使相应ZK proof已记录在链上,这些交易也可revert。
- 对于哪些需要修改公开状态的交易,Miden提供了常规链上执行选项。
4.4.2 Miden中的账号抽象
Miden中的另一创新为:
- 账号抽象:结合了EOA和合约账号的优点。2023年3月以太坊主网引入了ERC-4337作为账号抽象。
4.4.3 STARK proof递归
与Ola类似,Miden也采用STARK方案。
为解决STARK proof size大的问题,引入了递归STARK方案。
参考资料
[1] Pontem Network 2023年9月博客 Hybrid rollups: discover Metis, Fraxchain, Aztec, Miden, and Ola