作者:knarb

区块链默认是透明的,因而,它缺少隐私特点。

当区块链上发生买卖时,它所涉及的地址的钱包余额、代币、NFT 和与其他地址的交互、合约以及它们从前买卖的详细金额都是公开的,任何人都能够看到,虽然公共地址是伪匿名的,但它们能够以某种程度的概率确定性链接到其一切者的身份。假如区块链的选用率要保持其现在的轨迹继续快速发展的话,咱们很难幻想这种彻底透明的水平会大规模的继续下去。

可是与此同时,彻底的隐私特点自身又会受到监管和合规问题的约束,这便是为什么隐私层将在根底设施隐私的领域中发挥重要作用的原因,而 Aztec 便是一个朝此方向不断发展的协议。

Aztec Network

下面的图片显现了以太坊上智能合约交互的情境。智能合约履行的每一笔买卖以及这些买卖的确切价值都能够在区块浏览器上看到。

以太坊的可扩展隐私层

Aztec 网络为此引入了一个隐私层。Aztec 网络是由 Zac Williamson、Joe Andrews 和 Thomas Pocock 创立的,它是以太坊上的一个 ZK-rollup(零常识证明 rollup),Aztec 选用了隐私维护架构,经过零常识证明的隐私买卖,进而为用户和去中心化的应用程序供给隐私维护。

隐私架构

Aztec 经过一个名为 PLONK 的零常识证明体系来实现对隐私的拜访。

PLONK 是指拉格朗日基数(base)的排列组合,用于遍及的非交互式常识证明。

以太坊的可扩展隐私层

PLONK

PLONK 本质上是根据这些多项式之间的最低关联度来排列一组多项式,它运用了一种更遍及和可更新的可信设置,与从前的可信设置迭代比较,它能够同时用于一个以上的加密程序,并允许更多的参与者加入进来。

这里有一份 Vitalik 关于 PLONK 的更深入的攻略‌,这份攻略讲解了它的优点和它怎么作业的技术问题能够在这里阅览。

由于运用 PLONK 对这些买卖的价值进行了加密,因而 Aztec 中的买卖是具有隐私特点的。该加密值被命名为“Aztec note”,或许为了简单起见,咱们在接下来的文章中将其称为“note”。note 由一组椭圆曲线许诺和三个变量组成;信息(message)检查密钥(viewing key)开销密钥(spending key)

  • 椭圆曲线许诺本质上是一种加密算法,它允许验证者许诺一个特定的值,而在许诺后不能泄漏或改动该值。

  • 信息指的是 Aztec 的 note,即由 Aztec 加密的买卖值。

  • 一个检查密钥能够解密一个 note。具有检查密钥的人能够检查和阅览 note 的解密值,并有才能创立一个 joint-split 零常识证明,这是验证 joint-split 买卖的零常识证明。

  • 谁具有开销密钥,谁就能签署 joint-split 的零常识证明。

joint-split 买卖本质上是毁掉 note,然后创立不同价值的 note,这些 note 的价值加起来相当于原始 note 的价值,而 joint-split 零常识证明能够验证有没有发生过双花,而不泄漏这些单个 note 的价值。

理解 joint-split 买卖的一个简单方法是将其视为一个公式:

( A + B ) = ( C + D )

以太坊的可扩展隐私层

joint-split 买卖

假如 note A 是 50,note B 是 50,那么(A + B)便是 100。在 joint-split 买卖中,note A 和 B 被毁掉,新的 note C 和 D 被创立。只要创立的新 note 的排列组合加起来等于本来的(A + B ),也便是 100,就没有约束。

一切从前被创立和毁掉的 note 都保存在两个独立的 Merkle 树中:一个 note 树和一个无效(nullifier)树

Merkle 树是一种能够协助证明数据集完整性的数据结构,同时它经过单向散列函数大大减少了所需的内存要求,该函数将各层数据合并到一个单一的 Merkle 根,然后能够验证相关 Merkle 树中包括的一切数据。

note 树包括一切从前创立的 note,而无效树包括一切从前被毁掉的 note。

“毁掉”自身便是一个说法过重的词,由于“毁掉”一个 note 仅仅意味着将一个相应的无效 note 增加到无效树中。而验证你对一个 note 的一切权意味着检查这个特定的 note 是否存在于 note 树中,并且在无效树中没有相应的无效值。

以太坊的可扩展隐私层

Merkle 树

当一组 note 进行 joint-split 买卖时,那些旧的 note 的无效值被增加到无效树中,而新创立的 note 被记录在 note 树中,无效树被穿插检查以保证这些新 note 没有相应的空值。

