标准共识 评级|Zcash 的零知识证明技术方案可实现性高
北京时间 2018 年 11 月 8 日,标准共识发布针对区块链项目「Zcash」(Token 符号:ZEC)的一般投资风险评级报告。以下为报告的主要内容。
Overview 概述
报告将 Zcash 风险等级定义为「B」,该项目属于「一般风险」水平,需要投资者注意。
依据「标准共识一般项目投资风险评级标准(初创期)」 获得「B」评级的主要原因是:Zcash 重大「版本」升级存在一定中心化特征;Zcash 隐私灵活性高;Zcash 技术已得到外部认可,侧面印证其技术方案可实现性高。
基于标准共识分析师团队调查和研究,项目主要风险及优势在于:
项目主要风险
风险点 1
Zcash 区块链网络重大「版本」升级依托 Zcash 公司进行,存在一定中心化风险。
Zcash 由广泛的人员和机器网络维护,没有中心数据库可以被攻击,但是项目的阶段性开发与升级都由 Zcash Company 这一主体领导进行,此方面具有一定的中心化特征。
项目主要优势
优势 1
Zcash 提供两种交易地址并允许用户进行四种交易,隐私灵活性高。
在隐私灵活性方面,Zcash 为用户提供两种交易地址,并允许用户进行四种交易,因而为用户提供了最大的隐私灵活性。
优势 2
Zcash 提供简洁的非交互式零知识证明技术,得到外部应用与认可,侧面印证技术方案可实现性高。
Ethereum 与 Zcash 建立合作联盟,并希望将 Zcash 的简洁非交互的零知识证明整合进自己的网络,此外,Zcash 已经与摩根大通达成合作,摩根大通的区块链 Quorum 中采用 Zcash 的零知识安全层。
以上为项目主要风险点和优势,以下为完整报告。
如果任何项目方对标准共识的评级结果有疑问,或对相关数据提出申诉(包括但不限于项目运营数字、重要团队成员变更原因、代码更新和最新交易表现等),标准共识分析师团队会根据材料的真实性重新评估。
如果标准共识分析师团队在调查过程中使用了错误材料而影响评级结果,或任何项目变动可能导致评级等级变动时,标准共识也会重新调查和评估风险等级。
任何项目方、利益相关方和投资者可直接通过以下途径与标准共识获得联系:
微信:「标准共识」ID:SNCrating
邮箱: contact@sncrating.com
Rationale 依据
产品和技术模块
市场及产品分析
Zcash 使用了零知识证明机制。它可提供完全的支付保密性,同时仍能够使用公有区块链来维护一个去中心化网络。Zcash 使用 zk-SNARKs(简洁的非交互式零知识证明),这种证明使得交易的有效性可以在不公开资金数额和交易方地址的情况下仍能得到验证。
Zcash 隐敝地址
Zcash 地址分为隐蔽地址 (z-addresses) 和透明地址 (t-addresses)。隐蔽地址是不可见的,而且隐蔽地址之间的交易也不会曝光任何一方的隐蔽地址、资金数额以及备注字段的内容。透明地址以及透明交易在 Zcash 区块链上是公开可见的。
不同地址间进行转账交易构成不同交易类型:
Zcash 在转账机制上,设计了 JoinSlipt ,隐蔽地址和透明地址的 ZEC 分别存于隐蔽资金池与透明资金池中。在隐蔽地址发生交易时,均通过 JoinSlipt 来实现转账,每笔交易会生成 JoinSlipt 信息。
隐蔽地址间转账生成 JoinSlipt 信息如下图:
zk-SNARKs(简洁的非交互式零知识证明)
为了在 Zcash 中应用零知识证明,根据网络的共识规则确定交易有效性的功能必须返回交易是否有效的答案,而不揭示其执行计算的任何信息。这是通过在 zk-SNARK 中编码一些网络共识规则来完成的,zk-SNARKs 首先将想要证明的内容转化为关于知道某些代数方程的解的等价形式。
1)验证规则到 R1CS 形式的转换
实际场景中,大部分问题但是 NP 问题,即可以在多项式时间内验证结果的正确性,zk-SNARK 算法适用于所有的 NP 问题。验证规则主要是,输入的金额是否大于等于输出的金额,这笔交易是否有合适的签名,输入是否属于 UTXO等。所谓的 R1CS (rank-1 constraint system) 就是一系列三元组向量 (a, b, c),它是验证规则的数学形式体现。
2)R1CS 到 QAP 的转换
QAP 是 Quadratic Arithmetic Programs 的简称。通过拉格朗日插值法或者快速傅里叶变化,我们可以将 R1CS 转换一系列成多项式的形式,使得 A(x) B(x) - C(x) = H(x) Z(x) 成立,零知识证据的证明主要围绕着 QAP 展开。
通过简洁的非交互式零知识证明,将交易信息、地址信息和此地址的转入与转出金额这些关键信息隐私化。其它人无法通过公开渠道获取屏蔽交易的任何信息,打包交易的矿工也无法获得屏蔽地址和其交易额。
在屏蔽地址参与交易时,矿工只负责打包交易的存在证明,即打包地址余额及产生一笔交易的信息证明,而不记录屏蔽地址和交易额本身。
标准共识分析
Zcash 主要技术特性:
1)高效
使用 Zcash 可以快速可靠且经济实惠地转账以及在网上购买商品和服务。Zcash 目前支持众多知名交易平台和钱包的支持。
2)审计友好
Zcash 用户可以公开隐私地址和交易用于分享信息、第三方审计或适应监管要求。
3)分布式和抗攻击
Zcash 是分布式的,由广泛的人员和机器网络维护,而不是由中心化实体控制。没有中心数据库可以被攻击,也没有单点错误。
4)保护隐私
隐私保护是 Zcash 的核心,用户可以发送和接收 Zcash 而无需公开发送者、接收者以及转账金额,Zcash 也支持透明地址和透明交易。
下表为 Zcash 与 Monero 和 Dash 的简要对比:
Zcash 使用 zk-SNARKs(简洁的非交互式零知识证明),对于零知识证明机制进行部分改进,主要表现在于突出其简洁性(Succint)。使用零知识证明机制所需消耗的计算资源较多,而 Zcash「简洁零知识证明」可以在几毫秒内得到验证,证据长度只有几百字节。
技术分析
技术介绍
隐敝地址
Zcash 地址分为隐蔽地址 (z-addresses) 和透明地址 (t-addresses)。隐蔽地址以「z」开头,透明地址以「t」开头。隐蔽地址之间的交易也会出现在公有区块链上,手续费也会支付给矿工,但交易的地址、资金的数额以及备注字段都被加密过,第三方无法知晓。简洁的非交互式零知识证明
Zcash使用一个被称为 zk-SNARK的零知识证明架构,这个框架允许网络在不公开交易参与方或者交易数额的情况下维护一个安全的账户余额账本。Zcash 交易的元数据是加密的,而不是公开地展示交易参与方和交易数额,zk-SNARK 被用来证明没有人进行欺骗或者偷窃。Equihash 算法
Equihash 具有非常高效的验证性,同时是一种面向内存的工作证明,这意味着矿工可以做多少挖掘,主要取决于 RAM 大小。
功能评测
从功能角度出发,Zcash 主要增加了用户的隐私性,在比特币源码的基础上添加匿名转账支持。Zcash 的支付交易在区块链上可见,但有个可选的隐藏打款人,收款人和具体支付金额的选项。
Zcash 的地址氛围隐蔽和透明地址。Z 地址到 Z 地址的交易虽然在区块链上可见,但是具体的地址、交易金额和 memo 字段都是隐藏的,通过零知识证明技术来实现,在 Zcash 中被称为 zk-SNARK 协议。其他类型的交易,如 Z -> T,T -> Z 和 T -> T 交易都是支持的,对应的包含Z地址的部分的信息都是匿名的。在 Zcash 中,包含 Z 地址的交易允许被审计,但是交易细节需要Z地址的拥有人同意才能公开。
Zcash 的主打功能是支持匿名交易,由于其实际上是在比特币源码的基础上开发的,其他的如多签交易等比特币现有的功能都支持。
区块浏览器
基本功能实现:区块查询、交易查询、哈希查询、地址查询、节点分布查询可实现
功能性能:界面不太友好,查询不太方便(非网络原因)
钱包
目前 Zcash 仅支持 linux 系统,不支持 Windows、MAC,且只支持命令行, 没有图形界面(zcash 团队没人擅长 GUI)。
GitHub 代码质量评测
核心代码来自 BTC 0.11.2,加上零知识技术;挖矿算法创新自行设计:Equihash 挖矿算法(理论依据是广义生日悖论)。BasicSolve 用于测试挖矿,OptimisedSolve 用于主网挖矿。
Zcash 白皮书中的构想据官网所描述已经基本实现,而且在 2016 年 9 月 9 日发布了第一个 beta 版本,后续的改进采用类似比特币的 BIP 改进系统,ZIP 系统经过详细讨论再逐步实现。
标准共识分析
Zcash 基于比特币核心软件及代码开发,承袭比特币优点,又在匿名性、加密算法有进一步突破。其本身的完整代码是开源的,而且官网上也有明确的面对开发者的开发指导,以及如何加入项目开发的具体指导。总体上说项目的运作和进展较为良好。
Token 生态系统
Token 分布
Zcash 发行 Token 总量为 2100 万个,并通过挖矿产生,10% 的 Token 作为创始人的奖励,90% 的 Token 将作为矿工的奖励,具体分配如下:
Token 主要用途
支付:目前可用 Zcash 进行支付官网列出了目前可用 Zcash 支付的商店及服务。如下图所示:
交易费用:作为转账过程中的交易费用
共识机制
Zcash 采用的是 PoW 的共识机制,出块时间为2.5 分钟,挖矿分为两个过程:
前 20000 个块
为了照顾在开始阶段不懂挖矿的,zcash采用了慢慢开始挖矿机制,前20000个块的奖励比较少,线程递增到12.5个币。
前10000个块
每个块的奖励是 0.000625 个币,随着高度线性递增,增加幅度是0.000625币,块9999的奖励是6.249375币。第 10000~19999 个块
第 10000 个块的奖励是 6.250625,随着高度线性递增,增加幅度是0.000625币第 19999 个块的奖励 12.5 个币。
正常块奖励
从第 20000 个块开始,奖励是 12.5 个币,奖励按照每 840000 个块(每 4 年)减半,计算块奖励时块高度少 10000,即第 940000 个块是第一次减半,每隔 840000 个块减半,以此类推。
标准共识分析
Zcash 的所有 Token 采用挖矿形式产生,即采用 PoW 的共识机制。所有 Token 的 10% 作为投资奖励分配给创始人、团队、基金会等,剩余的 90% 作为挖矿奖励给矿工。
Zcash 作为匿名支付货币,目前全球大致有 50 个实体商家接受 Zcash 支付,同时 Zcash 也可作为交易费用。
社群基础
用户社区
Zcash 建立了比较完整的社交渠道,开通了多个社交平台公布项目信息。整体来说,人群成员数量一般。Twitter、Facebook 以及 Reddit 中更新信息比较及时,但是主要是以宣传活动为主;Telegram 群组中成员比较活跃,官方成员对于用户的提问回复比较及时。
Google 趋势
根据 Google 趋势,目前搜索「ZEC」与 「Zcash」的热度显示,搜索结果与数字货币的相关性并不强。
下图为 Google 趋势截图:
开发者社群
官方的 GitHub 主页有 13 个库,主要的库是 zcash/zcash ,该库有 458 个 Watch、3,892 个 Star、1,376 个 Fork、12,037 个 Commits、11 个 Branch、53 个 Releases、383 个 Contributors。
标准共识分析
Zcash 项目整体代码提交活跃度一般,在 11 月 6 日 CryptoMiso 12 个月指数代码提交次数中排名第 82,一共 757 个 Commits。
参考标准共识微信小程序 SNC 代码更新排名数据,ZEC 近 90 天提交代码总行数 108,138,排名 69;可执行代码行数 94,015,排名 70。
团队分析
根据官方的最新公告,团队的任职信息如下:
标准共识分析
官网列出了团队的成员,但是大部分成员都没有详细的介绍,只有部分成员有 Twitter 主页的链接。
但是在 Zcash 中文粉丝建立的网站上,介绍了部分成员的相关信息。
治理结构
基金会
官方在其官网中披露了基金会的相关信息:
Zcash 基金会是一家注册在特拉华州非营利组织,专注于财务隐私。其主要使命是为公众利益建立互联网支付和隐私基础设施。同时为 Zcash 协议和区块链的用户提供服务。该基金会还支持零知识加密的其他应用,以及私有加密货币的替代方法。
基金会的董事会成员
基金会的发展路线图以及发展前景
基金会的财政去向,即所募集资金的用途
基金会的管理流程:基金会将率先挑选专家组,并积极与社区成员联系; 选择的主要标准是未来的小组成员有一些明显的公众存在和/或以某种方式为生态系统做出贡献;两者都可以在具有公开可证实的选票的系统中很好地运作。根据基金会 2018 年 7 月 3 日的基金会公告显示,目前 Zcash 基金会招募了 72 名小组成员,其中 64 人投票,占投票率 88.88%。选民权衡了六个投票提案和九个董事会候选人。
标准共识分析
官方在官网披露了基金会的具体情况,包括基金会的成员及其介绍、基金会成员的选举流程及管理机制、基金会的职能及财政用途、基金会的发展路线图以及未来的发展愿景。整体来说,基金会信息披露比较详细全面,同时官网的基金会 blog 中也披露了基金会的进展。
项目履约情况
根据白皮书披露,Zcash 的路线图如下所示:
标准共识分析
官方在官网公布了其 roadmap,根据其 roadmap 中显示,目前项目的完成情况为:推荐用户钱包、隐私性的接受度、协议研究和开发、不间断的业务和市场开发、不间断的维护和支持、支持去中心化。但是对于未来项目的进展情况及具体的时间规划并未有详细介绍。
项目信息披露义务
官方开设了多个社交渠道公布项目信息。Twitter、Facebook 以及 Reddit 中更新信息都比较及时,但是更新信息主要以活动宣传为主。
官网公布了团队成员,成员人数较多,但是大部分成员都没有详细介绍,有部分成员有 Twitter 的主页链接。但 Zcash 的粉丝群披露了部分成员的信息,但是否属实还无法确认。
官网披露了基金会的信息,包括基金会的成员、基金会的成员选举流程及治理机制、基金会所筹集资金的用途、未来的发展情景和路线图,且官网的 blog 中也在更新基金会的进展情况,但是更新频率不高。整体来说,基金会信息披露比较完整。
官网公布了项目的路线图,但路线图主要列出了目前项目的完成情况,对于项目未来的发展规划并未有具体的介绍。
标准共识分析
官方的社交渠道更新信息比较及时,但是更新内容质量不高,且没有开设官方 Medium 以及设立周报制度;团队成员没有详细的介绍;基金会信息披露比较完整;路线图对于未来的规划介绍不清晰。
交易模块
价格表现
ZEC 近 30 天的全市场平均换手率为 17.45%,平均振幅为 4.66%,换手率波动情况远高于振幅。而当振幅放大时,换手率却出现一定程度的下降。总体而言,ZEC 具有较高的稳定性,同时有较高的交易频率,流通性风险低。
持仓分布
根据 Zcash 的官网浏览器( https://explorer.zcha.in/ )数据显示,ZEC 的持仓地址数量为 2,839,743。其 Accounts 页面并没有展示各地址账户净值及其排名,而是按转账时间的倒序列出转出或接收的数量,无法对持仓结构和集中度做分析和判断。
市场表现
从 Coinmarketcap 的全市场走势图来看,ZEC 从 2016 年上市交易以来,价格在 2018 年初达到高点,目前价格从该高点跌去 80% 多,该时段也是交易量集中增加的时段。
据 Bithumb 交易平台 ZEC/KRW 交易对的日线图显示。该交易对与同期 BTC 价格走势基本一致。但不同的是,该交易对近 3 个月交易量突然集中增大,但价格没有较大幅度波动,频繁换手存疑。不排除洗钱的可能。
据 LBank 交易平台 ZEC/ETH 交易对的日线图显示。该交易对上市交易以来,价格经历下跌后,进入一个震荡平台,目前价格处于平台上沿,交易量近期集中增加,如有择向有形成单边走势的可能。此期间偶有异常交易。
综上所述,ZEC 流通性风险低,被操控风险低;持仓细节未披露,有被操纵的风险;二级市场表现疲软,但近期交易量突然增加,有出现异常交易的可能。
Rating Action 评级结果
「B」,该项目属于「一般风险」水平,需要投资者注意。主要依据是:
Zcash 重大「版本」升级存在一定中心化特征;Zcash 隐私灵活性高;Zcash 技术已得到外部认可,侧面印证其技术方案可实现性高。
感谢代码评审团成员 施懿民和尼莫 对本文中「技术分析」部分做出的贡献。此为施懿民和尼莫第一次参与技术评测。
免责声明:
标准共识提供的「风险评级」服务和其它一切相关评级产品仅是一种投资风险的提示,是标准共识根据调查和研究结果得出的结论。它并非衡量评级对象本身价值、以及其发行的 Token 的价值的工具。
标准共识的风险评级仅是对特定风险的提示,而无法展示一个项目或一种虚拟货币的全部风险。
任何一个风险评级报告都仅展示某个时间范围内对项目和其 Token 生态未来的投资风险预期,而非对未来某个事实确定发生的判断。
对任何项目的风险评级不构成投资者作出最终投资决策的全部依据。
标准共识仅是金融信息的提供者,评级类产品不对投资者的任何投资决策及其所导致的结果负责。
风险评级不是永久有效的,项目的投资风险等级可能随着时间、环境因素和项目进展等外部环境的变化作出调整。同时,评级标准调整也可能会造成项目风险等级变化。任何调整和原因都会向所有投资者公开。
在标准共识的评级体系下,我们按照不同的等级对评级对象的投资风险划分,用「S」「A+」「A」「B+」「B」「C+」「C」「D」等符号,由低到高依次表示其投资风险等级,展示一种相对的风险。