对话 Dan Boneh:零知识证明(ZKP)的前沿应用
注:在最近的一期 Zero Knowledge 播客中,主持人 Anna Rose 和 Kobi Gurkan,以及来自斯坦福大学的计算机科学教授 Dan Boneh 一起探索了最新的零知识(ZK)研究以及去中心化网络,以及有望改变我们在线互动和交易方式的新范式。
(Dan Boneh,图片来自 Stanford ENGINEERING)
Anna Rose:Dan,我想问问你,关于过去的三年里,你可以分享一些关于 ZK 的亮点吗?
Dan Boneh :是的,我认为零知识(ZK)世界在过去三年中发生很多变化,如果我能很快地讲一下,我认为 ZK EVM 的整个发展真的非常令人印象深刻,在三年前,这看起来还是非常遥远的事,但现在我们已经快要实现了,对吧?我的意思是,我们已经有一些可用的 ZK EVM 能以不错的速度运行,这真的非常令人印象深刻,ZK Rollups 的推出令人印象深刻,它们已经上线了,并且得到了很多的支持。我认为在不久的将来,我们将看到基于 ZK 的跨链桥,通过使用这些简洁有效的证明,可以真正去实现无需信任。
所以从这个意义上说,事情一直在以相当惊人的速度发展。上次我在节目中谈到了使用零知识来实现合规性,而这在如今实际上变得更加重要了。是的, 因此,与三年前相比,ZK 在某种程度上已经成为区块链生态系统的核心和支持工具,这真的很了不起。
Anna Rose:我想多谈谈一般生态系统的东西,因为你觉得现在有更多的资源、教育吗?比如,您是否也在围绕 ZK 进行更多教育?
Dan Boneh :是的,当然。在我们的常规课程中,在我们现在所有的密码学课程中,我们比以前更深入地研究 ZK。我不得不说,发生的事有点有趣,你知道,就是使用证明系统来外包计算的想法,这个想法是很古老的,它可以追溯到 20 世纪 90 年代初的一篇名为 BFLS 的论文,我很喜欢引用这篇论文。引用的话,有点像是说一台笔记本电脑可以验证一群超级计算机的计算,我认为从那时起阻碍该领域发展的是计算机变得非常快的事实。
所以,我们的 iPhone 现在基本上就像超级计算机,因此我们错过了一个缓慢而昂贵的计算机的例子。因为计算机发展得如此之快,以至于很难以一种可验证的方式证明外包计算是正确的。现在突然之间,我们有了一个缓慢而昂贵的计算机的例子,它就是 Layer 1 区块链。
Anna Rose:很神奇。
Dan Boneh:是的,由于 Layer 1 区块链非常昂贵,而且你知道,它不是特别快的计算机,所以现在将计算外包给 GPU,并让 GPU 向区块链证明它所做的是正确的,这实际上是很有意义的。这就是为什么 ZK-rollups 、 ZK 跨链桥以及所有这些都很受欢迎的原因,这实际上只是外包计算的例子。因此,看到 30 年前的愿景在区块链领域当中得到实现,这真的是非常迷人和美丽的。
关于照片、视频的 ZK 用例
Anna Rose:让我们来听听你最近在 ZK 领域所做的一些工作,也许可以谈谈你一直在探索的一些用例。
Dan Boneh:好的,所以实际上发生了很多事情,真正需要强调的一件事是区块链社区正在建设,某种程度上是在开发零知识技术,但有趣的是,它类似于阿波罗计划,我的意思是,他们要去月球,但在去月球的过程中,他们开发了所有这些对其他行业有用的技术,而同样的事情也在零知识世界中发生。它由区块链应用程序驱动,区块链行业就是开发和商业化这类系统的行业,而现在,一些 ZK 应用已经超出了区块链的领域。
我想举一个例子,这是我们最近做的一件有趣的事情,是我的一个学生 Trisha Datta 在做的。问题是这样的,当你阅读新闻时,新闻文章通常会附带一张图片,而图片与新闻文章所讨论的内容有点相关。问题是,你怎么知道你正在看的照片,真的是在新闻文章所讨论的时间与地点拍摄的?所以,也许你正在阅读一篇关于战区的文章,那你怎么知道你所看到的照片,真的来自那个特定的战区?也许它就是在不同的时间,在不同的其他地方拍摄的。
这不是一个假想的威胁,而是真实在发生的,并且普遍存在着。所以,媒体行业都意识到了这个问题,他们制定了称为 C2PA 的标准,它代表内容供应和真实性,让我告诉你,它所做的就是将签名密钥嵌入相机内部。所以,就像索尼有一款相机,它实际上是今年夏天才问世的,相机中嵌入了一个签名密钥,然后每次相机拍摄照片时,它基本上都会对照片的数据进行签名,并对与之相关的元数据进行签名。所以它会生成一个签名,将图片绑定到位置、时间和其他与图像相关联的元数据。所以,现在突然间我们有了一张签名照片,任何人都可以验证并查看照片的拍摄时间和地点。好吧,新闻原则上可以在文章中嵌入这些照片,现在人们可以验证他们正在看的图像确实来自这些授权相机之一。
但我不得不说,这个设计有很多问题,也许你的听众也开始思考这种设计带来的各种有趣挑战。其中一个挑战是,相机拍摄出来的通常是一张非常大的图像,但报纸不需要向读者发送这么大的文件,所以他们所做的是调整图像大小,缩小图片,也许是通过裁剪,他们在将图像嵌入新闻文章之前对这些图像执行这些标准操作,然后将编辑后的图像发送给读者。问题是,一旦你编辑了图像,读者就无法再验证签名。是吧?你需要的是原始签名,而只有原始图像才能验证签名。
Anna Rose:哦。
Dan Boneh:那我们该怎么办?所以 C2PA 在标准中提出了一些不太安全的机制。正确的解决方案是零知识证明,是的,让我解释一下零知识证明是如何解决这个问题的。因此,想象一下你运行编辑软件,并调整图像大小。你想要做的是用零知识证明替换编辑图像上的签名,该证明表明这个编辑图像是正确签名图像的结果,我们对它所做的只是调整它的大小。是的,所以零知识证明中的秘密 witness 是原始图像和原始签名以及我们正在证明的声明,a)原始图像已正确签名,并且 b)如果对原始图像应用调整大小,你最终得到的图像实际上是发送到浏览器的。
所以,现在浏览器基本上会得到编辑过的图像以及 ZK 证明。读者只需点击图片,浏览器就会验证证明,然后,读者就会知道这张照片,真的是在这个时间,以及这个地点拍摄的。
Anna Rose:这很有趣。
Dan Boneh:因此,我们做了很多关于如何在实践中实际运作的实验。结果证明零知识证明是非常有效的,实际上,即使图片有 33 MB 的数据,我们实际上可以进行裁剪、调整大小,基本上证明生成不到一秒钟,所以我们最终得到了一个非常简短的证明,它大约只有 400 字节,然后附加到编辑图像中,浏览器可以验证对图像所做的唯一事情就是调整图像大小,而没有其他任何变化。所以现在我希望我们可以向美联社实际证明这一点,在现实世界中实际部署和使用它会很棒,它确实是有效的。
Kobi :这真的很有趣,因为在你刚刚描述的那个用例中,比如调整它的大小,你基本上是使用零知识证明来简化。所以理论上你仍然可以发送图像,让感兴趣的用户下载并验证所有的转换本身。但实际上它可以更有趣,因为你也可以应用 ZK 的模糊属性。
Anna Rose:Wow。
Kobi:这可能真的非常有趣。
Dan Boneh:这确实是有趣的。所以,他们调整图像大小的原因是因为他们想节省带宽。因此,让读者下载原始图像基本上会抵消这一点,但你是对的,裁剪和模糊现在实际上是在利用 ZK 属性,所以这确实是很好的应用。对我来说有趣的是,它是 ZK 的一个相当重要的应用,并且与区块链无关。所以我认为这是一个激动人心的故事,关于区块链技术如何渗透到社会的其他领域。
Anna Rose:我喜欢听到这样的事,我觉得人们渴望越来越多的用例,我从没听过这个,所以我认为这真的很令人兴奋,我觉得你刚才描述的也有可能将它开放给其他类型的媒体,比如你刚才提到的是图像,但也许可以换成音频,也许它可能是其他东西,所以这真的很酷。
Dan Boneh:所以实际上我会为你的听众提一个悬而未决的问题。因此,如果有人想去这样做,我们现在可以为图片做这件事,但我们也想为视频做这件事,而视频也会被编辑和缩小,而视频文件很容易达到数千兆字节,对吧?那么问题来了,我们如何在像视频这样的海量数据上生成 ZK 证明呢?是的,如果有人想解决这个问题,这是一个很好的挑战,也许有足够的 GPU ,可以让我们做到这一点,但现在,这超出了我们在一台笔记本电脑上可以做到的。
Kobi :好的,也许我们还要等待 ASIC 的出现,我们会看到的。
Dan Boneh:是的。
关于可信设置的 ZK 用例
Anna Rose:所以,Dan,我觉得我们可以触及很多用例,告诉我们另一个,你还在做什么?
Dan Boneh:是的,最近出现的 ZK 的另一个应用,是与可信设置有关的。让我们谈谈如何做,如何进行设置。同样,你的许多听众可能都知道一些零知识结构的示例,它们确实需要可信设置,对吗?这涉及到被称为 Tau 的随机秘密值,这是管理实体必须去擦除的,而且,你知道,这通常是通过一些有趣的仪式来完成的,人们去破坏产生 Tau power 的机器,或者他们在飞机上这样做,然后将机器从飞机上扔下来。因此,人们会举行各种有趣的仪式来产生 Tau 的这些 power,但真正至关重要的是,一旦信任建立完成,删除秘密数据也非常重要。你可能知道,以太坊基金会实际上正在致力于 Tau 仪式的 power。这是他们正在做的一个非常非常有趣的仪式,因为它将涉及非常非常多的人。
Anna Rose:哦。
Dan Boneh:是的,这是一个非常有趣的项目,我很高兴看到他们这样做,这可能是他们正在构建的 Tau 的power,可能会对许多其他项目有用,而不仅仅是以太坊基金会所需要的。
Anna Rose:这就是他们运行了很多年的 Perpetual Powers of Tau 吗? 或者是别的什么?
Kobi :这是一个较小的,是关于 danksharding 的。
Anna Rose:哦。
Kobi :这将成为以太坊的核心。 我同意,这真的很有趣。
Anna Rose:酷。
Dan Boneh:是的,所以这是一个即将举行的非常重要的仪式,也是有史以来规模最大的仪式,它应该会涉及到数十万用户。所以我们可能会问,为什么我们需要在区块链上进行可信设置?有趣的动机是区块链具有反审查能力,对吧?因此,如果有人试图阻止你写入区块链,那么,区块链的全部意义在于它旨在让你能够写入。所以这里有趣的应用是,如果你试图运行一个可信设置,可能有一些网络攻击者试图阻止一个诚实的参与者参与设置,对吧 ? 但如果可以阻止诚实的参与者参与,那么我们就有问题了。因此,在区块链上运行设置很有趣,我们使用了区块链的自然反审查属性,来确保所有诚实的参与者都能真正进入并参与设置,这变成了一个有趣的问题,那么现在所有这些问题都是关于如何在区块链上运行设置? 所以基本上区块链,它要做的是验证每次参与者进来随机设置当前状态,区块链必须验证参与者确实正确地完成了工作。
Kobi:所以区块链在这里取代了协调器部分,对吧?
Dan Boneh:是的,事实证明,这里有几个模型。因此,有趣的是,你可以想象将 Tau 的全部功能放在区块链上。然后基本上区块链将验证每个更新是否正确完成。那么这是一种适用于小型设置的方法,对吗? 就像在 danksharding 中一样,生成的数据量并不多。所以你可以想象将所有这些存储在区块链上。 所以问题是,如果你实际上不想将这些数据存储在链上,而是想将其存储在链外,会发生什么情况。在这种情况下,你可以做的是将对数据的承诺(commitment)存储在链上。
所以你对存储在链上的 Tau 的 power 有了承诺(commitment),现在当有人更新 Tau 的 power 时,他们会更新存储在链上的承诺(commitment),然后提供证据证明新承诺(commitment)是有效更新,那将是零知识证明,现在这开始变得有点有趣了。
Kobi :是的。
Dan Boneh:你如何做这个证明?这基本上就是论文中要解决的问题。 一个有趣的问题是,现在你有一个数据可用性问题,这是有人必须存储 Tau 的这些 power,所以大概我们必须使用其中一种数据可用性服务,这就是 Tau 的 power 实际上被存储的地方。当然,如果我们有一个 gas 成本较低的区块链,那就太好了。更多的人可以参与,而不必支付与每次更新相关的 gas 成本,希望这会在未来几年内实现。所以无论如何,我认为这是 ZK 的一种敏锐应用,它连接到存储在区块链上的东西。
Kobi :是的, 我确实同意这真的很酷,因为在我见过的所有可信设置中,基本上你必须依靠社会层来强制执行审查,因为你会在推特上发帖,然后你会对审查你的协调者产生一些怀疑,而不必依赖这一点,正是区块链被发明的原因,这真的是很好的应用。
Dan Boneh:是的,所以我们拭目以待。甚至可能像这样的东西可以商业化并用于实际系统中。我希望有些项目最终会使用这种机制,虽然我不得不说以太坊基金会正在做的事情非常非常有趣,我真的很期待看到大量参与者在那里贡献随机性。
使用 ZK 财政库来运行 DAO
Anna Rose:是的,那么从可信设置出发,区块链世界中是否还有其他类型的领域可以添加 ZK 的东西?
Dan Boneh :是的,目前的名单真的很长,也许我可以再提一个,再举一个例子。因此,我们感兴趣的一件事,是如何使用隐私财政库来运行 DAO。同样,这是我和我之前的学生 Griffin Deneuve 合作在做的一件事。问题基本上是,如果你今天在链上运行一个 DAO,那每个人都可以看到你的 DAO 财政库里有什么,对吧?这会导致一个问题,比如说,当一个 DAO 想要参与拍卖,每个人都可以看到你口袋里有多少钱,每个人都确切地知道你的最高出价是多少,这并不是假设,而是发生在 constitution DAO 身上的事,对吧?然后,有人就可以发出更大的出价并超过他们。
Kobi :是的。
Dan Boneh :所以问题基本上是,你可以用两种不同的方式来理解它,你可以从博弈论的角度说,什么是正确的拍卖机制,你有参与者,其中一些人拥有隐私状态,而另一些人拥有公共状态,每个人都可以阅读他们的想法,那在这种环境下,你如何设计拍卖机制?实际上,这是一个应该解决的博弈论问题或机制设计问题。我的意思是,我认为,拍卖行改变他们进行拍卖的方式很重要,因为 DAO 参与了进来,然后每个人都可以读懂 DAO 的想法,并确切地看到他们的资金是什么。
回答这个问题的另一种方式是说,我们真的可以设计一个 DAO,他们可以参与拍卖并保守其资金秘密吗?这又是 ZK 发挥作用的地方,因此,隐私 DAO 设计是一种有趣的设计,我们可以在这里构建所谓的 DAO 平台,这是一个为许多不同的 DAO 提供服务的合约。是的,所以 Juice Box 就是这样一个平台的例子,从表面上看,它是许多不同的 DAO 使用的以太坊上的一个合约,而这个合约基本上使得所有相关 DAO 的资金都组合在一起。然后,有人会去查看这个合约的资金,但他们只会看到大量 DAO 组合在一起的总财政库,而无法得知特定 DAO 的情况。因此,为了实现这一点,非常重要的一点是,当有人向 DAO 发送资金时,它们不会向公众透露这些资金的接收方是哪个 DAO。
所以从某种意义上说,你需要能够秘密地向 DAO 发送资金,这就是 ZK 技术开始发挥作用的地方,所以现在 DAO 基本上有一个存款清单,或者更确切地说,平台有一个发送给它的存款清单。你知道,有些存款是给一个 DAO 的,有些存款是给另一个 DAO 的,现在这个平台上一个特定 DAO 的管理者实际上有一个密钥,他可以使用密钥然后说:“这 15 笔存款是我的,这是它们是我的证据,因为我有一个密钥,可以证明这些存款实际上是给我的。”
然后 DAO 合约会说:“当然,这 15 笔存款确实是给你的,因此如果你决定可以继续将它们发送到拍卖行参与拍卖。”
在这里,SNARKs 被证明是超级有用的,因为想象你有一个特定的 DAO 收到了大量捐款,比方说有 20000 笔捐款,如果你必须为这些捐款中的每一个做一个单独的证明,那么就需要重复 20,000 次,而区块链将不得不分别验证这 20,000 个证明。在这里,我们可以使用 SNARK 批处理技术,在这种技术中,我们可以获取一堆证明并将它们压缩成一个证明,然后将这个证明提交给合约。我不得不说,这仍然需要商业化建设。它确实有效,我再次希望你的一些听众可以采用该设计并使其成为现实,我认为它会是让 DAO 真正受益的东西。
Kobi :那么,您在这里使用了什么样的批处理技术来提高效率?
Dan Boneh :实际上我们使用的基本证明是用了一个非常简单的 sigma 协议。
ZK 与合规性
Kobi:我也很好奇,设计是否包含一些合规性或可追溯性措施,例如,DAO 可以向想要更深入地了解其财务状况的人展示一切都很好。
Dan Boneh:是的,所以这又是一个很好的问题。我们绝对应该讨论一下 ZK 的合规性问题,正如你所了解的,这些 DAO 系统确实需要提供一些合规性功能,谈合规性可能有用的另一个领域,是混币协议。
Anna Rose:是的,我们在今年夏天经历了 Tornado Cash OFAC 制裁,我认为这会对 ZK 研究和用例开发产生相当深远的影响。所以告诉我,你在这个方向做了什么工作吗?
Dan Boneh:是的,Anna,ZK 可以用于隐私目的,它也可以用于合规性。事实上,有几家公司正在使用 ZK 来实现合规性,一个例子当然是 Espresso Systems,这是他们在提倡的事情之一。 所以在 Tornado 的背景下,有一种方法可以从技术的角度来解决这个问题。你知道,政策制定者会从政策的角度来处理这个问题,就是说,什么是允许的,什么是不允许的等等。但是,我们是计算机科学家,我们喜欢思考技术问题。
Anna Rose:一个实验?
Dan Boneh:是的,这是一个实验,确切地说,如果我们必须重新开始,我们可以重新设计 Tornado,使其仍然提供强大的隐私功能,但可以阻止不良行为者使用该服务,这确实是最终目标,只是我们希望不良行为者不要使用该服务。所以让我总结一下这三种可能有用的方法(Joe Brosen 和 Michele Krover 写的),声明一下,我们都不是律师,我们不知道这是否真的能让制裁人员感到满意。
第一种方式会有点弱,它就是我们所说的存款筛选,这意味着当有人试图进入合约时(例如 Tornado),Tornado 合约实际上会检查当前受制裁列表中的地址,你知道,有很多公司提供了一份制裁名单,比如 Chainalysis 提供了一份,Elliptic 提供了一份,这些都是非常简单的合约,你可以在链上查找它们。当你尝试将其存入 Tornado 时,基本上 Tornado 会检查该地址当前是否受到制裁,如果是,它只会拒绝存款。这是一个简单的解决方案,问题是这并没有真正起作用,它不起作用的原因是,会发送黑客攻击,并且攻击者会在几分钟内将资金转移到 Tornado 中,而受制裁名单不可能在几分钟内更新。
所以下一个想法,是使用我们所说的提款筛选(withdrawal screen),所以正如你知道的混币器,一旦你将资金投入其中,你必须等待,资金必须在那里停留一段时间,因为如果你只是将它们投入并立即将它们转移出去,你实际上不会从混币器中获益,所以资金必须停留一段时间,建议是在你将它们取出之前让它们在那里停留几天,当你尝试的时候,不良行为者试图提取资金,希望到那时,制裁名单已经更新了,现在你的来源地址已经被封锁了。
Anna Rose:或标记了。
Dan Boneh:是的,完全正确。所以提款筛选基本上是说,当你试图退出合约时,基本上你必须证明资金来源目前不在制裁名单上,这就是我们所说的提款筛选,这里需要用到的一种有趣技术工具是所谓的排除证明,所以这是一个对 Tornado 合约的一个非常小的改变。有趣的是,如果你是一个坏人,你将资金转移到合约中,然后在你想取款的时候,你的资金已经被困在合约中了,你永远不能提走它们,这很有趣,因为这实际上阻止了不良行为者进入这个合约。顺便说一句,这只适用于 Tornado Classic,当你查看可以在合约内部进行转账的更复杂的设计时,事情会变得有点复杂。
Kobi :这很有趣。
Dan Boneh:从隐私的角度来看,我认为第三种方法有点问题,就是所谓的查看密钥,在某种意义上,它基本上是一个后门。事实上,有趣的是我们社区中的许多人,在你与之交谈的区块链社区中,他们想要实现合规性,而查看密钥是他们首先使用的解决方案。
Anna Rose :查看密钥看起来就像一个大锤子,你实际上打开了各种数据泄露的大门。如果错误的人得到了它,就可以看到所有的数据和信息,这会有很多相关的问题。
Dan Boneh:没错,这些都是问题,这些都是后门通常会出现的问题。比如后门(查看密钥)被偷了怎么办? 丢了怎么办? 有趣的是,我只是想对比一下,查看密钥是人们在需要处理合规性问题时自然会去做的事情。但我还想提一下提款筛选的方法,至少是在 Tornado Classic 的背景下。同样,我们仍然不知道这是否会让监管机构满意。顺便说一下,这里的开放问题是,如果你可以在合约中进行用户到用户的传输,它确实会变得更具挑战性。当你提取这些资金时,资金的来源有很多,所有这些都必须被跟踪,然后在提取的过程中证明就变得更难了。
Anna Rose :如果有 DEX 之类的行为,那就更复杂了。
Dan Boneh:完全正确,如果资金来源实际上是多个账户,事情就会变得更加复杂,现在你必须证明,为我们要取款的账户提供资金的账户目前都不在冻结名单上。
使用 ZK 技术实现交易所储备金证明
Anna Rose :让我们继续讨论,我们实际上可以使用类似零知识或 ZK 证明的元素来帮助防止任何类型的不法金融行为,我的意思是,在这里我显然是在谈论 FTX 发生的事情,它是一家中心化交易所,所以更像是一家银行,而不是链上的任何东西,但我知道有人提出了类似通过 ZK 提供储备金证明的想法。所以,我很好奇你是否一直在研究这个话题。
Dan Boneh:是的,这很有趣,因为这实际上是我们多年前在研究的东西,应该说这是 Dagger、Benedikt Bünz、Joseph Bonneau、 Clark 以及我在一个叫做 Provisions 的系统上的联合研究工作,我想它可以追溯到 2015 年或 14 年,我不太确定,它是对 Mt. Gox 交易所崩溃的回应,所以问题基本上是交易所如何证明它是有偿付能力的,并且是在零知识的情况下做到这一点? 交易所需要证明债务小于资产,对吧? 但通常这么做,会让交易所感到紧张,因为他们可能不想透露自己有多少资产,比如他们有多少客户,以及他们的客户账户上有多少钱。所以这是一个完美的零知识应用场景,交易所基本上承诺了它的资产,所以它会给我们零知识证明,表明它有这么多资产在链上,然后它承诺了它的义务。
有趣的是,每个客户都可以登录到交易所,他们可以自动检查他们在交易所的余额是否包含在承诺义务中。所以当客户与交易所互动时,他们基本上会检查他们的账户是否包含在交易所承诺的义务中。随着时间的推移,如果有足够多的客户这样做,对义务的承诺是值得信赖的。最后剩下的就是零知识证明承诺资产的价值大于或等于承诺债务的价值。事实上,交易所在七八年前就可以做到这一点了,如果交易所失去了资金,它就不能再做这些证明了。在这种情况下,我会回到历史,因为我不想谈论最近的事件。早在 2015/16/17年,我们就试图让交易所实现这一点,这似乎是一件很自然的事情。但对于交易所来说,它们有其他优先事项,而这个方案确实需要一些开发工作,所以我想建议的是,也许我们应该就此启动一个标准化过程,我们为什么不成立一个委员会,一个标准机构来决定什么是偿付能力的零知识证明。
Anna Rose :令人惊讶的是,我觉得很多例子都很适合听众听,现在有了一些概念的证明或一些论文,然后希望我们可以开始看到所有这些新的用例。
Dan Boneh:老实说,所有这些用例都是可能的,区块链社区需要这些零知识证明,所以在开发这项技术上,我们需要付出巨大的努力,否则,这一切都不可能发生。有趣且值得注意的是,现在我们实际上可以让开发人员在不知道细节的情况下研究零知识证明,他们可以与框架交互,并使这些事情正常工作,而不必花费两年时间来理解所有的细节。Kobi,你很清楚这一点,十年前,如果你想开发一个零知识证明系统,你基本上必须雇佣一组密码学家去了解所有不同的证明系统,然后自己实现所有的东西。现在,我可以告诉你们,即使在我们的课程中,我们也有一个 SNARK 项目,学生们在一周内就能实现包含证明和默克尔树。
Kobi :是的,现在我们有了开箱即用的东西,你可以直接在以太坊上验证它,这太奇妙了,我同意你的看法。我最近从你们小组看到的比较有趣的作品之一是合作的 SNARKs 论文,你可以让很多人合作研究 SNARK 内部的不同秘密部分,并得出一个证明,我很好奇这个有什么应用。
Dan Boneh:谢谢你, Kobi,是的,这是我和 Alex Ozdemir 合作的论文,你很了解他。我想他上过几次播客。所以问题基本上是,当你需要生成一个证明时你该怎么做,但证明的 witness 实际上分布在多方,对吧 ? 传统上,当我们考虑零知识证明时,秘密 witness 只由一方持有。那么当 witness 本身分布在多方时,你该怎么办呢 ? 就像在银行系统中,如果你需要在全局交易图上对交易进行证明,你知道,每个银行只看到它对交易图的视图,没有人真正看到全局交易图,但他们却想在全局交易图上进行证明。这就是 witness 被多方分割的例子。那么问题是你怎么做呢? 从理论的角度来看,你要做的就是在持有 witness 的各方中运行证明算法作为 MPC(多方计算),多方计算允许你在共享数据上进行计算,为了做到这一点,我们必须设计一个 SNARK,其中证明算法是对 MPC 友好的。对我来说,这很有趣,因为这是 SNARKs 的一种新标准。
Anna Rose :Dan,非常感谢你分享这些工作,我觉得我可能会把这一集用在我们未来的黑客马拉松上,我会派人去听这个讲座,因为我认为他们会得到很多非常好的想法,他们可能会用这些东西来创造产品,非常感谢你的概述。
Dan Boneh:太棒了,Anna,顺便说一下,我们甚至没有谈到所有我们可以讨论的话题,我们还可以讨论 hyper-PLONK 以及 hyper-PLONK 是如何工作的,以及把 IOPS 概括为 F-IOPS 是很有趣的,但我们可以把这个留到另一集播客。