来自@ebfull的Tachyon博客文章和他与@str4d关于使用无知同步扩展@Zcash的对话的笔记 Zcash的隐私来自于无效化器。当你花费资金时,你会透露一个随机看起来的32字节令牌,这可以防止双重花费,而不透露你正在花费哪个票据。问题是:验证者必须永远存储每个无效化器。在100 TPS的情况下,这大约是每天增长一GB的状态。你无法修剪它,因为你不知道哪些无效化器对应于哪些票据。这自2013年原始Zerocash论文以来一直是一个已知的瓶颈。 Tachyon反转了架构。钱包维护自己的状态的证明携带数据,而不是验证者维护完整的无效化器历史。当你花费时,你的交易包括一个证明,证明该无效化器在最近的锚点之前没有出现在链上。验证者只需检查最近的区块。几乎所有历史状态都变得可以修剪。 关键机制是无知同步。第三方服务可以同步你的钱包并生成证明,而无需了解你的资金。他们可以看到无效化器,但协议对无效化器的派生方式的更改甚至防止了泄露有关累加器中票据位置的信息。你的钱包可以在离线时保持最新。 带外支付是其中的一部分。目前,钱包试图解密每个受保护的交易以找到即将到来的支付。这无法扩展。Tachyon完全将秘密分发移出链,去除交易中的密文。这也消除了链上协议中尚未抵御量子攻击的部分。 Halo的发现使这一切变得可行。在Halo之前,由于性能限制和可信设置要求,证明携带数据是理论上的。Halo改变了这一点,并引发了一波新的PCD构造。Sean构建了Ragu,一个用于在意大利面曲线上的递归证明的库,专门支持Tachyon的要求。 这很重要,因为隐私和可扩展性传统上一直处于紧张关系中。账本不可区分性意味着你无法判断交易修改了哪个状态,这破坏了大多数并行化策略。Tachyon通过将证明负担转移到钱包上,同时保持Zcash自推出以来维持的相同密码隐私保证,解决了这个问题。 时间表雄心勃勃:在一年内使用Zcash已经部署的密码学在主网进行重大改进。不需要投机性研究。不与Crosslink或ZSA冲突。Sapling升级证明了这个团队可以在压力下交付生产ZK系统。他们在18个月内完成了这一点,同时修补了Sprout中的一个健全性漏洞。