区块见闻 区块见闻
Ctrl+D收藏区块见闻

SNOOP:隐私交易的实现:Aztec 隐私架构介绍_SNOGE

作者:

时间:

Aztec是以太坊上一个旨在解决隐私问题的zk-rollup:也就是说它是唯一一个从头开始构建的完全保护用户隐私的Layer2。

为了理解隐私交易这种范式改变以及直接在网络架构中建立隐私的重要性,我们得先讨论“为什么说以太坊不是一条隐私的链”。

以太坊:一条公共区块链

大家可能已经听说过公共账本这个词,它由两个部分组成:账户和余额。

以太坊上最原始的交易是将ETH从一个账户(地址)发送到另一个账户。网络通过增加某个账户的余额和减少另一个账户的余额来记录这些交易——换句话说,ETH实际上并没有”转移“。

让我们详细看看一个例子:snoopdogg.eth想发送一笔交易给cozomomedici.eth。

只是两个商人

以下是交易的经过:Snoop一开始有100个ETH,然后他的账户扣了20个ETH。而Cozomo一开始有0个ETH,然后他的账户被计入20个ETH。Snoop的最终账户余额为80ETH,Cozomo则为20ETH。转账完成。

ETH转账交易的账本示意图

加密经纪商Hidden Road与隐私交易平台Enclave达成合作:7月27日消息,面向机构的加密货币经纪和信贷网络 Hidden Road 宣布与 Enclave Markets 建立合作伙伴关系。

Enclave Markets 是一家完全加密的交易平台(Fully Encrypted Exchange),允许参与者秘密交易数字资产。该平台通过使用定价预言机创建一个交叉网络,以建立资产的中点价格,在各个交易场所进行平均交易,从而实现一个保密的交易环境。[2023/7/27 16:02:50]

我们可以在etherscan.io上看到每个账户计入和扣除的交易款项,下图中显示的”ins“(转入)和"outs"(转出)记录是公开的,所有人可见。下面是一个ENS名为twinkienft.eth的近期交易历史记录。

在这里记录了ta所有的光辉事迹:twinkienft.eth的公共交易!

你可能会问:”谁是twinkienft.eth啊?”我也没有头绪,但我可以看到ta所有的交易记录!你去etherscan.io上看看,你也可以观察所有被记录在区块链的交易。

就在etherscan.io的首页!

以太坊隐私交易平台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]

大家可以看到这里明显有问题:我们不仅可以看到所有的账户交易,还可以看到它们的金额、资产和交易方。

这其实就是公共区块链带来的作用。由于其公开属性,公共区块链具有可审计性和可验证性。

但这也意味着,如果某人的隐私泄露了(无论是有意还是无意的)——我们可以查看他们的完整交易历史。

跟踪公共交易数据是一项大生意:像Chainalysis和Nansen这样的公司会做一些复杂的分析来关联各种钱包并监控其交易活动,并对谁持有着什么资产做出概率假设。

大家想象一下,如果你每次刷卡买羊角包时,都得向全世界展示你的银行账单。这真的很傻,对吧?

这就是以太坊的现状。

解决方案:账户加密?

"呃,好吧,"你可能会说,"这很容易解决,只要将账户、余额和持有者加密就可以了。"咄,白痴!我怎么会这么蠢。

以太坊隐私交易平台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]

这就是我每天的感受...

除了讨论一下加密账户如何实现之外:

请回忆一下之前所讲的账本。经过对账户和交易加密之后,我们会得到:

似乎行得通

那么加密之后,网络应该如何检查账户,确保没有双花或者共谋的作恶行为。事实证明,要解决这个问题是非常困难的。

4月Zcash网络隐私交易数量激增70%:5月4日消息,根据Zcash社区的一条推文,4月份,Zcash (ZEC)网络上完全屏蔽的隐私交易数量激增了近70%,创下了8700多笔的新纪录。这也占据了总交易额的6%,也是历史上的最高比例。(Cointelegraph)[2020/5/4]

回到刚才那个例子。如果Snoop和Cozomo需要进行交易,那么他们必须要交互,因为网络不能帮助检查他们是否进行了有效的交易。

1.Snoop请求Cozomo的加密账户状态

2.Cozomo向Snoop发送已加密的状态

3.?Snoop对Cozomo的状态进行解密,确认交易前的余额

4.?Snoop向Cozomo发送一笔加密支付

5.?Cozomo向Snoop发送他最新的加密状态

