美文网首页
Zcash NU5 升级

Zcash NU5 升级

作者: 雪落无留痕 | 来源:发表于2021-06-15 23:47 被阅读0次

    Zcash 计划于 2021 年 10 月 1 日发布 迭代产品套件 Halo Arc,包括对 Zcashd (Zcash 共识节点)、ECC Reference Wallet 应用以及 ECC 钱包 SDK 的更新,并将涵盖 Zcash 即将进行的两项改进,包括 Zcash 网络升级 5 (NU5,预计激活日期也为 2021 年 10 月 1 日)和统一地址(unified addresses),其中,Zcash 网络升级 5 实现Orchard匿名协议,将 Zcash 从 zk-SNARKs 迁移到免除信任初始设置的 Halo 2证明系统中;统一地址是一项补充功能,引入了一种优先采取屏蔽模式(shielded adoption)的未来证明(future-proof)地址格式。

    Orchard匿名协议

    Orchard匿名协议用新的密钥和地址定义新的匿名池(shielded pool),方便实现未来的规模性提升。

    Zcash目前存在两个匿名协议和匿名池。

    • Sprout 匿名协议,匿名池于2021年2月关闭。
    • Sapling匿名协议,相比Sprout, 大幅提升了功能和性能,目前仍然运行。

    但这个两个协议依然存在两个问题:

    • 无法兼容递归证明(需要利用椭圆曲线对),阻碍了可扩展性提升;

    • 采用Groth16, 需要可信设置,使用不便。

    Orchard协议使用椭圆曲线对,采用Halo2证明系统实现递归,并且不需要可信设置。

    曲线

    Orchard协议使用Pallas/Vesta 椭圆曲线对,代替BLS12-381Jubjub曲线。Pallas 为应用层曲线, Vesta曲线为电路曲线,即Vesta 标量域为Pallas基域。

    将采用simplified SWU算法定义GroupHash实现,代替原先易错的 BLAKE2s机制 。

    证明系统

    Orchard使用Halo 2证明系统,采用UPA(UltraPlonk)算术化过程,代替Groth16和R1CS。

    Orchard协议尚未使用Halo 2递归证明,将在未来的协议升级中利用。

    电路

    Orchard使用一个电路实现所有的输入(spends)和输出 (outputs)。单个action包括一个花掉的note和一个新建的note。

    一个Orchard交易可以打包多个actions, 采用一个halo2 证明。

    承诺

    Orchard协议采用UPA高效的 Sinsemilla代替原先的非同态承诺。

    承诺树

    Orchard采用和sapling类似的承诺树,只是采用Sinsemilla代替原先的Pedersen hash

    密钥和地址

    密钥和地址和Sapling类似,有如下改动:

    • 证明授权密钥(ak, nsk)被移除,nk 为域中元素;
    • ivk 采用Sinsemilla 承诺计算;
    • ovkfvk 派生,不再是sk 的组件;
    • 所有的diversifier都可以生成有效的支付地址。

    密钥和地址采用Bech32编码,主网上的地址带有前缀zo (Sprout地址前缀为zc, Sapling 地址前缀为zs)。

    Orchard密钥采用分层派生(HD)的方式。

    Note

    Note 结构为(addr, v, \rho,\varphi,rcm), \rho 用于生成nullifier, \varphircm 由随机种子派生。

    Nullifier

    Nullifier计算方式为:
    nf = [F_{nk}(\rho)+\varphi(mod\ p)\mathbb{G}+cm]
    F 采用Poseiden 哈希函数, \mathbb{G} 为固定的基点。

    签名

    Orchard使用RedPallas 代替原先的RedJubjub 方案。

    统一地址

    统一地址(unified address, UA)是未来证明(future-proof)的地址格式,可以提升可用性,互操作性,默认支持匿名。

    背景

    由于Zcash协议一直在迭代升级,出现多种地址类型。采用UA可以提升用户体验,支持自动匿名化。

    UA也可促进Zcash网络的迭代升级,推进Layer 2, Defi应用的互操作性。

    UA

    统一地址由多个Zcash地址类型生成(transparent, Sapling, Orchard), 可以方便用户将资金移到最新的匿名池中,实现自动迁移和自动匿名。

    统一地址兼容Zcash所有的资金池(transparent和shielded),当从透明地址转入的时候,能自动转入匿名池中。

    参考

    https://electriccoin.co/blog/halo-arc-for-zcash-proposed-for-release-later-this-year/

    https://zips.z.cash/zip-0224

    https://github.com/zcash/halo2

    https://github.com/zcash/orchard

    https://electriccoin.co/blog/unified-addresses-in-zcash-explained/

    https://electriccoin.co/blog/nu5-proposed-features/

    相关文章

      网友评论

          本文标题:Zcash NU5 升级

          本文链接:https://www.haomeiwen.com/subject/mrotyltx.html