本文简要地介绍了隐私币 Zcash,Zcash 既可以保证交易的隐私性,也能实现有选择性的透明度,以满足监管或审计的需要。

原文标题:《What is Zcash exactly?》
原文作者:Alejandro Brega,工程师、区块链作家
翻译:蓝狐笔记社群 iGreenMind

首个零知识证明隐私币 Zcash 初析:何为 zk-SNARK?它如何运作?Alejandro Brega,工程师、区块链作家

Zcash (ZEC)是一种去中心化的开源加密货币,可以保证交易的隐私性和可选择性的透明度。Zcash 货币支付在公共区块链中发布,但发送人、接收人和转账金额都是保密的。

许多公司和知名人士都观察到 Zcash 的匿名程度。例如,维基解密开始接受 ZEC 的捐款。爱德华·斯诺登说,加密货币是比特币最有趣的替代品。另一方面,欧洲刑警组织正式表达了对加密货币日益普及的担忧。

Zcash 加密货币基于比特币协议,但拥有自己的区块链和货币 token。Zcash 可以通过交换、个人转账等方式发送到世界各地。

Zcash 货币的发行量为 2100 万个。每 2.5 分钟创建一个大小为 2mb 的新区块。区块奖励为 12.5 ZEC,自 2016 年 10 月推出以来每 4 年减少两次。

Zcash 的主要技术特性是使用零知识测试(ZKP)。这可以让你在不泄露其他信息的情况下确认交易,使得加密货币的使用完全匿名。

Zcash 背后的一些历史

2014 年,约翰霍普金斯大学的 Zerocoin 开发人员和麻省理工学院、以色列理工学院和特拉维夫大学的加密技术实验室,这些研究中心联合开发了 Zerocash 协议,改进了原始设计。在这个意义上他们宣称:

由于新的 zerocash 协议,与 Zerocoin 不同,用户可以使用更高效的加密协议直接向对方付款,该协议不仅隐藏了来源,还隐藏了付款金额。

Zcash 项目由执行董事 Zuko Wilcox 于 2016 年 1 月 20 日正式宣布启动,它是现有 Zerocoin 项目的演变。随着新协议的出现,出现了独立的加密货币 Zcash (ZEC),它不再是比特币的「补充」。2016 年 10 月 28 日,Zuko Wilcox 庆祝 Zcash 的正式推出的「加密仪式」。

Zcash 如何运作?

Zcash 是一种基于可靠科学的隐私保护的数字货币。Zcash 有两种类型的地址:私有(z 地址)或透明(t 地址)。z 地址以「z」开头,t 地址以「t」开头。

一个从 Z 到 Z 的交易出现在公共区块链中,所以大家知道它发生了,并且已经支付了费用。但是地址、交易金额和 memo 字段是加密的,并不公开可见。只有通过使用零知识测试,才能在区块的链中使用加密。这得益于 Zcash 的 zk-SNARK 协议的实现。

例如,地址的所有者,可以选择通过展示密钥和公开支付信息的方式,来向受信任的第三方透露 z 地址和交易的细节。通过这样的方式,赋予可信第三方查看的选择,可以满足审计的目的。

另一方面,两个透明地址之间的交易与比特币的工作方式相同:发送人、接收人和交易的金额是公开可见的。虽然许多投资组合和交易所目前仅使用 t 地址,但许多投资者和交易所都转向使用受保护的地址,以便更好地保护用户的隐私。

尽管 zcash 具有不同的地址类型,但这两种类型的 Zcash 地址是可互操作的。资金可以在 z 地址和 t 地址之间转移。然而,重要的是用户要理解通过这些交易保护或检查信息的隐私含义。

特点和功能

1)低成本交易:交易成本接近 0.0001 ZEC;

2)交易地址与隐私:Zcash 提供两种类型的地址:受保护的隐私地址和透明地址。(蓝狐笔记译者注:两种类型地址分别是 Z 地址、T 地址)。受保护的地址(即 z 地址)不可见。受保护地址间的交易不会显示地址、交易数额或加密注释字段的内容。透明地址(t 地址)和透明地址之间的交易可以在 Zcash 区块链中公开查看,就像比特币地址是可见的一样;

3)加密备忘录:备忘录字段可用于受保护的交易。这允许发送方可以添加一些与接收方相关的信息,这些信息也是完全加密的。这对于传输消息和指令,或确保符合「银行保密法」的「旅行」规则非常有用。(蓝狐笔记 iGreenMind 注:关于银行保密法的旅行规则的信息简单解释:旅行规则是一项银行保密法(BSA)规则,要求资金转移金融机构将某些信息转发给下一个金融机构,如果资金转账等于或超过 3,000 美元等值美元。传送命令中必须包含以下信息:发射机的名称,发射机的帐号(如果使用的话),发射机的地址,发送者的金融机构的身份,传送指令的数量,传递订单的执行日期,以及收款人的金融机构的身份。——通俗地说,就是为了反洗钱、反避税等目的的资金汇兑的具体交易信息等。;

4)密钥揭示:受保护地址的所有者为监管或审计公开交易细节。受保护地址的所有者可以选择公开所有传入的交易和备忘录字段,但无法访问发送人的地址,除非备忘录字段中包含身份信息。Zcash 将很快支持显示地址内外所有交易额的完整可视化密钥;