6.Snoop解密Cozomo的最新状态,确认交易后的余额(并且Cozomo确实获得了他被承诺的金额)

这种精心设计的流程有很严重的缺点:很昂贵、很耗时,并且你每次只能和一个人进行交互——双方还必须同时在线。

更糟糕的是,当他们结束了一场双方对话之后,任何一方都没有办法说服世界上的其他人,他们只是互相验证了他们的一笔交易。

使用票据(note)记账不香吗?

但是,如果我们把归属结构颠倒过来呢?以太坊默认使用账户模式,其中账户中包含余额。换句话说,查一下账户,你就会得到它的余额信息。

动态 | 以太坊隐私交易工具Tornado.cash因UI bug泄漏部分用户交易细节:以太坊隐私交易工具Tornado.cash因一个用户界面bug泄漏了一些用户的交易细节。漏洞报告显示,12名用户和总共13.2 ETH(约2416美元)的交易在这个过程中受到影响。该平台称漏洞已经修复,同时要求通过指定的12个地址存款的用户尽快取款,并立即重新存款。(News Logical)[2020/2/2]

那如果我们换一种思维方式呢?比如说某笔资产(用note来表示)的持有者是某人。

账户里包含余额信息vs.资产票据推导出持有者

Bitcoin就是使用这种模式,叫做UTXO(unspenttransactionoutput,未使用的交易输出)。但是不用纠结这个术语是什么意思了,把UTXO当作现金(银行票据)就好。

让我们先思考一下,为什么使用现金记账会更安全、更隐私——或者更准确地说,比基于账户的系统更安全、更隐私。

它之所以安全,是因为只有交易现金的双方知道其所有权已经易手!而全宇宙的其他人都不会知道。

你可以把现金交易模式想象成某件物品(note)的所有权的变更,而账户交易模式则是两个账户的状态的变更。

图示:某张加密票据的所有权变更

当一笔Aztec交易在进行时,网络只需简单地为给定的票据重新分配所有权,而不是更新账户余额(增加或减少余额)。

为什么这个模式这么有用?事实证明,加密一张票据要简单得多,因为只需在上面写两个东西:这个票据值多少钱以及它的所有者是谁。那么当它转手时,只需涂掉旧的所有者的名字,然后写上新的所有者的名字。

在Aztec上进行简单转账

那么,在一笔简单的票据交易中,到底会发生什么呢?

假设Snoop有两张面值为50ETH的票据(总额为100ETH),而Cozomo手上没有任何票据。

Snoop手上的那两张票据需要销毁掉,并且要创建两张新票据:面值为80ETH的票据分给Snoop,面值为20ETH的票据则分给其新的所有者Cozomo。

但是,如果必须披露这些票据的价值,如何保护隐私呢?

嗯..他们并没有披露这些信息,至少没有公开。当然,Snoop和Cozomo知道他们交易的资产价值,就像一笔现金交易一样,但他们不需要向全世界公开。

为了保护他们相互的隐私,Snoop发布了一笔带锁的交易,他知道只有Cozomo的私钥才能解开这把锁。类比一下,这有点像将这张票据放进一个小小的保险箱中。当然,他们都知道箱子里有什么(20ETH),所以Snoop必须要相信Cozomo不会在屋顶上大喊:“有人刚给我转了20个ETH!”

但除此之外,所有权被重新分配的票据会返回到一个数据结构中,这个数据结构包含了所有曾经创建的票据——这是一个默克尔树哈希,我将在下文简要地介绍一下它。

在网络观察者看来,系统的状态会是什么样子的——每张票据的面值和所有者都是完全加密的。

好管家

我们知道Snoop销毁了两张票据,创建了两张新的票据,然后把其中一张新票据转给了他的朋友Cozomo。那么我们如何确保他们不会共谋作恶,比如双花?如果Snoop销毁了总值为100ETH的两张票据,然后创建了总值为200ETH的两张新票据,那怎么办?或者,他们直接创建任意数额大小的票据呢?

回想一下这两个步骤:

1.?Snoop销毁了两张面值为50ETH的票据并分别创建了面值为20ETH和80ETH的票据

2.?Snoop将面值为20ETH的票据转给Cozomo

为了确保第一步没有发生可疑的行为,Snoop需要做的就是向系统(Aztec)证明他打算创建的两张票据和他准备销毁的两张票据是等值的。

