区块链网站|NFTS Zcash(ZEC) 盘点主流隐私币优缺点 零知识学习证明新玩家

盘点主流隐私币优缺点 零知识学习证明新玩家

广告位

盘点主流隐私币优劣势,了解零知识证明新玩家

原标题:《一文读懂「隐私币」| 杂谈去中心化隐私支付》作者简介:黄林,Suterusu项目CTO,上海交通大学密码学博士,佛罗里达大学隐私保护分布式系统博士。曾在洛桑理工学院担任博士后研究员,负责基于区块链的基因组数据保护和数据货币化的应用密码学研究,后担任应用密码学工程师,香港应用科技学院副院长。他发表了20多篇关于密码学和信息安全的论文,被引用近1000次。在他短短9页的比特币白皮书[Sato08]中,中本聪用了整整一章来讨论比特币的隐私问题。

比特币的区块链是一个完全开放的分布式账本,它带来了公众的可验证性,但它显然会影响账本上这些交易的隐私性,中本聪对此心知肚明。

比特币[Sato08]的终极目标是成为网络世界的电子现金。我们可以看到,现实中纸币的匿名性无疑是所有货币形式中最强的。但是比特币的公共账本允许人们通过这些公开的交易地址和金额进行大量的匿名化分析,尤其是当这些公共账本信息与从其他渠道获得的数据进行交叉匹配时,比如一些交易平台,很多用户的身份就会暴露。

比特币缺乏隐私无疑是其作为电子现金被广泛采用的巨大障碍。以前我们用纸币不用担心隐私泄露。至少这些银行或者大公司是受各种现有法律约束的,所以我们不用太担心个人隐私泄露。但是,如果用比特币直接把自己的隐私公开,那就有点滑了。如果比特币真的成为一种被广泛使用的电子现金,你敢想象把你所有与衣食住行相关的日常消费记录公之于众吗?这显然不合理。

另一个问题是,由于比特币区块链公开记录了所有的交易历史,因此对货币本身的可替代性有着深远的影响。这个原因是比特币接收者可能会因为一些交易历史拒绝比特币,比如参与恐怖活动。可能比特币的持有者从未参与过任何恐怖活动,但仅仅因为上一个持有者参与了恐怖活动,就导致当前持有者的比特币价值降低,资产受损,这显然是不合理的。

在比特币之前,私人支付一直是密码学的重点研究领域。这方面的文献可以说是铺天盖地,这里就不一一列举了。密码学和私人支付结合的如此紧密也就不足为奇了,因为毕竟密码学是一个数字解决方案,支付涉及的钱其实是一个数字串,而这个数据又是极其敏感的,所以密码学和私人支付当然是天生的一对。

零知识证明简介

一般来说,区块链的隐私支付主要涉及几个隐私问题:

交易发起方和接收方的隐私性:是指攻击者不可能或很难通过分析区块链或分布式账本中的信息来推断交易发起方和接收方的身份。

交易金额的私密性:指攻击者无法通过分析区块链获得关于具体交易金额的有用信息。

交易安全:因为区块链系统是分散的,所以需要考虑如何防止双重消费攻击。

目前看起来上面提到的两个隐私问题都可以通过零知识证明来解决,而实际上零知识证明也确实是现有隐私币设计中的主角。

“零知识证明”到底是什么?先说这个被神化的密码学概念。

1.什么是“证明”?

其实如果你上过数学课,做过证明题,你就知道什么是“证明”了。零知识证明里的“证明”其实和你数学课上的证明很接近。

在你看过一道数学题的证明之后,这个证明应该会让你相信这个证明所要证明的语句的正确性。零知识证明中还有一个命题需要被证明,而证明的读者,或者更正式的说法是验证者,在看完证明后也应该相信这个命题的正确性。

注意,数学证明的过程涉及到两方:作者和读者。在零知识证明中,不仅有我们刚刚提到的校对者,还有提供证明的人,我们正式称之为证明者。在正常情况下,区块链中使用的零知识证明方案是可公开验证的。换句话说,任何人都可以成为证明者,但证明者必须是掌握了命题成立所需秘密的人。只有他能成功地生成正确的证明。

