ZigZag InvisibL3 将是一个保留原子兑换且结合隐私的订单簿 DEX,用户将不仅能够匿名交易资产,同时还可以隐藏交易金额。
编译:Karen
尽管 ZigZag 的 IDO 并未掀起太大波澜,但这并未影响到其产品和开发进展。今日,ZigZag 公布其开发团队正在 StarkNet 上推出用于隐私交易的 Layer 3 ZK Rollup「 InvisibL3」,作为其 ZigZag 交易协议的补充。
ZigZag 表示,ZigZag InvisibL3 是一个保留原子兑换且结合隐私的订单簿 DEX,允许用户在利用 ZK Rollup 完全可扩展性的同时在链上保持匿名性。也就是说,用户将不仅能够匿名交易资产,同时还可以隐藏交易金额。
如何在无需许可的交易中实现隐私,同时保持安全性和可扩展性?一种解决方案是利用 ZK 证明来证明状态转换已正确执行,而无需透露任何输入(包括金额或地址),不过这也是信任另一个中心化方来确保数据可用和私密,而不是用资金去信任。第二种选择是设计一个系统,使所有隐藏的交易都是公开的,除非提供正确的私钥,否则无法看到金额或发送地址,这允许任何人重建状态并使用他们的私钥创建其资金持有证据。
关于 InvisibL3 的资金隐藏方式,将使用 Pedersen 承诺方案,这个方案中,总输入等于总输出,需要使用椭圆曲线密码学来实现,有绑定性(Binding)和隐藏性(Hiding)两个基本性质,绑定性意味着承诺方以后不会更改信息,隐藏性是指不泄漏任何有关隐藏数据的信息,还引入了一个只有拥有者知道的随机盲因子(Blinding factor),以防有人破解金额数值。
来源:https://web.getmonero.org/library/Zero-to-Monero-2-0-0.pdf
至于 InvisibL3 的身份隐藏,会仿照 Monero 来构建子地址功能,每位用户都从两组私钥开始,即一个私密查看密钥(view key)和一个支出密钥(spend key),寄到子地址的资金能用主地址的 view 和 spend key 查看和支付,用户可以用这两组私钥生成任意数量的子地址,同时这些子地址无法链接回原来的地址,然后可以使用这些子地址去交互。
考虑到这可能会显示出一个地址进行了多少次兑换,或者有一次性地址的需求,尤其是针对大一点的做市商或者机构交易者,InvisibL3 会添加一次性地址功能,发送方会生成一个带有机密随机种子的一次性地址,用户和做市商可以私下共享,然后,用户可以用他们的私钥证明他们在一次性地址拥有资产,而无需透露这个地址甚至是他们的子地址。
交易方面,也就是 Pedersen 承诺发挥作用的地方。用户想要支付的 input notes 总和和正在生成的 output notes 总和是相等的,而无需透露具体数量。在进行交易时,用户提供交易金额、输入和输出资产类型和价格,以及返回地址签名(将挂单和吃单方联系起来)。
总的来说,InvisibL3 交易仅在以下情况下有效:
- 输入的 input notes 存在于状态中;
- 双方输入和输出资产金额总和相同;
- 双方使用与所支出资产金额对应的私钥签署了预期的交易哈希;
- 要被兑换的代币和金额与交易对手签名匹配;
- 目标地址与返回地址签名匹配。
以上是 ZigZag 解释的关于 InvisibL3 的大致技术细节,如果对子地址、一次性地址以及验证承诺金额等感兴趣,可以细读下 ZigZag 后面的附录。
由于 InvisibL3 结合了原子交换,并且释放了 ZK Rollup 的可扩展性和提供匿名性,特别是对专业或者机构交易者而言更具吸引力。
推荐阅读《ZigZag 公布发币计划,速览其核心产品及特性》
内容搜集自网络,整理者:BTCover,如若侵权请联系站长,会尽快删除。