一文读懂和玩转Graph
API或“应用程序编程接口”是一组指令和标准,通过这些指令和标准可以在应用程序或Web工具与使用其资产的应用程序之间发生交互。如果没有API,则每个应用程序都需要构建自己的接口。归根结底,API使开发人员可以节省时间并减少创建的代码量。
译者按:当前 Zcash 有三个版本代号,一个是 Sprout, Sapling ,以及即将部署的 Halo 2。每个版本都有对应的代码和响应的匿名矿池地址,因此后续翻译时将直接使用这些代号。
我们很自豪地先容 ZIP224 这个版本的功效,它提供了将 Halo 2 引入到 Zcash 网络的一个途径。
Halo 2 零知识证实系统,由 ECC 公司发现并开发,移除了初始信托设置,削减了 Zcash 协议攻击面,提高 ZEC 供应总量完整性的保证。
作为 Halo 2 零知识平台的第一个公布, 这将使得未来的环形升级不需要信托设定的仪式成为可能, 使得 Zcash 匿名协议能加倍迅速的顺应未来的升级,好比刊行其他的资产。
除此之外,当前版本打开了聚合证实和区块链简练之路, 这两项扩展性的提升,使得 Zcash 协议能够与时俱进。
1、一个 Zcash 协议功效提案
Zcash 中的 Halo 2 部署的第一阶段引入了一个新的匿名买卖协议, 这使得建立第一个匿名的转账能力不需要依赖与信托设定。
这个协议提供的功效,将会异常类似于来自 Sapling 版本提供的那样,然而,凭证系统将使用 Halo 2 手艺栈。
这个公布包罗了新的椭圆曲线周期,Pallas 和 Vesta 周期, 他们一起被称之为 Pasta 曲线。
Pasta 曲线, 一个新的加密结构,这是ECC连续起劲的效果,以确保 Zcash 能够从突破性的密码学发现中尽可能地多收益,这些创新同时提高了平安性和性能。
Mir 协议 和 Mina 项目接纳(之前的 Coda)已经接纳了 Pasta曲线, 而且 Mina 已经为 Pasta 曲线在 Ledger 中集成,该集成已经被提交给 Zondax,以用于未来的 Zcash Ledger 集成。
最先在账本整合中派上用场,这已经被提交到 Zondax 中,供未来 Zcash 账本整适用。他们也被包罗在 Arkworks Rust 库中。
这个 ZIP 公布包引入一个一个新的匿名地址花样,使用 Pasta曲线,和一个新的匿名池。
这个协议设计的特征和匿名特征是有意和 Sapling 版本保持统一,目的是为了限制手艺上的风险,而且简化用户体验和易用性。
在新协媾和实行准备就绪之前,将委托第三方举行审核,以增强对新协媾和实行平安性的信心。
2、匿名池
若是这个协议被激活, 这个 ZIP公布将会为 Zcash 建立第三个匿名池,为了示意我们 Zk-SNARK 手艺栈的连贯性,第一个匿名池被称为 Sprout, 第二个匿名池被称为 Sapling。
新的匿名池将会被一个匿名池十字旋转门保护着,正如这个旋转门的之前是为了在Sprout 和 Sapling 池之间过渡的那样。
我们将逐步镌汰旧的匿名池,这样的设计就使得我们可以部署新的匿名手艺时,将隐秘学和工程上的风险降到最低。
这激励我们迁徙到一个无信托的证实系统当中,增强了人们对于Zcash 供应量合理性完整性的信托,同时降低了实现的庞大性以及 Zcash 的攻击面。
在 Canopy 网络升级过程中, 我们部署了 Zip 211,禁用往旧的 Sprout 匿名池中增添新币的功效。
类似的,在 Zip224 被激活之后,未来有新的网络要升级,我们的意图是部署 ZIP219,也会类似的禁用往旧的 Sapling 匿名池中添加新币功效。
当前这个 Sprout 匿名池往 -To-Sapling 匿名池迁徙的工具将会被升级,从激活之后起将支持从 Sprout 匿名池到 Halo 匿名池的迁徙,也支持从 Sapling 匿名池到 Halo 匿名池的迁徙。
3、削减元数据泄露
考虑到 Sprout 和 Sapling 升级的过程中的一些履历, 当前这个zip包罗了一些改变,目的是为了削减一部分未加密买卖过程中元信息的泄露。
这一功效通过将输出和破费合并到一个相互无法区分的动作中,是通过对一个买卖中的所有动作使用一个单一的锚来实现的。
4、Zcash 未来凭证
在 Sapling 版本中,当前激活的协议是 Grouth16, 最小但却是最高效的可验证的零知识证实组织。当前 Zcashd 中,这些证实容量小于 200 byte,单独验证一笔买卖约莫需要 7-10 毫秒。
对于我们当前使用的网络规模来说已经足够了,这个验证时间在网络延迟噪声容限内。
然而,纵然在某种程度上,这照样不够的,尤其考虑到 Zcash 扩展性的一些使用场景当中,好比 UDA 用户自定义资产这个情景中。
当我们讨论,Zcash 中可接受的验证时间和买卖容量巨细时,数量级并不是成败的要害,然而我们需要的凭证是即能支持手艺上的扩展性和可编程性,好比在凭证中承载数据。
这些手艺允许凭证汇总在一起处置,并摊销凭证验证时间。从而使得每个买卖的验证成本和买卖容量巨细以指数级削减。除了异常有限的情形之外,我们现有的凭证无法支持上述所有这些手艺。
而我们在 Halo2 上实现的器械,不仅仅支持上面的这些手艺操作,而这些操作是实现扩展性必不可少的工具,然则甚至是没有这些工具的情形下,我们现行凭证的巨细和单一凭证的验证时间依然足以应对 Zcash 在短期内的使用。
通过移除对于初始信托设置的需要,当前 Zip 包即缓解了人们对于初始设定流程平安的担忧,也确保了在未来任何新的更改都不再需要这个 MPC 的信托设定仪式,好比引入 UDA (用户自定义资产,即刊行新的 Token)特征。
这一特征使得这些更新将很容易在 Zcash 网络中实现, 同时还会降低未来升级的成本和风险以及时间。与当前的 Groth16ping 凭证相比,Halo依赖于更弱庞大性更低的密码学假设,后者依赖于基于配对的密码学。
纵然没有紧要的缘故原由使得我们对于 Zcash 网络当前使用的 BLS12-318 配对协议发生担忧,然则能够使用更低平安性的假设是迎接的。
Zcash 的扩展性的实现,需要对 Zcash 当前相互相关的协议举行大规模的重新设计,而不仅仅是在 Zcash 上实现 Halo 2那么简朴。
Halo 2 将成为设计这些协议的焦点组件。在不久的未来,我们将会行使 Halo 2 的特征通过买卖聚合的方式去,削减链上带宽和验证时间。
最终,这些特征还可以使我们实现一个完全简练的区块链,实现近乎实时的同步,对于轻量级客户端提供全节点级别的平安保证。
5、性能
从开发 Halo2 的那一刻起,我们就一直在起劲的做着,以确保我们可以解决扩展性上的挑战以及移除信托设置,同时不会以任何有意义的方式降低性能。
从盘算方面讲,我们信赖 Halo 2 和Sapling比也有竞争力,甚至可能优于Sapling,纵然买卖量会更大。
此外,Halo 2 的蕴蓄以及聚合功效,将使得我们在未来的可扩展版本中大大降低买卖体积。
Halo 2 在匿名买卖的构建相比于使用Groth 16凭证系统构而言会看起来有一点差别。Halo 2 无需像Groth 16 那样对每一个破费和输出形貌建立几个单一的凭证,而是并行的建立所有的凭证,因此他们可以分摊买卖体积和破费的时间。
只有单一凭证的买卖大略的盘算有几 kb 巨细,然则分外的凭证质料的边际巨细要小的多,边际验证时间微不足道。
上述的这种匿名买卖中可以包罗数 kb 的备注数据,这并不意味对买卖巨细有显著的增添。单个线程验证一个单独的买卖需要30毫秒的时间,对于单个凭证验证而言,比 Groth16 差一些。
然则与需要大量串行操作的 Groth16 凭证差别,我们的凭证完全可以并行的验证,而且可以凭据可用线程数举行扩展。
Halo 2 中 只要 3-4 个线程并行处置,这个时刻的性能靠近 Groth16 的水平了,若是有更多线程,那 Halo 2 在 Zcash 网络中的显示会加倍的优异。
6、详细实现
我们将针对差别种别用户加以说明,通常来说, 对于所有类型的使用者来说, 这个特征的升级增添了新的错误或者未预料到的设计上的瑕疵的风险, 这对于任何网络升级功效都是云云。
此外,由于 Sapling 仍将是流动池,因此在激活包罗 ZIP 224 的网络升级时,不需要任何特定的操作项目即可继续使用 Sapling 地址或与 Sapling 匿名地址集成,而不是升级到 Zcashd 的支持版本或我们的移动钱包 SDK 。
那些直接依赖 Zcashd 或我们的钱包 SDK 的用户,以及对最终用户体验没有庞大需求的用户,应该有一个相对简朴的实现。
(1)对于矿池运营职员
为了使用 新的 Zip224 的地址作为新的匿名地址, 运营职员仅仅需要在天生地址的时刻响应的添加 -mineraddress 这个参数就行。
对于那些使用新的 Zip224 匿名地址作为收款人时,矿池运营职员不需要做任何改变即可发送。
(2)钱包供应商
那些使用我们 SDK 的钱包供应商,好比 NightHawk 和 Unstoppable 版本的人来说,只需要升级一下对应支持的版本就好,将会自动获得 Zip224 新公布的特征。用户界面代码中需要举行其他事情以容纳ZIP 224地址。
(3)买卖平台和硬件钱包用户
买卖所好比 Gemini 这样支持 Sapling 版本匿名提现地址的,将需要添加对 Zip224 花样地址的支持。Zondax 方面也需要对于 Ledger 整合的支持,然而 Mina 方面已经为使用 Pasta 曲线的项目做了支持,这将有助于 Zondax 的事情。
(4)开发者方面
ZIP 224 的实行得益于 ECC 的密码学工程专业知识,这是通过多个部署级别的 ZKP 手艺发生的。
连系 ECC 在匿名地址钱包的 SDK 所作的起劲, 我们信赖这个更新的手艺将会比当前 Zcash Sapling 版本的部署和整合上加倍容易。
(5)当前 Zec 持币用户
对当前 Zec 持有人可以使用上文中提到的迁徙工具或者现在在用的谁人尺度的转账机制将它们的资金迁徙到新的匿名池中。
(6)区块链浏览器
区块浏览器必须更改他们处置 Zcash 总供应量盘算的方式,并相对应的剖析和显示有关 ZIP224 转账的详细信息。
加入新手交流群:每天早盘分析、币种行情分析
添加助理微信,一对一专业指导:chengqing930520
上一篇:一览币安投资疆土:八大赛道哪些种子茁壮成长?哪些泯然众人?加入新手交流群:每天早盘分析、币种行情分析,添加助理微信
一对一专业指导:chengqing930520