2.什么是零知识?

当你看完一个数学证明的时候,一般情况下,你应该会觉得自己数学很好,因为你掌握了一个新的定理,获得了新的知识。零知识证明就不一样了。他的目的不是让验证者掌握新的知识,他的核心目的是让验证者相信他知道如何证明这个命题,或者更正式地说,他已经掌握了让命题成立所需的秘密,仅此而已。他不在乎验证者看完证明后是否掌握了新知识。事实上,零知识在这里被定义为,除了验证者已经掌握了使命题成立所需的秘密这一事实之外,证明本身不披露任何其他信息。所以零知识证明的证明往往以密文的形式出现,所谓的密文可以看成是一堆胡言乱语。换句话说,你可以通过阅读这些乱码相信命题为真,相信证明者知道这个证明怎么写,其他的你都不知道。

因为零知识证明本身是以乱码的形式出现的,这时候我们就要考虑一个问题,那就是如果一个没有证明这个命题所需要的秘密的人和一个攻击者混水摸鱼来凑数怎么办?所以零知识证明的另一个健全性就变得很有意义了。其目的是确保攻击者在不知道证明命题所需的知识或秘密的情况下无法伪造证明。当然,一般的零知识证明还得考虑完备性的性质,这里暂且不展开。

一般来说,零知识证明可以看作是数字签名和加密的推广和结合。实际上,零知识的性质与加密方案所要求的保密性有一定的对应关系,加密方案的保密性保证了加密密文不会泄露加密明文的任何有用信息。零知识的性质通常用于隐私币中保证隐私。

稳健性可以看作是数字签名方案不可伪造性在一般命题中的推广。在数字签名方案中,没有签名密钥的用户不能伪造签名,这被称为不可伪造性。零知识证明的健全性常用于隐私币中,以保证用户只有掌握了隐私币对应的秘密,才能成功消费对应的货币。我希望我上面的描述能让你对这些听起来难以理解的隐晦概念之间的对应关系有所了解。

题外话,和我们中小学学数学需要的各种死记硬背的机械计算不同,高等数学或者现代数学的研究对象更多的是概念和关系。20世纪最伟大的数学家之一格罗腾迪克曾说:“在不同的时代和世纪,它向我们展示了对依次出现的不同主题的微妙而微妙的反应,仿佛它们来自虚无”。密码学作为一门应用数学,有时候会想出零知识证明之类的点子,不仅可以用来制作隐私币,还可以向我们展示一些“微妙而精致的对应”,给人一种抽象的美感体验,这也是学习密码学的一大乐趣。

我们在区块链场景中使用的零知识证明还需要一些其他的性质,比如必须短,因为证明需要在区块链网络中广播,如果太长会导致网络阻塞率低。我们也希望验证者的计算负担越少越好,因为这意味着验证者,也就是我们通常所说的挖掘者,处理单个事务需要的计算量很低。

隐私币

现有的隐私币大致可以分为两类,需要可信设置的和不需要可信设置的免费。我们将在下面介绍什么是可信初始化。

无可信初始化的保密硬币

1.加密笔记

Cryptonote[Saberhagen18]是隐私货币Monero的基础方案。Cryptonote的设计相对简单,使用的密码工具主要有两种:一次性可链接环签名和匿名地址。Monero中的匿名地址方案实际上是一种匿名的公钥加密方案,它保证如果你是加密方案的指定接收方,你可以通过扫描分发的账本找到你的密文并解密,但是除了你之外没有人可以知道这个密文应该是发给你的,这样可以保证交易接收方的匿名性。

一次性可链接环签名用于确保交易发起者的匿名性。环签名使得用户能够通过使用他自己的私钥和区块链中其他地址的公钥来生成环签名。通过验证签名,你知道这是这个群里某个人生成的签名,但是你无法知道这个群里是谁,所以保证交易发起者匿名的基本思路就是把发起者隐藏在一群人中间。这相当于从零知识证明的角度来看的一个成员证明。

