
隐私交易的实现:Aztec 隐私架构介绍
Aztec 是以太坊上一个旨在解决隐私问题的 zk-rollup:也就是说它是唯一一个从头开始构建的完全保护用户隐私的 Layer 2。
为了理解隐私交易这种范式改变以及直接在网络架构中建立隐私的重要性,我们得先讨论“为什么说以太坊不是一条隐私的链”。
以太坊:一条公共区块链
大家可能已经听说过公共账本这个词,它由两个部分组成:账户和余额。
以太坊上最原始的交易是将 ETH 从一个账户 (地址) 发送到另一个账户。网络通过增加某个账户的余额和减少另一个账户的余额来记录这些交易 —— 换句话说,ETH 实际上并没有”转移“。
让我们详细看看一个例子:snoopdogg.eth 想发送一笔交易给 cozomomedici.eth。
只是两个商人
以下是交易的经过:Snoop 一开始有 100 个 ETH,然后他的账户扣了 20 个 ETH。而 Cozomo 一开始有 0 个 ETH,然后他的账户被计入 20 个 ETH。Snoop 的最终账户余额为 80 ETH,Cozomo 则为 20 ETH。转账完成。
ETH 转账交易的账本示意图
我们可以在 etherscan.io 上看到每个账户计入和扣除的交易款项,下图中显示的 ”ins“(转入) 和 "outs"(转出) 记录是公开的,所有人可见。下面是一个 ENS 名为 twinkienft.eth 的近期交易历史记录。
在这里记录了 ta 所有的光辉事迹:twinkienft.eth 的公共交易!
你可能会问:”谁是 twinkienft.eth 啊?” 我也没有头绪,但我可以看到 ta 所有的交易记录!你去 etherscan.io 上看看,你也可以观察所有被记录在区块链的交易。
就在 etherscan.io 的首页!
大家可以看到这里明显有问题:我们不仅可以看到所有的账户交易,还可以看到它们的金额、资产和交易方。
这其实就是公共区块链带来的作用。由于其公开属性,公共区块链具有可审计性和可验证性。
但这也意味着,如果某人的隐私泄露了 (无论是有意还是无意的) —— 我们可以查看他们的完整交易历史。
跟踪公共交易数据是一项大生意:像 Chainalysis 和 Nansen 这样的公司会做一些复杂的分析来关联各种钱包并监控其交易活动,并对谁持有着什么资产做出概率假设。
大家想象一下,如果你每次刷卡买羊角包时,都得向全世界展示你的银行账单。这真的很傻,对吧?
这就是以太坊的现状。
解决方案:账户加密?
"呃,好吧," 你可能会说,"这很容易解决,只要将账户、余额和持有者加密就可以了。" 咄,白痴!我怎么会这么蠢。
这就是我每天的感受…
除了讨论一下加密账户如何实现之外:
请回忆一下之前所讲的账本。经过对账户和交易加密之后,我们会得到:
似乎行得通
那么加密之后,网络应该如何检查账户,确保没有双花或者共谋的作恶行为。事实证明,要解决这个问题是非常困难的。
回到刚才那个例子。如果 Snoop 和 Cozomo 需要进行交易,那么他们必须要交互,因为网络不能帮助检查他们是否进行了有效的交易。
1. Snoop 请求 Cozomo 的加密账户状态
2. Cozomo 向 Snoop 发送已加密的状态
3. Snoop 对 Cozomo 的状态进行解密,确认交易前的余额
4. Snoop 向 Cozomo 发送一笔加密支付
5. Cozomo 向 Snoop 发送他最新的加密状态
6. Snoop 解密 Cozomo 的最新状态,确认交易后的余额 (并且 Cozomo 确实获得了他被承诺的金额)
这种精心设计的流程有很严重的缺点:很昂贵、很耗时,并且你每次只能和一个人进行交互 —— 双方还必须同时在线。
更糟糕的是,当他们结束了一场双方对话之后,任何一方都没有办法说服世界上的其他人,他们只是互相验证了他们的一笔交易。
使用票据 (note) 记账不香吗?
但是,如果我们把归属结构颠倒过来呢?以太坊默认使用账户模式,其中账户中包含余额。换句话说,查一下账户,你就会得到它的余额信息。
那如果我们换一种思维方式呢?比如说某笔资产 (用 note 来表示) 的持有者是某人。
账户里包含余额信息 vs. 资产票据推导出持有者
Bitcoin 就是使用这种模式,叫做 UTXO (unspent transaction output, 未使用的交易输出)。但是不用纠结这个术语是什么意思了,把 UTXO 当作现金 (银行票据) 就好。
让我们先思考一下,为什么使用现金记账会更安全、更隐私 —— 或者更准确地说,比基于账户的系统更安全、更隐私。
它之所以安全,是因为只有交易现金的双方知道其所有权已经易手!而全宇宙的其他人都不会知道。
你可以把现金交易模式想象成某件物品 (note) 的所有权的变更,而账户交易模式则是两个账户的状态的变更。
图示:某张加密票据的所有权变更
当一笔 Aztec 交易在进行时,网络只需简单地为给定的票据重新分配所有权,而不是更新账户余额 (增加或减少余额)。
为什么这个模式这么有用?事实证明,加密一张票据要简单得多,因为只需在上面写两个东西:这个票据值多少钱以及它的所有者是谁。那么当它转手时,只需涂掉旧的所有者的名字,然后写上新的所有者的名字。
在 Aztec 上进行简单转账
那么,在一笔简单的票据交易中,到底会发生什么呢?
假设 Snoop 有两张面值为 50 ETH 的票据 (总额为 100 ETH),而 Cozomo 手上没有任何票据。
Snoop 手上的那两张票据需要销毁掉,并且要创建两张新票据:面值为 80 ETH 的票据分给 Snoop,面值为 20 ETH 的票据则分给其新的所有者 Cozomo。
但是,如果必须披露这些票据的价值,如何保护隐私呢?
嗯..他们并没有披露这些信息,至少没有公开。当然,Snoop 和 Cozomo 知道他们交易的资产价值,就像一笔现金交易一样,但他们不需要向全世界公开。
为了保护他们相互的隐私,Snoop 发布了一笔带锁的交易,他知道只有 Cozomo 的私钥才能解开这把锁。类比一下,这有点像将这张票据放进一个小小的保险箱中。当然,他们都知道箱子里有什么 (20 ETH),所以 Snoop 必须要相信 Cozomo 不会在屋顶上大喊:“有人刚给我转了 20 个 ETH!”
但除此之外,所有权被重新分配的票据会返回到一个数据结构中,这个数据结构包含了所有曾经创建的票据 —— 这是一个默克尔树哈希,我将在下文简要地介绍一下它。
在网络观察者看来,系统的状态会是什么样子的 —— 每张票据的面值和所有者都是完全加密的。
好管家
我们知道 Snoop 销毁了两张票据,创建了两张新的票据,然后把其中一张新票据转给了他的朋友 Cozomo。那么我们如何确保他们不会共谋作恶,比如双花?如果 Snoop 销毁了总值为 100 ETH 的两张票据,然后创建了总值为 200 ETH 的两张新票据,那怎么办?或者,他们直接创建任意数额大小的票据呢?
回想一下这两个步骤:
1. Snoop 销毁了两张面值为 50 ETH 的票据并分别创建了面值为 20 ETH 和 80 ETH 的票据
2. Snoop 将面值为 20 ETH 的票据转给 Cozomo
为了确保第一步没有发生可疑的行为,Snoop 需要做的就是向系统 (Aztec) 证明他打算创建的两张票据和他准备销毁的两张票据是等值的。
这被称为连接-分割交易,这种交易符合这条简单的等式:A + B = C + D
下面是烧脑部分,跟上了!
为了证明转出票据 (C + D) 等值于转入票据 (A + B, 或者说 100 ETH),Snoop 在他的浏览器中本地生成了一个零知识证明 (zero-knowledge proof,ZKP)。
利用零知识证明,他能够证明出这条等式 A + B = C + D,而无需揭露他们的任意资产价值。
然后 Aztec 验证了这一证明,并表示:”由于这是零知识证明,那么这一定是有效的。“ 此时,智能合约销毁这两个转入票据,然后生成两个转出票据,并将新的转出票据作为加密承诺记录在票据登记表中。
所有权证明
值得讨论的是,如何在 Aztec 中证明票据的所有权,这和在以太坊中证明类似。你如何证明你控制了某个以太坊地址的访问权 —— 通过使用你的钱包对一个信息进行签名。
那么你如何证明你能够访问 Aztec 的某张票据?一个非常非常奇特的加密签名叫做零知识证明。
这个证明说,”在 Aztec 状态中,a) 存在着一张特定价值的票据,b) 我拥有这张票据的所有权。“
那么 Aztec 系统的状态怎么存储?它存储在两个默克尔树中:
-
一颗是票据树,包含着所有曾经创建的票据;
-
一颗是无效树,包含着所有曾经被销毁的票据
如果你在 Aztec 中拥有一张票据,这意味着这张票据存在于”票据树“中,并且在”无效树“中不存在对应的无效票据。
左边这棵”票据树“生气勃勃,而右边这个”无效树“则伤心欲绝。如果右边的树会说话,它可能会说”我讨厌死你了“之类的话。
当我们说到”销毁“一张票据,这实际上意味着添加一张无效票据到”无效树“中,而不是删掉”票据树“中的一张票据。
默克尔树简图
为了发送那些已证明为我所有的票据,将需要创建一个全新的默克尔树 (和默克尔根)。一旦”票据树“和”无效树“的默克尔根移动到新的值中 (换句话说,系统的状态已更新),这些默克尔根就会被发布到以太坊的主链上,且交易就会被视为已记录。
写在最后
我希望本文能让读者深刻地理解到为什么隐私如此具有挑战性:我们需要在不违反或暴露用户数据的情况下,验证交易是合法且正确执行的。
这些独特的限制意味着隐私保护架构必须从头开始架构。Aztec 是唯一一个以这种方式构建的 L2 —— 用户的隐私通过其核心架构受到保护,并利用零知识证明来维护网络运作。
来源 | Aztec Network
作者 | Jon Wu
比推快讯
更多 >>- Coinbase 向美国用户推出 DEX 交易
- 哈佛大学Q2持有1.17亿美元的现货比特币ETF,投资额超谷歌母公司Alphabet
- 据悉白宫将澄清金条关税的不实信息 黄金短线大幅飙升
- 美联储传声筒:特朗普拟提名米兰入美联储,挑战关税通胀共识
- 特斯拉获批德州网约车牌照,为 Robotaxi 运营铺平道路
- 数据:ETH 当前全网 8 小时平均资金费率为 0.0099%
- Michael Saylor:来自传统市场的超 100 万亿美元或将流入数字资产支持工具
- 特朗普与普京将于下周末举行会晤
- USDC Treasury 在以太坊上新增铸造超 6445 万枚 USDC
- 麻吉大哥黄立成以太坊多单已扭亏为盈,现浮盈超 360 万美元
- 特朗普拟推动房利美与房地美年内 IPO,计划融资 300 亿美元
- 链上身份系统 Phi 将于 9 月发币
- 华尔街日报:美国政府正准备今年晚些时候让房利美和房地美上市
- 香港金管局:谨防虚假稳定币宣传,销售须经认许提供者
- Vitalik:中美文化差异显著,长寿科技或成未来文化保存手段
- Lair Finance 推出 $LrBGT,Berachain 上首个 PoL 再质押资产正式上线
- 特朗普:关税对股市有巨大积极影响
- 洪桥集团与东方亿林达成战略合作,布局 RWA 林木资产数字化生态
- 因矿机被美国认定产自中国,CleanSpark 面临高达 1.85 亿美元惩罚性关税
- 以太坊最大持币机构 BMNR 浮盈超 14%,浮盈金额达 4.1 亿美元
- 美国和俄罗斯计划就乌克兰问题达成协议
- 某鲸鱼以 4000 美元均价买入 1390 枚 ETH,并以此为抵押做多 ETH/BTC 汇率
- Lens 宣布推出代币分发器,将向真实用户价值无 gas 分发 GHO 代币
- 外媒:美国和俄罗斯正在敲定一项有关乌克兰的“和平协议”
- HabitTrade 与加拿大稳定币发行第一股 BVCI 达成战略合作,共探币股上链合规路径
- 波场 TRON 社区发起降低主网交易手续费提案
- 以太坊近 1 小时涨幅达 2.42%,上涨逼近 4000 美元大关
- Linea 网络 TVL 近 24 小时涨超 37%,现报 2.6 亿美元
- 数据:疑似 Hex Trust 关联地址从币安提取约 238 万枚 ENA,价值 146.5 万美元
- 美股加密货币板块开盘普涨,BMNR 涨超 5%
- Joe McCann 主导的 Solana 金库公司 SPAC 上市计划已终止
- Dogwifhat 原始粉色毛线帽以约 80 万美元成交
- 纳斯达克上市公司 Trident Digital 计划筹集 5 亿美元建立企业 XRP 储备
- 彭博 ETF 分析师:首只 2 倍做多 Galaxy 的 ETF GLXU 今日正式开始交易
- 数据:过去 24 小时全网爆仓 2.85 亿美元,多单爆仓 9319.94 万美元,空单爆仓 1.91 亿美元
- 港股上市公司国际商业结算成立合营企业,从事加密资产相关业务
- Solayer:将为生态活跃用户分配 5 万枚 WCT 代币
- H100 Group 将被纳入 MSCI 全球微型股指数
- 数据:监测到 5,453.99 万 USDT 转出 Binance
- 加拿大 7 月就业数据低于预期,央行 9 月降息可能性提升
- XRP 期货交易量 24 小时激增 208%,未平仓合约量增 15%
- SharpLink:将于 8 月 15 日召开电话会议讨论公司近期业绩,并发布财务报告
- Apple Intelligence 将于下月升级支持 GPT-5 模型
- 累计盈利近 5400 万美元的聪明钱近半小时加仓比特币 40 倍多单,并 20 倍做空 SOL、XRP
- 某新建地址从 Binance 提取 4000 枚 ETH
- Animoca Brands 及其附属公司对 Cool Cats Group 进行战略投资
- Bitwise CIO:401(k)配置加密将彻底改变市场,其结果是更高的回报和更低的波动性
- Kaito 推出新一轮排行榜机制升级,将强化内容质量与反作弊措施
- Vitalik:Visa 在创立之初就具有与当今 DAO 相似的去中心化理念
- Core Scientific 最大股东反对以全股票形式向 CoreWeave 出售,称该交易估值过低