Aztec 即将上线的新功能或实现隐私 DeFi,弥补隐私赛道的缺口。
原文标题:《解读 Aztec:将隐私带入Defi 的 L2 | 链茶尽调》
撰文:echo_z
近期,链茶馆发布了 L2 系列文章,从 L2 概览到 StarkWare、ZKSync 等具体项目,分别做过详细介绍。除了之前介绍过的龙头项目外,L2 中还有个较为特殊的项目 Aztec,实现了隐私交易。隐私交易并不新鲜,但是 Aztec 即将上线的新功能可以实现隐私 Defi,弥补了隐私赛道的缺口。本文将对 Aztec 进行分析。
在现实世界中,「隐私」几乎是默认选项,没有人希望自己的信息泄露。但在区块链世界中,由于链上信息的透明性,用户大多数时候无法享受交易行为的隐私保护。对于现阶段的散户来说,尚且无伤大雅,但是随着行业发展,隐私也必然会成为重要功能。链茶馆判断,用户需求可能会集中在两方面:
其一,大户对于交易隐私保护的需求。大户如果公开自己的大笔余额和交易行为,无异于带着家产招摇过市,容易吸引黑客或者暴露身份。从目前已有的隐私交易项目来看,资金也多集中于大户交易。
下图为 Tornado Cash 的每月取款数据,其中数字代表取款次数,区间代表提款份额(Tornado 的机制为通过 0.1ETH、1ETH、10ETH、100ETH 四种面额来存提款),计算可得 100ETH 的提款总额最大,以 6 月为例,占全部提款额的 87.6%。
来源:https://dune.com/poma/tornado-cash_1
其二,当 Web3 发展到投资之外的范围,如通讯社交等场景时,隐私的需求一定也会凸显。相信没有人希望自己的账户不断被垃圾信息干扰,也没有人会希望自己和密友间的聊天内容被公开。
总结而言,由于 Web3 当前的使用场景集中于交易投资,仅大户对于隐私有较强需求;而随着 Web3 功能场景的拓展,隐私需求也会拓展到散户。
从目前的供给来看,实现了隐私功能的项目绝大多数只能满足简单的转账功能。隐私赛道的头部项目包括:FDV~21 亿美元的 Monero 和~11 亿美元的 Zcash,二者都是独立的 L1 公链,不支持智能合约;FDV~2.3 亿美元的 Tornado Cash 则是建立在以太坊上的智能合约,只能支持按照有限面额的存提款。除此之外,个别项目如 Secret Network 可以支持智能合约,FDV~1.7 亿美元,然而其核心的隐私功能依赖于硬件设备,安全级别太低 [1]。
因此,隐私赛道缺乏功能完备、且安全级别足够高的项目。Aztec 作为新兴的隐私项目,具有补足这一缺口的潜力:作为 ZK Rollup 的项目,可以共享以太坊的安全性,且项目的中短期目标就是实现 Defi 交互的隐私性,能够为隐私赛道带来新的体验。
Aztec 的产品体系为:基于底层的 PLONK 证明系统,实现账户间的匿名交易,并通过网关合约的嫁接来实现和 Defi 项目的隐私交互。除了网关的部分外,Aztec 的隐私实现方式其实和 Zcash 很相似,类似一个通过 Rollup 技术共享以太坊安全性的 Zcash。下文将对其隐私架构及 Defi 交互方式进行详述。
Zcash 的记账模型遵循比特币的 UTXO(未花费交易支出)模型,每一个 UTXO 被称为一个 Note(票据),记录了每笔交易的变化。举个例子,如果我的账户中有 10 元的票据,而我此时给其他人转账 5 元,那么这张 10 元的票据就会拆分成 2 张 5 元的票据,其中一张的所有者是被转账者,另一张的所有者就是我自己。而对于一个账户地址而言,余额的全部就是所有 UTXO 的总和。
来源:https://medium.com/aztec-protocol/an-introduction-to-aztec-47c70e875dc7
与此相对的,则是以太坊基于账户的记账模型:每个账户对应一个余额,转账时需要在双方的地址数上做加减法。由于每个账户的余额都已经清晰记录在最近一次交易中,不像 UTXO 那样需要加总账户下的所有 UTXO,因此对于较复杂的智能合约来说,账户模型更易于计算,是较主流的记账模型,而 UTXO 则多见于比特币等简单转账网络。
来源:https://medium.com/aztec-protocol/fully-confidential-ethereum-transactions-aztec-networks-privacy-architecture-274f968b13d4
UTXO 模型和账户余额模型有各自的优劣势,而在隐私方面,UTXO 适于存放于同一账户的不同地址下,更能够混淆交易之间的联系 [2],这大概是 Zcash 和 Aztec 都选择了 UTXO 的原因。
在这样的记账模型下,用户的每一次交易,本质上是销毁了一张或 N 张票据,生成了另外总和相等的一张或 N 张票据,并转让了部分票据的所有权。
在 Aztec 的数据结构中,所有票据的状态存储在两个 Merkle Trees 中,其中一个是 note tree(票据树),存储着所有生成过的票据,另一个则是 nullifier tree(废弃树),存储所有被销毁过的票据。所谓「拥有」一张票据,即在 note tree 中存在对应票据、而在 nullifier tree 中不存在对应票据 [3]。
来源:同上图
那么,用户的隐私是在哪一步实现的,又有哪些信息经过了 Rollup(打包)呢?这就涉及到多层证明生成的过程。
当用户要进行一笔交易的时候,需要销毁并生成相应的票据,再将票据的所有权转移,而对于这笔私密交易,用户需要在本地生成一个「隐私证明」(privacy proofs)。随后,28 笔私密交易将会聚合为内部 Rollup 证明( 「inner」 rollup proof),之后又有 32 个这样的内部 Rollup 证明聚合为外部 Rollup 证明(「outer」 rollup proof),外部 Rollup 证明将会最终被提交到 L1 上,供节点验证。
下图中显示的是 4 个内部 Rollup 证明聚合为 1 个外部 Rollup 证明,总共 112 笔交易,而在今年 3 月更新的 SDK 中,提升为 32 个内部 Rollup 证明,换言之一个最终提交的 Rollup 证明中可以包含 28*32=896 笔交易。
来源:https://medium.com/aztec-protocol/privacy-for-pennies-scaling-aztecs-zkrollup-9f2b36615cc6
需要注意的是,只有用户在本地生成的隐私证明,是真正不泄露信息的零知识证明,也是整个系统中唯一为隐私负责的部分 [4]。而在其之上的内部 Rollup、外部 Rollup 证明,都和 StarkWare、ZKSync 等通用 ZK 系 L2 一样,并不必然是零知识。BTW,StarkWare 团队曾提议,将 ZK Rollups 改名为 Validity Proof,以免混淆概念 [5]。
Aztec 的 Rollup 方式和 StarkWare、ZKSync 等 ZK 系 L2 还有一个很大的不同:通常 ZK 系 Rollup 都是将多笔交易打包,生成聚合证明,而 Aztec 为了实现隐私,需要将每笔交易分别生成证明,再将证明打包生产证明。这大概也是 Aztec 的 gas fee 高于其他所有 Rollups 的原因。
在整个过程中,可以看到多个源自 Zcash 的做法,包括 UTXO 记账模型、两种 Merkle Trees 的设计、用户在本地生成隐私证明的方式,都和 Zcash 相同。此外,Aztec 还提供内部转账的功能,也就是一个匿名账户可以给另一个匿名账户转账,这能够隐匿两个地址之间的交易联系,避免由于某个钱包地址余额不足、需要输入矿工费等场景下,和另一个钱包产生公开联系。如此,会比 Tornado Cash 这类仅仅通过面额池存提款的方式更能保护隐私,而 Zcash 也提供这一功能。
Zcash 提供的多种转账模式,红框为匿名到匿名,也就是 Aztec 中的内部转账功能。来源:https://z.cash/technology/
至此,我们基本可以理解 Aztec 的隐私架构:采用 UTXO 的记账模型,以「票据」的分拆和所有权转让实现转账,由用户在本地生成隐私证明来实现隐私交易,再通过双层 Rollup 实现多笔交易的聚合证明,提交到 L1 验证。底层隐私架构有不少设计取自 Zcash,而通过 Rollup 的聚合证明方式则借用了以太坊安全性,有些类似一个 Rollup 版的 Zcash。
上述隐私架构实现了用户的私密交易,但到这一步为止只是将隐私交易迁移到了 L2,相对原来的解决方案并没有显著进步,仍然只能实现简单的转账。Aztec 的目标也不止于此,长期希望能够支持所有智能合约的隐私交互,而其中短期目标是实现 L1 上 Defi 的隐私交互。
Aztec 实现隐私 Defi 的方式比较讨巧。由于采用了 UTXO 模型,不适用于复杂的智能合约,因此 Aztec 没有试图在 L2 上推广智能合约,而是通过「网关」的方式,将交易聚合到 L1。
其具体的方式是:当用户要进行一个 Defi 交易时,Aztec 会把同类型的交易打包,并把这些交易传递给 Aztec Bridge Contract—— 一个部署在 L1 的合约,再通过这个合约聚合资金并调用相应的 Defi 功能,最后将交易完成的资金按比例返还给 L2 上的账户 [6]。
这有点类似一个金库策略,将同类的交易行为打包完成,在实现隐私的同时也能够分摊 gas fee。
对于 L1 的 Defi 项目来说,迁移变得非常简单,不再需要重新部署合约,只需要和 Aztec Connect 完成接口即可。不过,这也降低了项目部署的灵活性,只有同类型的交易足够多才能够摊薄费用,否则单笔交易仍然会比较贵。如此看来,这一方式短期内大概只适合操作单一、资金密集的项目。
Aztec 的隐私设计基于 UTXO 模型,不适于复杂的智能合约开发,目前的产品仅限于团队自己开发的 zk.money,对于其他项目的集成主要通过 Aztec Connect 网关合约来实现。
zk.money 最早发布于去年 3 月,目前正在新版和旧版的分叉阶段,新版仍未上线。
旧版 zk.money 只能实现简单的转账支付,支持 ETH/DAI/renBTC 三种资产。用户每次连接时,需要通过 ETH 钱包进行签名,之后可通过「Shield」存款,再通过「Send」进行内部转账、或提款到 L1 账户。
来源:https://old.zk.money/asset/ETH
由于功能简单、手续费较高,旧版 zk.money 的使用率较低,当前 TVL 仅在~500 万美元,高峰时也仅为~1,400 万美元。
来源:https://defillama.com/protocol/aztec
新版 zk.money 将会上线 Aztec Connect,实现隐私 Defi,是 Aztec 项目的重要里程碑,原定于 6 月初上线,但目前仍在处理问题,还没有明确的上线日期。根据今年 4 月的官方博客,初期应该会集成 Element.fi 和 Lido,作为最早上线的隐私 Defi [7]。
整体来看,Aztec 的设计可以方便地接入 L1 的 Defi,但是没有提供项目自由部署的选项,如此则较难建立独立的公链生态,更像是为 L1 的 Defi 项目集成了一个隐私选项。
Aztec 的核心团队有较强的技术能力,其底层证明系统 PLONK 的三位合作者中的两位均在 Aztec。
CEO Zac Williamson,牛津大学粒子物理学博士,PLONK 发明者之一,曾在 CERN(欧洲核子研究中心)和 T2K(日本一个粒子物理学实验)担任物理学家。
CPO 产品总监 Joe Andrews,伦敦帝国学院材料科学工学士,曾在硅谷的餐饮创业公司 Radish 担任 CTO。
首席科学家 Ariel Gabizon,以色列魏兹曼研究所(Weizmann Institute)计算机博士,曾在 Zcash 担任研究员和工程师,也是 PLONK 的发明者之一。
截至目前为止,Aztec 披露过的融资金额累计 1,910 万美元。2018 年 11 月公布了由 Consensys 领投的 210 万美元种子轮融资;2021 年 12 月公布了由 Paradigm 领投的 1,700 万美元融资,其他参投者包括 IOSG Ventures、Variant Fund、Nascent、imToken、Scalar Capital、Defi Alliance、ZK Validator 及天使投资人 Anthony Sassano、Stani KulecFhov、Bankless、Defi Dad、Mariano Conti、Vitalik Buterin,且上轮投资方 a_capital、Ethereal Ventures 和 Libertus Capital 也继续加注。此外,2019 年 9 月也曾公布过一轮种子轮融资,但未披露金额。
链茶馆认为,Aztec 的核心优势为:产品实现了安全级别较高、且能够和 Defi 项目交互的隐私功能,而当前隐私赛道绝大多数产品仅能支持简单转账功能,Aztec 有效填补了赛道空缺。不过,这一功能仍未上线,需要观测上线后的功能表现。
然而一体两面,特殊的隐私功能也在很大程度上限制了项目。
一方面,Aztec 依靠集成网关合约来实现对 Defi 项目的操作,在降低部署难度的同时也降低了灵活性,短期来看更适合操作单一、资本密集的项目。
另一方面,为了实现隐私,要求给每一笔交易都生成隐私证明,虽然项目通过双层 Rollup 方式分摊了存储空间,但 Aztec 的手续费在所有 L2 中仍然是最高的,对用户而言门槛也较高,更适合大户。
总体来看,Aztec 的产品功能简单直接,预计如果功能表现尚可,会在 L2 中占据一席之地;但就目前与 Defi 的标准化集成方式来看,更像是为 L1 的 Defi 项目所做的功能补充,可能天花板不会太高。
Aztec 的远期目标不止于此,最终是希望实现所有智能合约的隐私交互,而要实现这一目标,大概需要全新的方案。
6. 附录
[1] https://twitter.com/0xfoobar/status/1502083084052836354
[2] UTXO VS. ACCOUNT MODEL:
https://academy.horizen.io/technology/expert/utxo-vs-account-model/#:~:text=The%20UTXO%20model%20is%20a,constructions%2C%20as%20well%20a%20sharding.
[3] Fully Confidential Ethereum Transactions: Aztec Network’s Privacy Architecture:
https://medium.com/aztec-protocol/fully-confidential-ethereum-transactions-aztec-networks-privacy-architecture-274f968b13d4
[4] Vulnerabilities patched in Aztec 2.0:
https://medium.com/aztec-protocol/vulnerabilities-found-in-aztec-2-0-9b80c8bf416c
[5] https://twitter.com/Starknet_Intern/status/1539520570005463040?s=20&t=lU7XNY0bBmT-bNcs2KJr1A
[6] Private DeFi with the Aztec Connect Bridge:
https://medium.com/aztec-protocol/private-defi-with-the-aztec-connect-bridge-76c3da76d982
[7] Dollars and Sense: Cheap Privacy with Aztec Connect:
https://medium.com/aztec-protocol/dollars-and-sense-cheap-privacy-with-aztec-connect-f35db037a04
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。