Monero后来在环签名的基础上开发了环保密交易,因为他们最初的方案没有考虑如何隐藏交易金额,保密交易的提出是为了解决交易金额的隐私问题。机密交易中涉及的零知识证明是区间证明。区间证明可以证明某一数额属于合理范围,但并不公开该数额是多少。区间证明也是一种特殊的零知识证明。

那么为什么这个证明是必要的呢?原因是Monero使用的密码方案是在有限域上进行的,换句话说,Monero定义的运算是模Q运算,其中Q是一个非常大的素数,所以如果交易输出结果是一个非常小的负数,相当于这个有限域上的一个非常大的正数,攻击者就有可能利用这个凭空印出Monero。区间证明后来成为所有隐私币方案的标准,也是这个原因。

2.微笑着

Mimblewimble[Elvis16]可以看作是Monero的简化版。他从区块链中去掉了称呼的概念。由于发送者没有地址,该方案还取消了环签名。该方案只留下保密交易方案和区间证明。由于保密交易方案对应的签名方案是同态的,所以可以集成多个交易。这样做的好处是整个账本变小了,各个节点挖掘的负担变小了很多。

需要可信初始化的保密硬币

3.Zcoin

Zcoin[MGGR13]是学术界在去中心化隐私付费方面最早的尝试之一。其基本思想是用一个Pedersen承诺作为货币,承诺的消息是货币对应的序列号,将用来防止双花攻击,承诺方案中使用的随机数代表用户对货币的所有权。

Zcoin使用累加器来确保所用货币的匿名性。聚合器可以将对应于系统中所有货币的承诺压缩到一个组元素中。当使用他自己的货币时,用户只需要证明他知道与他的货币相对应的随机数,并且货币承诺属于聚合器中包含的元素之一。在功能上,聚合器可以看作是零知识证明中的一个推广或证明。

Zcoin保护隐私的思路和1999年的一个隐私付费方案[ST99]是一样的,只是有很多简化。这种简化的缺点是Zcoin的量是固定不可分的,在实践中非常不方便。另一个问题是,Zcoin的原始设计并没有证明区间内的钱数,这就为攻击者发动上述凭空赚钱的攻击提供了可能。这些问题在Zcash基本都解决了。

4.Zcash

Zcash可以看作是Zcoin的修订版,采用了当时最新的零知识证明方案,兼顾了可审计性、可追溯性等属性。实际上,这相当于将Sander和Ta-Shma在1999年提出的方案[ST99]应用于区块链。

Zcash使用的零知识证明来源于Pinnochio,这是一种由微软和IBM的密码学家开发的可验证计算方案。Pinnochio最初是为云计算中的可验证计算而提出的。这种想法可以支持一般计算,但最大的问题是需要可信初始化。一旦可信初始化中涉及的一些陷门知识被攻击者获取,就可能被用来攻击零知识证明的正确性,从而使Zcash的无限打印无法被检测到。

针对可信初始化Zcash团队提出了一些解决方案,如分布式初始化、通过多方计算设置参数等。但这个想法的问题是,一开始他并没有完全解决这个问题,因为多方计算涉及的参与者数量有限,大家还是要相信参与者没有合谋攻击这个计算过程,因为毕竟这里涉及的经济利益太大了,很难相信没有人会去冒险。

另外,这一步本身也会带来一些潜在的安全隐患。信息安全中的一个基本原则是,复杂性是安全的敌人,这与系统工程中的保持简单和愚蠢原则、KISS原则和哲学中的Occam剃刀原则是一脉相承的:如果没有必要,就不要添加实体。所以,如果有一个方案可以避开这一步,而且效率还不错,那么当然应该选择更简单的方案。

此外,Zcash的设计中实际上还有一些其他的冗余。例如,它们的匿名性部分是通过将Zcash隐藏在系统中现有货币的成员中来提供的,而双花攻击是通过检查序列号来防止的。Zcash本身其实就是一个承诺,Zcash的控股权转让是通过转让承诺的内容来实现的。这里零知识证明对应的语句非常复杂。例如,货币本身的合法性证明必须通过证明承诺本身在Merkle树上的成员证明中来证明。

