什么是 ZK 证明,ZK 证明有什么用
![]() 零知识 (ZK) 证明就像三箭资本的 Su Zhu 和 Kyle Davies一样,他们出生于上世纪八十年代,但直到最近才成为热门话题。 ![]() 你可能听说过很多关于它们的信息,但 ZK 证明到底是什么? 你也许了解了基础知识,但想知道使用 ZK 证明最有前途的项目是什么? 现在就让我们通过ZK证明的概述、应用项目和底层技术来回答这些简单又复杂的问题。 01 1.什么是 ZK 证明? ZK 证明使用密码学允许某人(证明者)向其他人(验证者)证明事实是百分百真实的,但除了特定真实性的陈述之外,不会透露任何额外信息。即能保守秘密,又能让人相信你。 也许举几个例子会更有助于理解: 可以使用 ZK 证明来证明我拥有某个 NFT 的事实,而无需透露我拥有哪一个、购买时间或所花金额。 可以使用 ZK 证明来证明将Token从账户 A 发送到账户 B 的以太坊交易的有效性,而无需透露任一账户的Token余额或发送的金额。 ZK 证明在1985 年 MIT 的一篇研究论文中第一次出现。像许多技术一样,ZK 证明首先引起了大量理论论证,然后在进一步发展和完善后逐渐找到实际运用。 ![]() 麻省理工学院研究复杂加密问题的研究人员 最早的 ZK 证明是交互式的。为了证明某事,你必须和验证者玩一个问答游戏。就像测谎仪测试——验证者不断对证明者所拥有的“知识”进行一系列提问。通过不停的提问,让验证者相信证明者的确知道这些”知识”。但是这样的方法并不能使人相信证明者和验证者都是真诚的,因为两者可以提前串通,以便证明者可以在不知道答案的情况下依然通过验证。 后来发展到非交互式的。非交互式是证明者现在可以生成一个东西,一段数据,作为他的 ZK 证明提交给验证者,而无需多轮沟通。这种ZK 证明不太像游戏/仪式/协议,而更像是可以由证明者生成并提交给验证者的不可伪造物品,避免了证明者和验证者串通的可能性。 2.ZK 证明有什么用? 目前ZK证明有两个主要的用途:
ZK 证明相对于所有链下交易的有效性证明而言计算起来非常小,并且验证速度非常快。这要归功于一个几乎神奇的属性:一旦他们创建了一个证明说“是的,这数十亿次计算都被 100% 证明是正确的”,验证者可以确认证明是正确的,而无需自己再进行数十亿次计算。 有很多 ZK rollup 项目专注于可扩展性,还有一些项目希望同时提供隐私和可扩展性,包括Aztec和Espresso Systems 。 3.炒作 ZK 证明是一种通用技术。过去的几次区块链牛市无疑推动了对 ZK 研发的投资,但 ZK 证明的第一个实际应用出现在中本聪发布比特币白皮书之前。链下世界中有许多令人兴奋的ZK证明应用——比如身份管理、最低年龄验证、匿名凭证、金融资产的评级和风险评估以及数字投票。 ![]() 对于链上和链下应用程序的所有 ZK证明炒作,如果能够推动技术向前发展出新的用途,那是一件好事。但是这种期望是周期性的。当 ZK证明被炒得火热的时候,人们给予大量关注,但是当意识到技术也不是 100% 完美的时候,人们的情绪不可避免地会变得冷淡。 02 1.用户视角下的ZK Rollups 前面已经提到了 ZK-rollups 如何运作的:它不需要在以太坊上运行缓慢且收费昂贵的计算,而是在链下进行这项工作(即在第 2 层(L2)区块链上):创建一个证明说你诚实地进行了所有交易,然后在以太坊上发布证明。 这对用户来说实际上是什么样的呢? 首先,你找到一个你感兴趣的 ZK rollup 项目。每个项目都有自己独立的应用程序和项目生态系统,所以找一个你喜欢的 DeFi 或 NFT 协议。 存储有关 L2 链上正在发生的事情的所有相关数据(账户余额等)。该合约可能不会看到 L2 块的实时视图,因为 L2 交易在被提交到以太坊上的汇总中之前不会被视为官方交易; 检查托管证明以确保它们是合法的代码。当汇总提交到以太坊时,验证者智能合约会确保汇总的证明有效,然后再在 L1 上正式发布。 也许一些类比可以让你更好理解:验证者就像保镖一样,确保来自 L2 的汇总在进入以太坊之前是有效的。或者,在 L2 上产生的区块就像是发表一些关于我有独立科学论文的粗略声明,然后被验证者检查并提交到以太坊就像是经过同行评审并在受人尊敬的期刊上发表。 ![]() 这听起来好像并不是很简单,但了解 ZK rollup 架构的基础知识是理解ZK rollup 项目交互的关键基础。基本的用户流程可能如下所示: (1)向rollup项目在以太坊上的智能合约发送一些 ETH,用于存储/锁定您的资金。 (2)短暂延迟后,L2 链会收到您已锁定这些资金,并会解锁等值的硬币供您在 L2 上使用。这是一个非常典型的桥接体验。 (3)您可以在 L2 上随意使用您的Token。你可以交换,投资,或者用来购买 NFT。然后定期(通常以分钟为单位)将rollup发送到以太坊,表示你在 L2 上最近发生的所有活动都已经完成。 (4)现在您决定要将资金提取回以太坊,因为您在 L2 赌场玩得很开心,但现在您想将筹码(L2 上的硬币和Token)兑现为真钱(ETH 和 L1 Token)。为此,您将 L2 Token发送到 L2 链上的销毁地址,并等待证明该行动的rollup汇总在以太坊上发布。发布完成后,您被锁定在以太坊智能合约中的资金就会被解锁,返回到您的钱包。 2.ZK rollup VS. Optimistic rollups 本篇文章不会详细介绍ZK rollups 和 Optimistic rollups,因为有很多文章对此进行比较,但这里有一句话总结:Optimistic rollups 对发布到 L1 的交易采取“在被证明有罪之前是无辜的”的方法(默认情况下,所有交易都被认为是有效的,但是任何观察到错误 rollup 的人都可以将其调回并获得奖励),而 ZK rollups,正如我们已经可见,在进入L1之前都被认为不可信,要求所有链下计算在进入 L1 之前使用有效性证明来验证自己。 每种方法都有利有弊,但 ZK rollups 的一个主要好处是用户可以更快地将资金提取到 L1。在从Optimistic rollups中提款后,必须等待挑战期到期(大约 7 天)才能解锁资金,因为需要等待被验证。
3.Rollups vs. Validiums vs. Volitions 另一种类似rollup的扩容解决方案是validiums。 当ZK rollups发布到 L1 上时,它既包括证明L2 上的所有活动都是合法的,也包括自上次汇总以来 L2 上账户余额所有变化的情况。这一点至关重要,因为当您想从 L2 中提取资金时,您需要之前的情况来说明“这是我在 L2 上所做的,这意味着我应该能够提取特定数量的硬币和Token。” ![]()
![]() 资料来源:StarkWare 4.ZK项目 使用 ZK 技术的项目太多了,无法一一列出,但这里有一些主要类别和项目。 (1)zkEVM 在过去的一个月里,几个不同的项目都通过推出所谓的zkEVM登上了头条。这些协议之间的竞争被称为“ zkEVM 战争”和“ ZK Rollup Race ”,人们很快就发现,每个协议都声称已经击败了其他协议: ![]() 三个主要参与者是Scroll 、Matter Labs (zkSync 的创建者)和Polygon 。 (2)Polygon Polygon正在构建真正数量惊人的缩放解决方案。老实说,很难跟踪它们。他们被描述为“瑞士军刀的缩放”,大概是基于这个模型: ![]() 这是他们目前的产品线,其中四个提到了ZK证明(包括上文提到的zkEVM): ![]() 每个项目的更多信息都可以在他们的网站上找到,Polygon的文档非常好, 所以在这里就不重复细节。 (3)StarkWare StarkWare是一家构建 ZK 扩展技术的公司,由真正的 ZK 巨头 Eli Ben-Sasson 创立。Eli 共同发明了 STARKs(一种高级的 ZK 证明),并且是 Zcash 的创始科学家。他们有两个主要产品: StarkEx:允许每个应用程序构建自己的个人、许可的 ZK 系统。例如,dYdX(一个Layer 2 上运行的去中心化的智能合约交易平台)和 Immutable (第一个 Layer 2 的 NFT 交易平台)已经使用 StarkEx 分别为永续交易(永续交易类似于股票,只要这只股不退市,您可以一直持有)和 NFT 建立了自己的特定应用 ZK 项目。但是这些应用程序是孤立的——项目之间没有可组合性,因此一个 StarkEx 项目不能直接与另一个项目“对话”。 StarkNet:一种更新的产品,类似于通用区块链。任何开发人员都可以创建智能合约并将其部署在 StarkNet 上——它是无需许可的,例如 StarkEx。项目之间是完全可组合的,所有交易都在以太坊上汇总和结算。我怀疑你很快就会听到很多关于 StarkNet 的消息,因为它的Token计划在 9 月推出������。 ![]() (4)btc & ETH Zcash,前面已经提到过几次,是隐私币领域的主要链。鉴于它与比特币的相似之处,我们是否会看到 BTC 本身采用 ZK 证明来实现隐私还未可知?那么以太坊呢——它是否可以从 L2 的剧本中借鉴一页来使用 ZK 证明来实现可扩展性?简而言之:BTC 不行,ETH 可以。 ![]() 比特币 maxis 检查 bitcointalk.org 的神圣经文 不幸的是,在当时讨论时,ZK 证明还不够先进,无法支持 Zcash(是首个使用零知识证明机制的区块链系统) 级别的功能,这就是中本聪将它们注销的原因:
当一起谈到比特币和 ZK 证明时,时机是不对的。当时比特币很年轻很好改造的时候,密码学太原始而无法实施,而现在应对复杂的升级,比特币的又有太多妨碍的惯性。或许这就是生活。C’est la vie. 不过,在实施新技术方面,以太坊更加进步。在最近关于 zkEVMs 的一篇文章中,V神提到 ZK 证明可以“更容易验证以太坊链本身”,并大声疾呼以太坊的隐私和扩展探索团队正在为此工作。毕竟,L2s 没有理由垄断 ZK 技术。但也不要过于自信了——相对于更小、更灵活的项目,以太坊的发展速度非常缓慢。 03 1.SNARKs——一项突破 SNARK 是一种 ZK 证明,于 2011 年首次出现,并帮助实现了许多现实的应用程序。目前大多数 ZK 项目都利用 SNARK。
2.STARK VS. SNARK STARK是SNARK 的小兄弟,其中字母“N”变成了“T”,其中“T“是“Transparent”,代表“透明的”。(Zero-Knowledge Succinct Transparent-Interactive Argument ofKnowledge,中文意思:简洁化的全透明零知识证明) 它们各自有不同的优缺点。这里说一下这两种 ZK 证明之间的主要区别:
需要注意的是,这些特点在不断发展。最近出现了新的基于 SNARK 的方案,以解决传统 SNARK 的弱点。 3. zkEVM 权衡 对于任何关心 zkEVM 产品细节方面的人(尤其是开发人员)来说,值得强调的是,并非所有的 zkEVM 都是一样的。 ![]() 随着 对ZK证明以及其他新兴加密技术的热议,让我相信我们可能正处于“加密,而不是区块链”的风口浪尖,类似于过去几年的“区块链,而不是比特币”的叙事情况一样。甚至一些比特币 和 Web3/区块链怀疑论者也指出,创新 ZK 证明技术的持续发展是(他们认为)原本毫无价值的替代链的一种救赎。 综上所述——ZK 证明的出现令人兴奋。 但是也许也会出现惊人的反差,说不定所有这些月球数学完全是虚构的,我们被一个全行业的阴谋所欺骗。毕竟,很多 ZK 证明的密码学解释听起来emmm…… ![]() 原文标题:Zero-Knowledge Proofs 原文作者:Mark Bissell and CMS Intern 编译:火火 |
2019-01-10
2019-11-14
2018-11-20
2019-11-13
2019-01-10
2019-11-14
2018-06-24
2019-01-10
2019-01-10