近几年零知识证明的相关构造落地实现有了非常大的进展,每隔一两个月就会出来各种各样的好消息,目前已经有很多很棒的库可以提供给应用层来使用。
本文主要介绍零知识证明中的一小块领域--范围证明的部分应用,这些材料大部分来源于网络,此文不涉及零知识证明背后棘手的加解密原理,相关原理已经有很多非常专业的文档阐述得很好(主要还是因为我担心讲得不好,怕误人子弟)。
ZKRP属于ZKSM的一个特例,因为本质上来说,任何数量范围实际上也是一个集合。因此,如果在一些特定的应用场景中,ZKSM如果比ZKRP高效的话,我们可以用ZKSM代替ZKRP来优化提高性能。
隐私数据的范围证明,例如,一个人如果想和某一个机构签署一些服务,但是因为某些政策的规定,要求这些服务只对18周岁的人提供,按照传统的做法,我们会直接提供身份证显示出生年月来证明自己已满18周岁,很尴尬的透露真实年龄。但是现在有了ZKRP,我们可以构造一个零知识证明的proof,用来证明某一个人已满18岁,但是不暴露具体的年龄。
通过ZKSM,我们可以在不透露任何隐私信息的前提下去验证一段私密消息是否属于某一个集合中的一员。这个特点可以很好地用于客户隐私地保护。例举一个有趣地应用案列,就是传说中的匿名凭证,一个人可以用来证明他地用户凭证中包含了特定要求地属性,例如某证明凭据式一个国家颁发的合法凭据,而且这个国家式属于欧盟国家,同时不泄露具体国家名称信息。
匿名点子投票,这是一个重要的研究课题,在过去几年吸引了不少的研究人员。对不同类型的选举推出了不同解决方案。有一些是基于零知识证明,例如ZKRP,洗牌证明,解密证明以及其他的相关技术。另外,也有其他的一些方案基于不同