让咱们用一个适用的比如来回顾一下。幻想一下,南希现在有两张 50 美元的 note,想给保罗寄 20 美元。南希将创立一张(或多张)加起来为 20 美元的 note 送给保罗,并创立一个(或多个)加起来为 80 美元的 note 留给自己。然后,南希将创立一个零常识证明,以验证总和为 20 美元的一组 note 的一切权属于保罗,而总和为 80 美元的另一组纸币的一切权属于她。随后,智能合约将验证这个零常识证明,一旦进行验证,将“毁掉”或将南希的两套 50 美元的旧 note 的无效值增加到注册表的无效树中,并创立或增加一切新的 note 集(包括她和保罗的)到 note 树中。

可扩展性

Aztec 的证明体系现已晋级,现在被称为 UltraPlonk,它是用 Plookup gate 进行提升后的 PLONK。经过这次晋级,Aztec 的扩展根底设施是这样作业的:

  • 一个证明是在浏览器的客户端生成的

  • 28 个客户端的证明被汇总成一个内部(inner)rollup 证明

  • 32 个内部 rollup 证明然后汇总成一个外部(outer)rollup 证明

  • 然后,外部 rollup 被验证为根 rollup 回路(circuit),这是另一个更大的回路,其意图是建立保证履行的根底机制的有效性

  • 然后,根 rollup 回路被发布到以太坊的主网上

以太坊的可扩展隐私层

外部 rollup 证明

上面的插图是一个晋级后的外部 rollup 证明,它由 32 个内部 rollup 处理的 28 个客户端证明所组成。在最新的晋级之前,一个外部 rollup 只由 4 个内部 rollup 组成。

在晋级前,它是 28 个客户证明乘以 4 个内部 rollup,这相当于 112 个 TPR(每个 rollup 的买卖)。晋级后,现在是 28 个客户证明乘以 32 个内部 rollup,结果是 896 个 TPR。

在晋级后不仅是 TPR 增加了 8 倍,在以太坊主网上发布证明的成本也下降到 550000 gas,与晋级前比较,这相当于减少了 30%(来历:Aztec 文档‌)

有了这些改善,下面是每个用户在晋级前后为每笔买卖付出的 rollup 成本。

以太坊的可扩展隐私层

来历:Aztec

但是,在他们最近的社区 AMA 中,该团队弄清说,协议的吞吐量在实践中现在徜徉在 200 TPR 左右。虽然依然比从前的体系晋级了 2 倍,但离所谓的 896 TPR 还很远。其原因是由于以太坊主网无法处理 Aztec 的根 rullup 回路的悉数容量。该团队确实弄清说,这将在它们的证明体系的下一次晋级中得到处理,据称这也将把在以太坊主网上发布证明的成本下降约 67%,达到 180000 的 gas 费用。

Aztec:Connect

当用户从主网(以太坊)经过桥来到第二层网络(Arbitrum、Optimism 等)时,他们只能与现已布置在他们所处履行环境上的协议进行交互。

即:经过桥到 Arbitrum,用户只能与现已布置在 Arbitrum 上的协议进行交互。供给桥到 Optimism,用户只能与布置在 Optimism 上的协议进行交互,以此类推,其他第二层网络也是如此。

以太坊的可扩展隐私层

这就产生了两个问题:可组合性断裂流动性(Fractured Liquidity):

  • 可组合性——假如一个 rollup 用户方案履行多个协议的买卖,而这些协议中只要一个没有布置在该 rollup 上,那么它就不能这样做。例如,假如一个 Arbitrum 用户想在 1 inch 进步行买卖,在 AAVE 上借款,在 Yearn 上来挖矿,可是 AAVE 并没有布置在 Arbitrum 上,那么这个用户就不能像在以太坊主网上那样做他们本来想做的事情。

  • 断裂流动性——假定 rollup 的选用继续增加,那么从以太坊主网涣散到这些 rollup 的流动性也会增加,随着更多的 rollup 推出自己的鼓励结构,现已涣散的流动性会在各个 rollup 中变得愈加涣散

最后,买卖依然是彻底透明的。

Aztec Connect 打算处理这些问题,它是一个将 Aztec 的 rollup 与以太坊上的 DeFi 协议连接起来的可组合隐私桥,它能使 Aztec 内部的用户能够直接与以太坊主网上的协议进行交互,并具有更高的隐私水平,而不需求这些协议布置在新环境上。

以太坊的可扩展隐私层

Aztec: Connect 是怎么作业的?

Aztec 内部的一切买卖都是具有隐私特点的,Aztec 以外的各方无法检查内部活动。当 Aztec 用户想用协议进行买卖时,他们的买卖将经过 Aztec Connect,并与其他 Aztec 用户的买卖进行合并,运用批处理机制有助于每个买卖的匿名性设置和更廉价的费用。一旦达到批处理内的阈值,Aztec Connect 就会将一切单个买卖作为一个大的批处理买卖在以太坊主网上针对该协议进行履行。

以太坊的可扩展隐私层

