http://2chix1mic.com

独家深度解析Zcash(ZEC)与BTC:那些相似,那些不同

独家深度解析Zcash(ZEC)与BTC:那些相似,那些不同


 

随着Zcash的正式推出(及其周围的投机行为),你可能会好奇这所谓的“第一种真正匿名的数字货币”究竟拥有怎样的运行机制。
 
解释zcash的概念时,照搬文献会令人费解,因此我们不妨将zcash与比特币等已被大家熟知的数字货币进行对比,从不同维度解释Zcash的原理。
 
一、算法原理
 
1.1 同源不同性
 
Zcash的代码是基于比特币0.11.2版代码修改的。代码修改前后的差异在宏观上主要体现在两者匿名性的区别。
 
(一)比特币的匿名性
 
比特币用户可以拥有任意多个比特币地址,并且这些地址与其真实身份也没有任何联系,因而具有一定匿名性。但是越来越多的研究表明,这样的保护措施是不够的。如果通过一些社会工程学手段,使得某个比特币钱包的物理地址(如IP地址)暴露,再配以大数据分析,那么,资金的来龙去脉与关系网将无从遁形。可以举个例子证明这一点:通过对美国在线(AOL)2006年8月公布的2000万匿名搜索查询记录的分析,《纽约书包》发现数据库中的4417749号样本代表的是佐治亚州的一名妇女。因此比特币的匿名其实是一种“伪匿名”。
 
(二)Zcash的匿名性
 
Zcash运用了”零知识证明”(下文会解释零知识证明)这一密码学原理,在区块链记录中隐藏了交易者的所有信息,包括交易双方的地址和交易的金额。因此即使获取到了某钱包地址所对应的IP,也无法追溯整个交易链。
 
1.2 零知识证明
 
零知识证明 (被称为“zk-SNARK”)是实现Zcash的匿名特性的核心技术。“零知识证明”的定义是:证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。举个简单的例子:
 
A要向B证明自己拥有某个房间的钥匙,假设该房间只能用钥匙打开锁,而其他任何方法都打不开。这时有2个方法: 

(一)A把钥匙出示给B,B用这把钥匙打开该房间的锁,从而证明A拥有该房间的正确的钥匙。 

(二)B确定该房间内有某一物体,A用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给B,从而证明自己确实拥有该房间的钥匙 。

后面这个方法属于零知识证明。好处在于在整个证明的过程中,B始终不能看到钥匙的样子,从而避免了钥匙的泄露。
 
1.3 匿名的实现
 
在实际操作中,我们该怎样通过“零知识证明”的原理来设计一个交易过程使得交易信息被完全隐匿呢?
 
假设现在有这样一笔交易:A转10个币给B。此时涉及的信息有两方面:地址金额。对此我们分别讨论。
 
(一)地址
 
将(1.2)中的例子类比到数字货币的交易,不考虑交易金额,可以有以下两种方法:
 
方法1:从地址A发送币到地址B

方法2:从地址A发送币到一个混合容器中,再将这些币发送到地址B,或者从该容器出发
经过另外几个混合容器最终发送到地址B,并且在发送时间上可以设置一定的延迟。
 
• 比特币的地址传输方式类似方法1,从地址A到地址B的过程可以在区块链上查到   

• Zcash的地址传输方式类似方法2,即交易的来源于去向无从考证。
 
(二)金额
 
同理类比,且不考虑发送地址这一信息。
 
方法1:A转给B 10个币


方法2:A将自己的10个币分成若干份随机投入一系列“混合容器”中,同时混入的还有其他交易方输出的币,这些币(总值>10)又被混合容器随机拆分,再从这些被拆分生成的总币块中取出合计金额为10的若干块,转移到交易方B。

独家深度解析Zcash(ZEC)与BTC:那些相似,那些不同


• 比特币交易过程同方法1:在区块链上可以直接找到具体金额信息;

• Zcash的交易过程同方法2:经过“混币”这一过程,使得交易金额无法被获知。
 
综上所述,Zcash在区块链中设置了一个“公有链”,作用好比前文例子中的“混合容器”,通过一系列“混合容器”的“搅拌”,使得包括交易地址和具体金额在内的交易信息变得无从考证。
 
1.4 比特币与zcash的技术对比
 

独家深度解析Zcash(ZEC)与BTC:那些相似,那些不同

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。