DevelopmentTech

什么是Sigma,以及为什么用它在Zcoin中取代Zerocoin?

By 三月 20, 2019 No Comments
什么是Sigma,以及为什么用它在Zcoin中取代Zerocoin?

是Zcoin将于2019年第一季度在测试网上发布Sigma,它是Zerocoin的替代品,其在三个领域对Zerocoin进行了重大改进:

  • 移除预信任机制。
  • 将证明大小从25 kB减少到5 kB。
  • 提高安全性。

预信任机制

自从Zcoin诞生以来,我们一直认为“预信任机制”是一个很大的缺点。

在预信任机制中,首先基于“主私钥”生成一些秘密(公共)参数,创建我们称之为 “零知识证明”的匿名技术需要这些网络参数。 “主私钥”有时称为有毒废物,需要被销毁。如果此数据未被销毁,则有权访问此密钥的人可以生成无限量的匿名硬币。事实上,在Zcash中实施的Zerocash和zkSNARKs的主要批评之一(不要与Zcoin中使用的Zerocoin相混淆)就是是要求有一个有争议的预信任机制

举个简单的例子来解释预信任机制,创建一个带有锁的盒子和钥匙,拥有钥匙将允许您从盒子中创建无限的宝藏,因此钥匙必须被销毁。预信任机制就是要让人相信密钥已被破坏。

由Zcoin实施的Zerocoin也使用了预信任机制,这是基于在1991年的名为RSA Factoring Challenge的学术挑战中由第三方执行的可靠设置,其插入后门的动机很低,并且破解它会得到巨额的奖励。虽然这是一个不错的实施方案,它被泄露的可能性很小,但我们认为区块链的初衷就是构建不需要信任的系统,同样的原则也应适用于我们的匿名系统。事实上,由于我们的创始人Poramin Insom花费了数月时间试图通过使用RSA UFO来消除预信任机制,这被证明是不可行的并且不得不接受RSA Factoring Challenge参数,为此Zcoin在2016年的首次发布还被推迟了。

Sigma基于学术论文《One-Out-Of-Many-Proofs:或如何泄漏秘密并花钱》(Jens Groth和Markulf Kohlweiss),它通过使用Pedersen承诺和无需预信任机制的其他加密构造技术来取代RSA累积器。 Sigma设置中唯一需要的系统参数是ECC组规范和组生成器。

证明尺寸和安全性

证明大小从Zerocoin中的25 kB大大降低到Sigma中的1.5 kB,这几乎减少了17倍,使得在区块链上存储更便宜经济,并且可以在区块中容纳更多匿名交易。我们还使用《基于DDH的短问责环签》论文中的改良版Sigma技术来进一步减小证明大小。这解决了Zerocoin最大的问题之一,同时又没有降低其安全性。

与Zerocoin中使用的2048位RSA相比,通过使用Sigma中的256位ECC曲线的安全性得到改善,并且估计相当于3072位RSA。

打开通往Lelantus的路

Sigma是我们的密码学家Aram Jivanyan开发的下一代匿名协议Lelantus的前身,该协议进一步以Sigma为基础,通过消除对固定和支出固定面额的需求,极大地扩展了其性能和匿名性能。部署Sigma为我们提供了必要的时间来开发Lelantus,同时进行学术同行评审和进一步改进。 关于Lelantus的另一篇文章将在稍后阶段发布。