5)付款披露:交易的发送人或接收者可向第三方披露交易的具体细节,这是审计所必需的。接收方可以显示交易数额和票据,但无法访问发送人的地址。这是目前 Zcash 的一个实验性功能;

6)交易过期: Zcash 支持交易过期功能,以最大限度地减小对未确认交易的影响。

默认情况下,如果交易在 50 分钟(20 个区块)后未被确认,则交易将到期并且不会产生费用。(蓝狐笔记 iGreenMind 注:可以理解成交易超时,自动取消这笔交易,并且不会对这笔交易收取矿工费用,而比特币中不支持交易过期,可能会出现一笔交易长时间内不被确认但仍然挂在网络中几年)。

多重签名交易:Zcash 支持需要多重签名的交易。这意味着一笔交易可能需要两方或多方在资金发出之前确认这笔交易。但是,多重签名交易是透明的,不能将其设为私有。

什么是 zk-SNARKS?

缩写词 zk-SNARKS 表示「零知识的非交互式知识的论证」,它指的是一个测试结构,其中可以演示某些信息的拥有情况,例如,一个密钥,不显露任何信息,且在验证者和被验证者之间没有任何交互,就可以证明其拥有某些信息。

「零知识测试」允许一方(发起人)向另一方(验证者)证明陈述是真的。这不会泄露任何信息,除了验证声明本身有效。例如,给定随机数的哈希,研究人员可以说服验证者确信存在具有该哈希值的数字,同时不会泄露它的内容是什么。

在「零知识测试」中,研究人员不仅可以使验证者确信该数字存在,同时不会泄露任何有关该数字的信息。

(蓝狐笔记 iGreenMind 译注:一个通俗的零知识证明的例子,摘自知乎作者高超峰专栏:A 要向 B 证明自己拥有某个房间的钥匙,假设该房间只能用钥匙打开锁,而其他任何方法都打不开。这时有 2 个方法:一是,A 把钥匙出示给 B,B 用这把钥匙打开该房间的锁,从而证明 A 拥有该房间的正确的钥匙。二是,B 确定该房间内有某一物体,A 用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给 B,从而证明自己确实拥有该房间的钥匙。后面这个方法属于零知识证明。好处在于在整个证明的过程中,B 始终不能看到钥匙的样子,从而避免了钥匙的泄露。)

零知识的「简洁」测试可在几毫秒内得到验证,测试长度仅为几百字节,即使对非常大的程序的陈述也是如此。在第一个零知识协议中,测试者和验证者必须在几轮中来回通信,但在「非交互」结构中,测试包括从一个验证者发送到另一个验证者的单个消息。

目前,生成零知识测试的最有效方法是初始配置阶段,生成验证者和验证者之间共享的公共引用字符串,这是无须互动的且足够短以发布到区块链。我们将这个公共引用链作为系统的公共参数。

zk-snark 在现代区块链技术中的价值是显而易见的。它与智能合约技术无缝集成。智能合约基本上是一笔资金存款,一旦某个特定功能被执行,这笔资金就会被激活。当要执行的任务是多层次和机密的,就会出现问题。

你可能需要采取几个步骤才能收到付款。zk-SNARKS 证明了这些步骤已经在智能合约中采用,而不用透露他们到底是谁。你可以简单地透露过程的一部分,而不展示整个过程本身,并表明你对你的声明是诚实的。

zk-SNARK 的首字母缩写词可以通过以下方式解构

简洁 : 与创建哈希函数 (测试) 所需的实际进程持续时间相比,哈希函数 (测试) 的大小非常小。

非交互性 : 没有或只有很少的交互性。对于 zk-SNARK,通常有一个配置阶段,然后是测试者和验证者之间的单点接触。此外,SNARK 通常具有被称为「公共验证者」的属性,这意味着任何人都可以在不进行交互的情况下进行验证,这对于区块链非常重要。

参数 : 验证者仅在计算上受限于有限的测试人员。具有足够计算能力的提供商可以创建关于不正确陈述的证据 / 论据。(注意,只要有足够的计算能力,任何公钥加密都可能被破解)。这也被称为计算强度,而不是完美的坚固性。

知识的 : 如果不知道假定的证人节点 (例如,他想要花费的方向、哈希函数的原像或到某个 Merkle 树的路径),验证者无法构建测试 / 参数。

来源链接:medium.com