这个方案非常复杂,因为首先hash计算的正确性需要用零知识证明方案来证明,涉及的电路足够复杂。另外,随着系统中货币发行数量的增加,对应的Merkle树变大,需要验证的电路数量也相应增加。我认为Zcash系统的这种复杂性其实与[ST99]本身设计的复杂性有关,因为这个方案的最初设计在电子货币的设计中考虑了可追溯性和可审计性,这与反洗钱等政策考虑有关。

摘要

上述隐私币各有千秋。目前看来,纯粹从保密交易的角度来看,Zcash的技术路线的设计有点过度工程化,但却是证明普适零知识应用的一个非常好的尝试。

CryptoNote,secret transaction是该技术路线中最简单的私密支付方案,但其间隔证明其仍需要对数交易规模,应该还有改进空间,但相信该技术路线由于假设较弱,安全性和可靠性更高,会逐渐成为主流。我们将在后续文章中继续介绍相关领域的最新进展。

苏特鲁的尝试

目前,现有隐私保护区块链方案的设计保持不变,零知识证明一直是这场技术改革风暴的核心。

开发一个隐私保护区块链并不容易,尤其是基于最安全、最高效的零知识证明技术的隐私保护区块链。这件事的难度不仅在于零知识证明的设计需要非常高级的数学,这对于没有密码学背景的工程师来说已经是很大的挑战了。密码模块的实现及其与区块链系统的集成也是任重道远。要实现一个安全、可靠、高效的隐私保护区块链方案,往往需要众多密码学专家和安全系统工程师的密切合作。

Suterusu project将为开发者搭建一个发布平台,基于最新的零知识证明方案,无需可信初始化设置,一键发布隐私保护的区块链。我们注意到,现有的几个隐私币社区处于相对孤立的状态,Suterusu将为这个生态系统中产生的匿名数字资产建立一个跨链协议,以确保这些匿名资产在这个生态系统中的自由流动。

Suterusu将是一个模块化的、动态的、互动的生态系统,我们将与零知识证明研究一起进化,从而确保在我们的生态系统中构建的隐私保护区块链方案始终基于最安全、最高效的基础之上。

什么是“隐私计算实验室”?

隐私计算实验室是由黄林博士和两个项目苏特鲁和SERO在2019年联合建立的。我们专注于隐私计算在区块链和分布式系统中的应用研究和开发。本微信官方账号将跟进隐私计算最新研究成果。

为什么要成立“隐私计算实验室”?

加密和隐私技术需要大量的学术和工程积累,其发展和演进需要集体努力,共同的成果必将惠及更多的组织、机构和个人。因此,独立实验室为行业内外的技术专家和同仁提供了专注于隐私保护领域、理论验证和工程实现的非营利性研究平台,共同为隐私技术的发展和落地提供了坚实的基础。

关于苏特苏

Suterusu实现并集成了最新的无可信初始化的零知识证明协议。在此基础上,我们将建立一个发射台,允许开发者一键实现他们定义的隐私保护区块链方案。

Suterusu将使用Suterusu生态系统技术实现匿名数字资产的隐私跨链协议,从而确保这些数字资产在生态系统中的高流动性和可交换性。Suterusu以社区自治为核心发展路径。高达76%的Suter token是通过挖掘产生的,它支持“投票挖掘”。我们引入最新的流动性分散精英管理,实现连锁治理。与现有方案相比,该方案具有更高的灵活性和参与者自治性。

关于SERO

SERO是新一代隐私公链,支持智能合约,可以发行匿名币和匿名资产。它被称为以太坊的匿名版本。SERO采用零知识证明加密方法,性能远超ZCash,所有交易默认匿名。它是真正的匿名公链,采用最先进的PowPOS底层共识,因此网络安全性和性能比纯POW POS公链更高。SERO早期由前IDG合伙人杨、LD、Quantum投资,已与F2Pool等多家大型矿池对接。

广告位
本文来自网络,不代表区块链网站|NFTS立场,转载请注明出处:https://www.qklwz.com/jzb/zec/43289.html
上一篇
下一篇

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

返回顶部