以太坊的可扩展隐私层

区块链默认是透明的,因此,它缺乏隐私属性。

区块链网专职打假记者张志华报道:当区块链上发生交易时,它所涉及的地址的钱包余额、代币、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 正在很好的成为以太坊的可扩展的、可选择的隐私层。

24小时热点

转USDT被骗可以追回吗?给别人转了USDT不给钱怎么办?

能否追回主要看你的操作是否及时。给别人转了USDT不给钱请及 ...

29019

区块链圈小菜鸡

Pi钱包最新版本下载攻略,一文教你成功下载Pi钱包

Pi Network是一个新兴的加密货币项目,旨在让普通人也 ...

147099

区块链圈小菜鸡

最新中国数字人民币股票代码汇总

最新中国数字人民币股票代码有300468、002649、60 ...

68070

波场区块链浏览器

988pay虚拟钱包使用指南分享

988pay虚拟钱包被称为数字货币钱包或者是区块链钱包,方便 ...

598280

波场区块链浏览器

1U等于多少人民币?U币怎么兑换人民币?

U币(如USDT)是一种基于区块链技术的稳定币,其价值与美元 ...

206711

区块链圈小菜鸡

全面解析Sol钱包使用指南:如何安全下载和管理Sol币

了解Sol钱包的使用方法,从如何安全下载Sol币钱包到管理私 ...

1151

区块链网快讯

柚子钱包官网下载使用的教程

柚子钱包是一个区块链数字资产管理工具,支持多种数字货币的交易 ...

14145

波场区块链浏览器

k钱包是什么:数字货币管理和存储工具

在数字货币领域,安全有效地管理和存储资产成为了用户的首要关注 ...

20229

波场区块链浏览器

Pi币在国内是否合法?国家为何不禁止Pi币?

目前,Pi币在国内尚未被明确禁止或合法化,其合法性仍存在争议 ...

285999

波场区块链浏览器

USDT网络选哪个?哪个USDT交易网比较好?

USDT(泰达币)是基于不同区块链网络发行的稳定币,主要有三 ...

13202

区块链圈小菜鸡

热点专题

区块链网是什么

中国区块链价值评价中心 中国区块链价值评价中心于2 ...

5290297

知信链

免费的行情软件app网站在国外有哪些?

区块链看行情的软件,简而言之,就是一类能够实时提供数字货币行 ...

2371744

波场区块链浏览器

雷达币最新进展:2024年主网上线时间及前景预测

近期有传闻称,新加坡的加密货币交易所推出了一款雷达币,这款被 ...

1819370

波场区块链浏览器

2024年最新十大不收费看盘软件排名公布

随着股市交易的普及和技术的发展,投资者对高效、可靠且免费的看 ...

1121393

波场区块链浏览器

元界(Metaverse)

元界(Metaverse)是一个去中心化的公有区块链项目,元 ...

990736

WEEX数字货币

BTC123

BTC123(www.btc123.com)成立于2011年 ...

834744

Kusama 测试网

最全传销名单,请告诉家人朋友,别让他们上当受骗后赔到血本无归

因为互联网的发展,让现代传销具备了更强的隐蔽性,更让社会经验 ...

782513

律动 BlockBeats

中币网zb——中币交易所

ZB.com是一个全球化的数字货币交易所,目前已获得泰国和迪 ...

741726

中币交易所

Bitfinex(香港B网)

Bitfinex交易平台目前仍处于试运营阶段,该平台由iFi ...

720579

Hi元宇宙

DAC币——达芬奇Davinci Coin

达芬奇项目的平台是通过叫作"Dchain"的自身区块链把可以 ...

713926

Mechanism Capital