解读Aztec:将隐私带入Defi的L2
近期,链茶馆发布了L2系列文章,从L2概览到StarkWare、ZKSync等具体项目,分别做过详细介绍。除了之前介绍过的龙头项目外,L2中还有个较为特殊的项目Aztec,实现了隐私交易。隐私交易并不新鲜,但是Aztec即将上线的新功能可以实现隐私Defi,弥补了隐私赛道的缺口。本文将对Aztec进行分析。
本文目录:
1. 市场概览
2. 产品机制
2.1 隐私架构:UTXO模型与隐私证明
2.2 Aztec Connect:通过网关实现Defi隐私交互
3. 运营现状
4. 团队及融资
5. 优势与挑战
6. 附录
1. 市场概览
在现实世界中,「隐私」几乎是默认选项,没有人希望自己的信息泄露。但在区块链世界中,由于链上信息的透明性,用户大多数时候无法享受交易行为的隐私保护。对于现阶段的散户来说,尚且无伤大雅,但是随着行业发展,隐私也必然会成为重要功能。链茶馆判断,用户需求可能会集中在两方面:
其一,大户对于交易隐私保护的需求。大户如果公开自己的大笔余额和交易行为,无异于带着家产招摇过市,容易吸引黑客或者暴露身份。从目前已有的隐私交易项目来看,资金也多集中于大户交易。
下图为Tornado Cash的每月取款数据,其中数字代表取款次数,区间代表提款份额(Tornado的机制为通过0.1 ETH 、1ETH、10ETH、100ETH四种面额来存提款),计算可得100ETH的提款总额最大,以6月为例,占全部提款额的87.6%。
其二,当Web3发展到投资之外的范围,如通讯社交等场景时,隐私的需求一定也会凸显。相信没有人希望自己的账户不断被垃圾信息干扰,也没有人会希望自己和密友间的聊天内容被公开。
总结而言,由于Web3当前的使用场景集中于交易投资,仅大户对于隐私有较强需求;而随着Web3功能场景的拓展,隐私需求也会拓展到散户。
从目前的供给来看, 实现了隐私功能的项目绝大多数只能满足简单的转账功能 。隐私赛道的头部项目包括:FDV~21亿美元的Monero和~11亿美元的Zcash,二者都是独立的L1公链,不支持智能合约;FDV~2.3亿美元的Tornado Cash则是建立在 以太坊 上的智能合约,只能支持按照有限面额的存提款。除此之外,个别项目如Secret Network可以支持智能合约,FDV~1.7亿美元,然而其核心的隐私功能依赖于硬件设备,安全级别太低[1]。
因此,隐私赛道缺乏功能完备、且安全级别足够高的项目。Aztec作为新兴的隐私项目,具有补足这一缺口的潜力:作为ZK Rollup的项目,可以共享以太坊的安全性,且项目的中短期目标就是实现Defi交互的隐私性,能够为隐私赛道带来新的体验。
2. 产品机制
Aztec的产品体系为:基于底层的PLONK证明系统,实现账户间的匿名交易,并通过网关合约的嫁接来实现和Defi项目的隐私交互。除了网关的部分外,Aztec的隐私实现方式其实和Zcash很相似,类似一个通过Rollup技术共享以太坊安全性的Zcash。下文将对其隐私架构及Defi交互方式进行详述。
2.1 隐私架构:UTXO模型与隐私证明
Zcash的记账模型遵循 比特币 的UTXO(未花费交易支出)模型,每一个UTXO被称为一个Note(票据),记录了每笔交易的变化。举个例子,如果我的账户中有10元的票据,而我此时给其他人转账5元,那么这张10元的票据就会拆分成2张5元的票据,其中一张的所有者是被转账者,另一张的所有者就是我自己。而对于一个账户地址而言,余额的全部就是所有UTXO的总和。
与此相对的,则是以太坊基于账户的记账模型:每个账户对应一个余额,转账时需要在双方的地址数上做加减法。由于每个账户的余额都已经清晰记录在最近一次交易中,不像UTXO那样需要加总账户下的所有UTXO,因此对于较复杂的智能合约来说,账户模型更易于计算,是较主流的记账模型,而UTXO则多见于比特币等简单转账网络。
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笔交易。
需要注意的是, 只有用户在本地生成的隐私证明,是真正不泄露信息的零知识证明,也是整个系统中唯一为隐私负责的部分 [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。
2.2 Aztec Connect:通过网关实现Defi隐私交互
上述隐私架构实现了用户的私密交易,但到这一步为止只是将隐私交易迁移到了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完成接口即可。不过,这也降低了项目部署的灵活性,只有同类型的交易足够多才能够摊薄费用,否则单笔交易仍然会比较贵。如此看来,这一方式短期内大概只适合操作单一、资金密集的项目。
3. 运营现状
Aztec的隐私设计基于UTXO模型,不适于复杂的智能合约开发,目前的产品仅限于团队自己开发的zk.money,对于其他项目的集成主要通过Aztec Connect网关合约来实现。
zk.money最早发布于去年3月,目前正在新版和旧版的分叉阶段,新版仍未上线。
旧版zk.money只能实现简单的转账支付,支持ETH/DAI/ren BTC 三种资产。用户每次连接时,需要通过ETH钱包进行签名,之后可通过「Shield」存款,再通过「Send」进行内部转账、或提款到L1账户。
由于功能简单、手续费较高,旧版zk.money的使用率较低,当前TVL仅在~500万美元,高峰时也仅为~1,400万美元。
新版zk.money 将会上线Aztec Connect,实现隐私Defi,是Aztec项目的重要里程碑 ,原定于6月初上线,但目前仍在处理问题,还没有明确的上线日期。根据今年4月的官方博客,初期应该会集成Element.fi和Lido,作为最早上线的隐私Defi[7]。
整体来看,Aztec的设计可以方便地接入L1的Defi,但是没有提供项目自由部署的选项,如此则较难建立独立的公链生态, 更像是为L1的Defi项目集成了一个隐私选项 。
4. 团队及融资
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月也曾公布过一轮种子轮融资,但未披露金额。
5. 优势与挑战
链茶馆认为,Aztec的核心优势为:产品实现了安全级别较高、且能够和Defi项目交互的隐私功能,而当前隐私赛道绝大多数产品仅能支持简单转账功能,Aztec有效填补了赛道空缺。不过,这一功能仍未上线,需要观测上线后的功能表现。
然而一体两面,特殊的隐私功能也在很大程度上限制了项目。
一方面,Aztec依靠集成网关合约来实现对Defi项目的操作,在降低部署难度的同时也降低了灵活性,短期来看更适合操作单一、资本密集的项目。
另一方面,为了实现隐私,要求给每一笔交易都生成隐私证明,虽然项目通过双层Rollup方式分摊了存储空间,但Aztec的手续费在所有L2中仍然是最高的,对用户而言门槛也较高,更适合大户。
总体来看,Aztec的产品功能简单直接,预计如果功能表现尚可,会在L2中占据一席之地;但就目前与Defi的标准化集成方式来看,更像是为L1的Defi项目所做的功能补充,可能天花板不会太高。
Aztec的远期目标不止于此,最终是希望实现所有智能合约的隐私交互,而要实现这一目标,大概需要全新的方案。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum