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 转账交易的账本示意图
zkSync与加密基础设施公司Espresso Systems合作,将集成CAPE技术以实现隐私交易:1月19日消息,基于ZK Rollup的以太坊二层网络 zkSync 正与加密基础设施公司 Espresso Systems 合作,将集成“可配置资产隐私”CAPE(Configurable Asset Privacy)的新技术,以实现隐私交易。任何用户都可以在不暴露区块链的私人数据的情况下进行交易,从而为不希望余额、链上活动和其他可公开访问的私人数据暴露的机构消除障碍。
据悉,该合作仍在计划中,尚未部署在 zkSync 的测试网上,预计今年晚些时候将更新现实世界资产、供应链、身份、支付和贸易融资的代币化。[2023/1/19 11:20:18]
我们可以在 etherscan.io 上看到每个账户计入和扣除的交易款项,下图中显示的 ”ins“(转入) 和 "outs"(转出) 记录是公开的,所有人可见。下面是一个 ENS 名为 twinkienft.eth 的近期交易历史记录。
在这里记录了 ta 所有的光辉事迹:twinkienft.eth 的公共交易!
你可能会问:”谁是 twinkienft.eth 啊?” 我也没有头绪,但我可以看到 ta 所有的交易记录!你去 etherscan.io 上看看,你也可以观察所有被记录在区块链的交易。
以太坊隐私交易平台Tornado.Cash上线Flux:金色财经消息,以太坊隐私交易平台Tornado.Cash上线Flux。Flux表示,Tornado.Cash同时在3个服务器上运行,去中心化且具有抗审查能力。[2022/3/18 14:05:03]
就在 etherscan.io 的首页!
大家可以看到这里明显有问题:我们不仅可以看到所有的账户交易,还可以看到它们的金额、资产和交易方。
这其实就是公共区块链带来的作用。由于其公开属性,公共区块链具有可审计性和可验证性。
但这也意味着,如果某人的隐私泄露了 (无论是有意还是无意的) —— 我们可以查看他们的完整交易历史。
跟踪公共交易数据是一项大生意:像 Chainalysis 和 Nansen 这样的公司会做一些复杂的分析来关联各种钱包并监控其交易活动,并对谁持有着什么资产做出概率假设。
大家想象一下,如果你每次刷卡买羊角包时,都得向全世界展示你的银行账单。这真的很傻,对吧?
这就是以太坊的现状。
解决方案:账户加密?
"呃,好吧," 你可能会说,"这很容易解决,只要将账户、余额和持有者加密就可以了。" 咄,白痴!我怎么会这么蠢。
这就是我每天的感受...
除了讨论一下加密账户如何实现之外:
以太坊隐私交易平台Tornado.Cash计划上线以太坊侧链xDai:以太坊隐私交易平台Tornado.Cash计划上线以太坊侧链xDAI上。其中Tornado.Cash将创建新的池来扩大其使用范围,使得xDai持有人可通过访问100 xDai pool、1000 xDai pool、10000 xDai pool、100000 xDai pool以实现隐私交易。[2021/8/26 22:38:15]
请回忆一下之前所讲的账本。经过对账户和交易加密之后,我们会得到:
似乎行得通
那么加密之后,网络应该如何检查账户,确保没有双花或者共谋的作恶行为。事实证明,要解决这个问题是非常困难的。
回到刚才那个例子。如果 Snoop 和 Cozomo 需要进行交易,那么他们必须要交互,因为网络不能帮助检查他们是否进行了有效的交易。
1. Snoop 请求 Cozomo 的加密账户状态
2. Cozomo 向 Snoop 发送已加密的状态
3.?Snoop 对 Cozomo 的状态进行解密,确认交易前的余额
4.?Snoop 向 Cozomo 发送一笔加密支付
5.?Cozomo 向 Snoop 发送他最新的加密状态
6. Snoop 解密 Cozomo 的最新状态,确认交易后的余额 (并且 Cozomo 确实获得了他被承诺的金额)
这种精心设计的流程有很严重的缺点:很昂贵、很耗时,并且你每次只能和一个人进行交互 —— 双方还必须同时在线。
以太坊隐私交易平台Tornado.cash完全去信任化,智能合约将不可再被修改:以太坊隐私交易平台Tornado.cash今日发布博客宣布已完成去信任化操作。该平台已将操作符地址设置为0x000000000000000000000000000000000000(0.1 ETH, 1 ETH, 10 ETH 以及 100 ETH),因此从现在开始所有的Tornado.cash合约均已无法变更。
团队表示,这也意味着对于Tornado.cash 来说,将很大程度开始遵循代码即法律的戒律。Tornado.cash智能合约在以太坊上运行,社区可以决定是否使用其工具。只要以太坊本身没有被更改或者消失,那么就没有人可以修改Tornado.cash的智能合约。而团队也提到,完全去信任化之后,Tornado.cash 团队也不能再像以前那样保护用户免受bug的侵害。除了从智能合约端完成了去中心化操作之外,Tornado.cash还对用户界面和站点进行了去中心化,他们使用了IPFS部署UI。[2020/5/21]
更糟糕的是,当他们结束了一场双方对话之后,任何一方都没有办法说服世界上的其他人,他们只是互相验证了他们的一笔交易。
使用票据 (note) 记账不香吗?
但是,如果我们把归属结构颠倒过来呢?以太坊默认使用账户模式,其中账户中包含余额。换句话说,查一下账户,你就会得到它的余额信息。
那如果我们换一种思维方式呢?比如说某笔资产 (用 note 来表示) 的持有者是某人。
动态 | Grin开发人员提出新技术突破,无需联机即可进行隐私交易:Grin开发人员David Burkett表示,他发现了一项突破,可以解决阻碍隐私交易的主要瓶颈,“使用MW隐私技术的最大困难是需要发送方和接收方进行通信,这要求接收方在发送时必须处于联机状态。我即将发布的新版本报告将会解释如何消除这种需求”。Burkett说,本月他将开始实施将强制执行交易验证方式的规则,并测试网络上的私人交易。[2020/2/7]
账户里包含余额信息 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
标签:ETHSNOSNOOPSNOOPoolTogether USDC TicketSNOV价格SNOOP币LOVESNOOPY
1月1日,元宇宙平台Ezek联合歌手周杰伦名下潮牌,首次限量发售了NFT项目Phan ta Bear(幻象熊),发行上限1万个,单价0.26个以太币(约合人民币6200元),约40分钟全部售罄.
1900/1/1 0:00:00「有人看过Web3吗?我没有找到它。」12月21日,特斯拉创始人埃隆·马斯克又一次提到这一火热概念.
1900/1/1 0:00:00加密行业一大明显吸引力在于快速金钱回报。除了持股创业公司后获得回报外,部分加入的员工还可将公司加密币本身出售.
1900/1/1 0:00:00在过去的一年,由于加密市场的火热,和各个项目的激烈角逐,这样高速的发展不仅使加密货币总市值刷新了历史新高,同样也带来了安全隐患,行业内安全事件频发,黑客盗币的金额也打破了往年历史记录.
1900/1/1 0:00:00过去十多年以来,比特币支持者一直在争取主流认可。自卡梅隆·文克莱沃斯(Cameron Winklevoss)和泰勒·文克莱沃斯(Tyler Winklevoss)从 2013 年开始申请比特币交易交易基金(BTC ETF)以来,已经过.
1900/1/1 0:00:00时间来到 12 月末,经历了几乎一整年头像类 NFT 的热潮,人们对这些视觉类的头像项目难免会有审美疲劳,近日发售的新头像类项目普遍在二级市场遇冷.
1900/1/1 0:00:00