运用 Aztec Connect 的批处理买卖。来历:Etherscan

这处理了可组合性问题,由于 Aztec 用户将能够像在以太坊主网上一样拜访一切协议,从交流、假贷、假贷、DeFi 挖矿到管理投票。由于协议不必布置在另一个履行环境上,断裂流动性就变得不那么重要了。至于隐私问题,Aztec Connect 作为一个代理,用户能够在彻底匿名的情况下与第一层协议进行交互。

在主网和其他 rollup 中,区块资源管理器上的买卖看起来是这样的:[from: 0 xUser, to: L1/L2 SmartContract]。

以太坊的可扩展隐私层

Arbitrum 上的买卖。来历:Arbiscan

运用 Aztec Connect,区块资源管理器上的买卖看起来是这样的:[from: Aztec Connect, to: L1 SmartContract]。

以太坊的可扩展隐私层

运用 Aztec Connect 在主网进步行的买卖。来历:Etherscan

幻想一下,Aztec 就像是一个四周有城墙的城市。外部观察者能看到的仅仅用户经过桥进出 Aztec。在城墙内,用户能够经过彻底隐私的买卖来交流财物。网络或其参与者都不能看到买卖的发送者和接受者,也不能看到他们的金额。此外,一旦进入该体系,用户能够批处理买卖并传送回主网——他们能够进行交流,取得收益,借出资金,在 DAO 中投票,或购买 NFT。
来历:Aztec 文档

zk.money

zk.money 是一个建立在 Aztec 之上的应用程序,它既是一个屏蔽协议,也是一个将用户从以太坊主网接入 Aztec 的门户。

想要在 Aztec 内部与 DeFi 协议或与 Aztec Connect 交互的用户需求经过 zk.money 进行注册和充值。用户在注册时需求制造一个独特的“化名”(它有 20 个字符,只要小写字母数字的约束)作为你公钥之上的内部用户名,然后使其在用户想要彼此发送财物时更简单输入和读取。请注意,这个化名只在 Aztec 内部运用,它不是 ENS。用户在注册化名后需求存入至少 0.01 个 ETH + gas 费用。

充值到 zk.money 的 ETH 将被转换成为 zkETH

虽然初始注册充值现在只支撑 ETH,但 Aztec 和 zk.money 同时支撑 ETH 和 DAI。当后者被存入 Aztec 时会变成 zkDAI

该协议从前支撑 renBTC,虽然在他们最近的社区 AMA 中,团队指出由于与 ETH 或 DAI 比较,运用 renBTC 的需求较低,所以他们不再支撑这些代币。因而,他们决定不再支撑 renBTC,以减少任何可能约束和危害其买卖隐私的变量集。

只要用户在 Aztec 的 rollup 范围内运用在 zk.money 注册的地址进行买卖,那么他们将运用 zkETH 和 zkDAI 进行买卖。

当 zkETH 或 zkDAI 被发送到未在 zk.money 注册的地址时,未注册的接收方将收到以太坊主网上的普通 ETH 或普通 DAI。

以太坊的可扩展隐私层

zk.money 是怎么作业的

在上面的比如中,0 x123 发送 zkETH 给 0 x456,后者将收到 zkETH,由于他们现已在 zk.money 进步行了注册。

但是,假如 0 x123 发送 zkETH 给 0 xABC,后者将收到以太坊主网的普通 ETH,由于他们没有在 zk.money 进步行注册。

虽然 0 x123 怎么向 0 xABC 发送 ETH,但在区块浏览器上没有依据表明这两个地址之间发生了任何直接的交互,除了两者在某个时刻点与 Aztec Connect 智能合约进行了交互。

大家能够阅览这份关于怎么设置 zk.money 的深入攻略‌

现在,DeFi 协议 Element Finance 和 Lido 可与 Aztec:Connect 一起运用,前者运用 zkDAI,后者经过 Curve 运用 zkETH。Aztec 对 AAVE、Compound 和 Liquity 等协议的支撑将很快到来,在他们最近的社区 AMA 中,Aztec 团队确认支撑 Aztec Connect 的去中心化买卖所是他们现在的首要任务之一。

结束语

在当时,区块链的隐私特点私被没有引起大家的注重。大多数人不会介意,直到为时已晚,或许直到他们自己亲身经历了缺少隐私的影响。

以太坊的可扩展隐私层

可扩展性并不重要,直到它忽然变得重要。
去中心化并不重要,直到它忽然变得重要。
隐私并不重要,直到它忽然变得重要。

随着 UltraPlonk 的可扩展性的运用,以太坊作为去中心化的处理层,一个可组合的隐私桥,随着越来越多的协议被集成,以及架构上对根底设施隐私的强调,使得断裂流动性不再是一个问题,Aztec 正在很好的成为以太坊的可扩展的、可选择的隐私层。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注