Zcash 新全节点软件 Zakura 已于周三发布 1.0.0 版本。围绕这款客户端,参与重建 Zcash 的开发者给出的方向很直接:在保留完全可验证性和强隐私保证的前提下,把隐私支付系统推进到 Visa 和万事达的处理量级,每秒处理数万笔交易。
按团队说法,万事达和 Visa 每秒处理超过 5 万笔交易,这一数字是他们设定的“底线”。而 Zcash 目前每秒只能处理约 1 笔隐私交易,这让 Zakura 的上线成为 Zcash 扩容路线中的第一块拼图。
Zakura 由谁维护,定位是什么
Zakura 是一款新的全节点软件。全节点会保存完整区块链副本,在 Zcash 的场景下,就是保存完整账本,并独立检查每笔交易是否符合网络规则。
该软件由 Zcash 零知识密码学创始成员 Sean Bowe 和 Osmosis 联合创始人、现任 Valar Group 负责人的 Dev Ojha 维护。报道提到,这两个团队都由私人 ZEC 捐款资助,而不是公司或基金会出资。
Zakura 基于 Zcash 基金会的节点软件 Zebra 分叉而来,也就是从基金会的官方代码出发重新构建。对这类软件而言,共识规则就是所有节点共享执行的规则手册,用来决定哪些区块和交易被网络视为有效;如果某个节点采用了不同规则,它会分叉出去,不再跟随其余节点所在的同一条链。
剪枝、快照与 zcashd 兼容模式
Zakura 的一个重点功能是剪枝。节点可以删除不再需要的旧区块链数据,从而明显降低磁盘占用。团队给出了一个已经剥离旧数据的现成副本,压缩后约 11 GB,新节点无需逐块从其他节点拉取完整历史,直接下载即可。
按团队说法,这让节点从零到运行只需不到两分钟,速度“快了 680 倍”。
另一个面向现有生态的设计是兼容模式。该模式复现了原始客户端 zcashd 的接口,而 zcashd 将于 7 月 18 日终止生命周期。这样一来,原本围绕 zcashd 构建的钱包和交易所集成可以继续工作,不需要立刻重做接口适配。
为什么 Zcash 想把吞吐量推到 5 万 TPS
团队把这件事归结为一个算术问题。若要跟上每秒超过 5 万笔交易的处理量,按 Zcash 当前使用的密码学方案,节点每秒需要接收并验证超过 500 MB 的数据。原因在于每笔隐私交易都会携带一个证明,而证明体积很大。
报道将这一数据量做了一个形象类比:大致相当于每 10 秒持续收到一张完整 DVD 的数据。以现有 Zcash 软件来看,还没有任何实现能接近这一水平。
团队在博客文章中写道:“我们的梦想是支撑全球支付。万事达和 Visa 每秒处理超过 5 万笔交易;这是我们的底线。按 Zcash 现有的密码学方案,这种交易量需要节点每秒处理超过 500 MB 的吞吐量。” 文章同时指出,现有技术栈达不到这个目标,但他们正在开发的密码学技术可以缩小大部分差距。
Tachyon 试图压低共识层的数据压力
Sean Bowe 的 Tachyon 项目被用来处理这一瓶颈。其核心思路是递归证明,也就是用一个证明去证明数千个其他证明的有效性,从而减少共识层必须检查的数据量。
在 Tachyon 方案下,节点验证的是单个证明,而不是数千个独立证明。团队称,这会把共识数据需求从每秒 100 MB 降至 500 MB,并认为通过精细工程,这一水平在技术上可以实现。
这部分工作的意义在于,它针对的是节点验证端最重的一段负载。如果这一层无法下降,网络就很难承接支付级的吞吐量。
钱包侧瓶颈:当前最高约 1 笔隐私交易/秒
即便节点层的问题被压下去,钱包仍有另一套限制。由于 Zcash 会隐藏交易接收方,钱包不能在不暴露自身信息的情况下直接向服务器询问哪些交易属于自己。结果就是,钱包必须把所有内容拉下来,再逐条测试。
这也是为什么钱包软件目前最高只能达到每秒约 1 笔交易。
为了解决这一问题,Valar Group 正在研究私有信息检索技术。目标是在不让服务器知道钱包具体请求了哪些条目的情况下,让钱包拿到属于自己的数据。这一方向处理的是钱包同步和查询效率问题,与共识层扩容是两条并行路线。
Zakura 也承担快速区块传播任务
除了验证和钱包查询,区块传播速度也是整套设计的一部分。所谓快速区块传播,就是尽可能快地把新挖出的区块广播到整个区块链网络。
Zakura 就是负责这一任务的软件层。它必须足够快地在节点之间传输新区块,才能为大量证明和钱包流量提供基础。该软件还带有一个实验性系统,目标是在半秒内把每个区块传递给每个节点,不过这一功能目前默认关闭。
7 月下旬将迎来 Ironwood 测试节点
这些设计很快就会遇到现实网络测试。报道提到,7 月下旬将进行近期测试。届时,Ironwood——正式名称 NU6.3——将在主网区块 3,428,143 激活,时间大约是 7 月 28 日美国东部时间上午 8 点,而 Zakura 从发布时起就已支持这次升级。
Sean Bowe 在 7 月 10 日表示,所有主要组织都已承诺在这一高度激活 Ironwood。实际时间比原计划晚了一周,原因是交易所和钱包服务商要求更多准备时间。
Ironwood 为什么出现:一个 5 月发现、6 月处置的漏洞
Ironwood 的背景来自一个接近在 6 月重创 Zcash 的漏洞。Zcash 的屏蔽池是网络中的隐私部分,金额和参与方都会被隐藏,而零知识证明负责提供数学上的有效性证明。
5 月 29 日,Shielded Labs 研究员 Taylor Hornby 发现,Orchard——也就是最新的屏蔽池——其证明电路存在一个健全性漏洞。该漏洞允许攻击者在链上不留下痕迹地铸造假 ZEC,而且这一问题自 2022 年 5 月 Orchard 激活以来就已存在。
开发者随后进行了紧急处置。到 6 月 2 日,团队已完成应急响应并禁用 Orchard;6 月 3 日,又通过 NU6.2 硬分叉在区块 3,364,600 重新启用 Orchard,所用的是修正后的电路。
不过,补丁并不能抹去漏洞此前开放的四年时间。由于零知识证明除了“验证通过”这一结果外不公开更多信息,链上并没有 Orchard 交易具体转移内容的记录,因此没人能够证明这段时间内从未产生过假 ZEC。
Ironwood 如何处理假币风险
Ironwood 的设计,就是为了应对这一遗留问题。方案核心在于屏蔽池边界上的“旋转门”机制。因为进出屏蔽池的 ZEC 金额是公开的,哪怕池内交易本身是私密的,所以协议可以在边界上限制哪些价值能够流入和流出。
在这一机制下,Orchard 会被封闭,不再接受新的存款,“旋转门”成为唯一出口。这样,若池内存在伪造出来的币,它们会被困在内部,无法像正常余额那样顺利退出并进入流通供应。
报道给出的结论是,诚实余额可以随着时间逐步迁出,而假币可能无法完全退出。通过把任何试图制造超额供应的行为限制在边界之内,Ironwood 旨在恢复代币供应数据的可靠性。