这被称为连接-分割交易,这种交易符合这条简单的等式:A+B=C+D

下面是烧脑部分,跟上了!

为了证明转出票据(C+D)等值于转入票据(A+B,或者说100ETH),Snoop在他的浏览器中本地生成了一个零知识证明(zero-knowledgeproof,ZKP)。

利用零知识证明,他能够证明出这条等式A+B=C+D,而无需揭露他们的任意资产价值。

然后Aztec验证了这一证明,并表示:”由于这是零知识证明,那么这一定是有效的。“此时,智能合约销毁这两个转入票据,然后生成两个转出票据,并将新的转出票据作为加密承诺记录在票据登记表中。

所有权证明

值得讨论的是,如何在Aztec中证明票据的所有权,这和在以太坊中证明类似。你如何证明你控制了某个以太坊地址的访问权——通过使用你的钱包对一个信息进行签名。

那么你如何证明你能够访问Aztec的某张票据?一个非常非常奇特的加密签名叫做零知识证明。

这个证明说,”在Aztec状态中,a)存在着一张特定价值的票据,b)我拥有这张票据的所有权。“

那么Aztec系统的状态怎么存储?它存储在两个默克尔树中:

一颗是票据树,包含着所有曾经创建的票据;

一颗是无效树,包含着所有曾经被销毁的票据

如果你在Aztec中拥有一张票据,这意味着这张票据存在于”票据树“中,并且在”无效树“中不存在对应的无效票据。

左边这棵”票据树“生气勃勃,而右边这个”无效树“则伤心欲绝。如果右边的树会说话,它可能会说”我讨厌死你了“之类的话。

当我们说到”销毁“一张票据,这实际上意味着添加一张无效票据到”无效树“中,而不是删掉”票据树“中的一张票据。

默克尔树简图

为了发送那些已证明为我所有的票据,将需要创建一个全新的默克尔树(和默克尔根)。一旦”票据树“和”无效树“的默克尔根移动到新的值中(换句话说,系统的状态已更新),这些默克尔根就会被发布到以太坊的主链上,且交易就会被视为已记录。

写在最后

我希望本文能让读者深刻地理解到为什么隐私如此具有挑战性:我们需要在不违反或暴露用户数据的情况下,验证交易是合法且正确执行的。

这些独特的限制意味着隐私保护架构必须从头开始架构。Aztec是唯一一个以这种方式构建的L2——用户的隐私通过其核心架构受到保护,并利用零知识证明来维护网络运作。

来源|?AztecNetwork

作者|?JonWu

标签:NFTSNOSNOOSNOOPGNFTSNOGESNOOD价格SnoopDoge

狗狗币最新价格热门资讯
区块链:Web3思考:价值的本质是所有权的流动_区块链币圈币种知识大全

前言:Web3项目中,价值形成的本质是所有权的流动,即个体之间的资产所有权、治理权、隐私权的相互流动.

WEB3:金色前哨|国家区块链创新应用试点入选名单公示_区块链域名是什么意思

12月22日下午,中央网信办信息化发展局、中央宣传部版权管理局、国务院办公厅电子政务办公室、最高人民法院信息中心、最高人民检察院检察技术信息研究中心、教育部科学技术与信息化司、工业和信息化部信息.

SNO:金色Web3.0 | 中国证券报:当下很多娱乐明星在积极入局元宇宙_COZ

DeFi数据 1.DeFi代币总市值:1582.26亿美元 DeFi总市值数据来源:Coingecko2.过去24小时去中心化交易所的交易量:41.

VIN:“Web3之父”回答:Web3究竟是什么_WEBAI

什么是Web3? 如果你回答不上来,别着急,你不是一个人。无论是从风投,媒体,还是公司公告的角度来看,这个概念都已经兴起了相当长的一段时间,但对于大众来说,仍然很难理解这些炒作都是关于什么的.

元宇宙:一文解析加密元宇宙生态格局_WEB3

随着Facebook正式更名Meta,Facebook近7年的布局并未化为乌有,元宇宙的飞轮效应正在凸显。在可预见的未来,元宇宙将快速扩展为一个市值上千亿美元的产业.

NFT:NFT研究 悬崖上的数字艺术品_GENS

在以前的文章中飒姐法律团队就曾为大家介绍过,利用虚拟货币,是要是利用了其匿名交易、点对点传输、跨境流通、不可逆等特点,极大增加了反管理机构和反义务机构追查、溯源的难度.