作者:陈剑Jason,来源:作者推特@jason_chen998

聊聊“面向Vitalik创业”的项目Nocturne和晦涩的隐私地址技术。前天Nocturne刚官宣融资600万美金且拿到了VitalikButerin的投资,为什么我叫它面向Vitalik创业呢,由于该项目主打的技术是隐私地址,而本年1月20日,Vitalik就曾在自己的博客中专门发文讨论隐私地址的可行性,我当时在第二天也针对这篇文章进行了拆解分析,大家可以翻一下进行温习回顾。

Nocturne的推特账号第一次发文是本年的5月份,即在Vitalik讨论隐私地址5个月后,然后又过了5个月拿到了Vitalik的投资,所以仍是挺成功的一次面向Vitalik创业的事例。

那独自聊聊隐私地址这个事吧,究竟是做什么的,怎么完成,作用怎么样。

隐私地址的核心便是完成Token搬运进程中的匿名性,也便是tornado cash之前完成的作用,匿名转账是一个Crypto永久的论题,也是十分刚性的需求,我接下来会尽可能通俗且详细的讲解隐私地址是怎么完成的,又和tornado cash有何差异。

但首先要明确隐私地址绝对不是新概念,而是存在好久而且现已有不少项目和衍生协议产生,门罗币其实差不多也是这样的原理,但Vitalik是其在以太坊生态理论化的重要推动者。

在2022年8月的以太坊研究者论坛中,Nerolation提出了能否将ZK和ERC721结合完成匿名发送和接收NFT,Vitalik回复说你想的太麻烦了,也许用一种更简单的方式完成,并暂时叫它ERC721S,原帖链接如下:

https://ethresear.ch/t/erc721-extension-for-zk-snarks/13237

然后紧接着,Nerolation和Vitalik就提了一个EIP5564,将其彻底推进标准化:

https://eips.ethereum.org/EIPS/eip-5564

但其实在更早之前就现已有一个项目将隐私地址产品化了,至少从成熟度来说达到了可用状态,可是我不清楚为什么没有得到Vitalik的青睐……反而是一年后才姗姗来迟的Nocturne被宠幸了。

隐私地址的原理简单来说便是为每一次交易都生成一个一次性的新地址,付款人将钱转到新地址,且新地址只能由收款人进行操控,用完即抛,手动操作就相当于A生成了一个新地址,然后将该地址的私钥告知B,A再往里边转10U,由于只要B知道这个地址的私钥,所以B则可用操控这个地址并将10U打入交易所,所以从揭露的链上只能看到A往一个空地址转了10U,然后这个地址又将10U转入交易所,但至于详细是谁把10U转入交易所则没人知道。

但以上进程是依赖很多人工操作,且涉及到私钥的传递,不光麻烦危险也很高,那有没有什么方法可以将这个流程给产品化呢,思路便是在于怎么样可以主动完成“A生成一个只要B才干操控的地址”进程。

这个便是隐私地址所要完成的任务,这里边也用到了ZK的思想。

回到方才的比如,举个比如,A想给B转10U,A现已知道了B的揭露地址,但A又不想让别人知道A-B之间的交易链路,所以A生成一对暂时私匙和公钥,并将该暂时私匙和B的揭露地址结合后生成一个隐私地址,然后A将10U转入隐私地址。

从链上来看这时候A往一个新地址中转入了10U,这时候出现了两个问题,首先B怎么知道这个新的隐私地址是A为B创立的?也许A还给C、D、E等其他人也发了10U呢,其次即便B知道该隐私地址便是A为他创立的,那B又该怎么拿到这新地址的10U或者说怎么操控该新地址呢?

刚说到A用来生成隐私地址的时候会先生成一对暂时私匙和公钥,其间暂时私匙+B揭露地址=隐私地址,而B私钥+暂时公钥也等于隐私地址,所以A在发送10U到隐私地址时也会同时将暂时公钥发布在链上,B则去扫描公钥注册表,对于每个新发现的暂时公钥B都会将他的私钥结合起来生成一个隐私地址,假如里边恰好有钱则阐明是A给他的。

然后再用B自己的私钥就可以计算出该隐私地址的私钥,从而用隐私地址的私钥操控隐私地址进行下一步转账交易。

从链上来看的作用则是A往一个新地址转了10U,然后10U搬运到了交易所,但究竟是谁操作新地址进行搬运则在链上体现不出来,新地址就像是一个提线木偶被后边的一双手进行操控。

以上便是隐私地址的原理,到现在Nocturne的测验网和主网都没有上线,且无roadmap,所以究竟Nocturne是否可以做到tornado cash的作用仍是要再观察。

此时快讯

【英国财政部将实施新规:要求加密货币公司向FCA申请授权】金色财经报道,声明显示,英国财政部将继续实施新规定,要求加密货币公司向英国金融行为监管局(FCA)申请授权。将在2024年通过次级立法加快实施新的加密货币行业规定。加密货币新规的范围通常将涵盖从海外向英国消费者提供服务的公司。

发表回复

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