{"content":{"title":"KZG仪式贡献：MR.MOLOCH 临时专辑派对","body":">非常感谢[VΞΞR](https://twitter.com/0xVEER)提供本博文中使用的活动图片。感谢[Trent Van Epps](https://twitter.com/trent_vanepps)和[Carl Beekhuizen](https://twitter.com/carlbeek)在整个贡献过程中以各种方式帮助我。\r\n\r\n\r\n\r\n[以太坊正在朝着采用EIP-4844](https://eip4844.com) （也称为“Proto-Danksharding”）的方向发展，这将引入一种新的承载数据的“blob”交易类型，并显著增加以太坊的[可用](https://en.wikipedia.org/wiki/Availability)数据量。\r\n\r\n由于一些原因，以太坊社区得出结论，[由 Kate、Zaverucha 和 Goldberg 引入的承诺方案](https://www.iacr.org/archive/asiacrypt2010/6477178/6477178.pdf)（又名“KZG 承诺”方案）是可用于承诺 4844 blob交易的[最佳机制](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq#Couldn%E2%80%99t-we-use-some-other-commitment-scheme-without-a-trusted-setup)。KZG 承诺最明显的缺点之一是它对[可信设置的](https://vitalik.ca/general/2022/03/14/trustedsetup.html)依赖。我认为以下引述自 Vitalik 的话很好地解释了现代多方可信设置的工作原理：\r\n\r\n> **可信设置仪式是一个过程，只需完成一次即可生成一段数据，然后每次运行某些加密协议时都必须使用该数据。**\r\n\r\n> **...数百人一起参与生成数据，只需其中一人诚实并且不公开他们的秘密，就能保障最终输出的安全。在实践中，像这样执行良好的可信设置通常被认为“足够接近无需信任”**。\r\n\r\n基本上， 你可以想象一个多方信任设置就像一个社区聚集在一起烹饪一种只能煮一次的特殊菜肴（否则神会降罪给社区）。社区的每个成员只掌握一味秘密配料，并保证不告诉其他人他们在锅中添加了什么。毕竟，了解所有配料的人可以再次煮这种菜。请注意，只要一个人守住了他掌握的配料的秘密，这个食谱就无法复制。\r\n\r\n当然，这不是一个完美的类比，但它与正在发生的事情足够接近。\r\n\r\n回到 KZG 上来，从 2023 年 1 月开始，以太坊社区开始协调 KZG 仪式。由于系统的安全性仅取决于单个参与者向世界隐藏了秘密，因此有尽可能多的参与者显然是非常理想的。以太坊社区彻底打破了之前对公共信任设置（XXXX 由 YYYY 保持）贡献最多的记录，在大约三个月内总贡献达到 ZZZZ。\r\n\r\n[在“开放”贡献期间的许多贡献都是通过 KZG 仪式网站](https://ceremony.ethereum.org/)进行的，据我所知，该网站从用户鼠标移动中提取了每个承诺的大部分[熵](https://en.wikipedia.org/wiki/Entropy_(information_theory))。一些也可能是通过允许用户提供熵的各种开源客户端贡献的。该网站显著提高了 KZG 仪式的可访问性。\r\n\r\n> 来自 AI ：在密码学中，\"熵\"是一个概念，用于衡量信息的不确定性或随机性。熵经常与密钥、密码、随机数生成等相关。较高的熵表示存在更多的随机性和不确定性，因此可能提供更强的安全性。举例来说，如果一个密码是由非常简单和可预测的元素组成，那么它的熵将很低。相反，如果密码是由随机选择的元素组成，那么它的熵将很高。\r\n\r\nKZG 仪式是一个串行过程，这意味着一次只能处理一个贡献。你必须能够从“协调器”（也称为定序器）访问系统之前的状态，才能生成下一个贡献，然后将其发送回协调器。\r\n\r\nKZG 仪式的串行属性引入了一些烦人的拒绝服务载体。用户需要有一定的时间来完成他们的贡献，但不能给用户太多的时间，否则你就会有恶意的用户在仪式上制造垃圾信息并永远拖下去的风险。可以通过以下方式在一定程度上缓解这种攻击媒介：（1）将贡献时间缩短到最短；（2）对允许参与的用户进行一些过滤。\r\n\r\n\r\n\r\n不幸的是，这些缓解措施也带来了自己的问题。过滤用户可能会产生不公平或把关的感觉。我认为社区处理的很好，通过提供两个合理的选项来筛选。\r\n如果：\r\n\r\n1.  你持有至少有三笔交易的以太坊地址的私钥，或者\r\n2.  你有 GitHub 帐户\r\n\r\n这两种选项的门槛相对较低（尤其是以太坊地址选项），仍然可能向系统引入垃圾邮件。我没有看到有人抱怨这些要求。由于参与的人数较多，等待提交贡献的排队时间往往长达数小时甚至数天。当然很烦人，但至少表明这些要求不是参与的重大障碍。以太坊干得不错！\r\n\r\n缩短贡献时间也有一个不幸的副作用：它让有趣的贡献变得更加困难。在 air-gapped 机器上做出的贡献需要以相当安全的方式来回传输信息，这可能需要比窗口等待更长的时间。其他贡献可能会在几乎没有互联网连接的地方进行，比如[现在著名的由 Andrew Miller 和 Ryan Pierce 在一架小型飞机上为 Zcash Sapling 仪式所做的贡献](https://www.youtube.com/watch?v=I4cDAqeEmpU)。\r\n\r\n除了总体上更安全之外，这些“有趣”的贡献还有助于将 KZG 仪式的思想传播到互联网的各个角落，因为它们很酷。因此决定，KZG 仪式还将设置一个“特别贡献期”，期间，一些选定的参与者将有更长的时间为仪式做出有趣的贡献。\r\n\r\n我非常幸运地获得了[以太坊基金会的资助](https://blog.ethereum.org/2022/12/15/kzg-ceremony-grants-round)，创造了一种“独特”的熵形式，并参加了仪式的“特别贡献期”。\r\n\r\n我的贡献是**MR. MOLOCH 临时专辑派对**。\r\n\r\n* * *\r\n\r\n**MR. MOLOCH 临时专辑派对**是一场长达约 12 小时的活动，活动中一大群人一起创建了一张专辑，并用专辑的录音作为 KZG 仪式贡献的熵，然后将专辑删除（永远，永远，永远，永远，直到永远）。\r\n\r\n**MR. MOLOCH 临时专辑派对**有点像数字[[Sand Mandala]]——一种虚拟创造并破坏的仪式。你只能在 12 小时内去完成一张专辑，但有些歌曲确实很棒。到目前为止，我们已经做过两次了（所以从技术上讲，这是**MR. MOLOCH 临时专辑派对，第二部分**），并且总是至少有一些时刻，人们非常想保存一首歌以供将来参考。当然，这种诱惑是摩洛神（Moloch）抬起了他丑陋的头。\r\n\r\n显然，这个名字（“Moloch”）是仪式中有意义的一部分。[它深受斯科特·亚历山大（Scott Alexander）在《摩洛沉思》](https://slatestarcodex.com/2014/07/30/meditations-on-moloch/)中提出的摩洛形象的影响，本身就是艾伦·金斯伯格在[《嚎叫》](https://www.poetryfoundation.org/poems/49303/howl)中所表达的部分。亚历山大的摩洛神是由于人类大规模协调失败而产生的野兽。\r\n\r\n解决这些协调问题并最终“杀死摩洛神”是加密货币生态系统中许多项目（最著名的是以它命名的 [[MolochDAO]]）的既定目标。我们花费了大量的时间和精力来对抗本质上是恶魔的神，如果你认真对待这个问题，就知道它确实存在。\r\n\r\n挑战摩洛神很有趣。也非常累。有时我们应该为了乐趣而进行协调，不为任何目的。**MR. MOLOCH 临时专辑派对**是为人们共同解决问题而设计。我们将释放能量，而宇宙却一无所知。\r\n\r\n## 仪式\r\n\r\n**MR. MOLOCH 的临时专辑派对**于上午 10 点左右开始，参与者络绎不绝。中午，专辑制作正式开始。\r\n\r\n![moloch album begins](https://kelvinfichter.com/pages/thoughts/moloch/assets/moloch1.jpg)\r\n\r\n我们决定给这张专辑加入一点对AI的思考，并大量使用 ChatGPT 来生成歌词和主题。显然，AI 和 Moloch 是很好的组合。我们在晚上 8 点左右完成了专辑的大部分内容。\r\n\r\n![moloch album ends](https://kelvinfichter.com/pages/thoughts/moloch/assets/moloch2.jpg)\r\n\r\n严格禁止录音防止熵泄漏（尽可能合理地预防）。整个过程我们大约录制了 13 小时。我无法将那么长的视频上传到 YouTube，但我正在努力寻找合适的托管。\r\n\r\n专辑准备好后，我们将整个内容播放一遍并将其录制到四台独立的运行 USB-hosted Tails 的 airgapped T400 笔记本电脑中。我们用内置麦克风添加一些额外的熵。因此，录音的损耗很大，但也意味着我们在每台机器上的录制中添加了变量。\r\n![album recording happens](https://kelvinfichter.com/pages/thoughts/moloch/assets/moloch3.jpg)\r\n![album recording continues](https://kelvinfichter.com/pages/thoughts/moloch/assets/moloch4.jpg)\r\n\r\n\r\n专辑播放一次并录制完成后，我使用音频文件作为熵生成了四个 KZG 承诺。这个过程有点乏味，需要在连接互联网的计算机和每台 airgapped 计算机之间来回切换。\r\n\r\n完成所有这些后，我们从所有设备中删除录音。为了真正确保所有内容都从 U 盘中消失，我们用一块混凝土砖块将它们砸成了碎片。\r\n\r\n![smashy smashy](https://kelvinfichter.com/pages/thoughts/moloch/assets/moloch5.jpg)\r\n![smashy smashy results](https://kelvinfichter.com/pages/thoughts/moloch/assets/moloch6.jpg)\r\n\r\n\r\n我们还毁坏了其中一台笔记本电脑。这可能没有必要，但必须小心！\r\n\r\n![smashy smashy results again](https://kelvinfichter.com/pages/thoughts/moloch/assets/moloch7.jpg)\r\n\r\n仪式结束后，整个场面变成了一个更加轻松的派对。直到晚上11点左右。有几个人一直呆到凌晨 1 点才开始清理东西。\r\n\r\n## 结束语\r\n\r\n**MR.MOLOCH 临时专辑派对**是一次相当不错的体验。我非常感谢以太坊基金会向我提供捐赠，帮助我实现这一目标。正是这些让人觉得以太坊是有趣的工作环境。\r\n\r\n我们采取了很多关于熵泄漏的安全预防措施，所以贡献应该是可靠的！我已将贡献收据上传到此网站，你可以根据需要下载检查，见下文。\r\n\r\n*   [收据#1](https://kelvinfichter.com/pages/thoughts/moloch/assets/receipts/1.json)\r\n*   [收据 #2](https://kelvinfichter.com/pages/thoughts/moloch/assets/receipts/2.json)\r\n*   [收据#3](https://kelvinfichter.com/pages/thoughts/moloch/assets/receipts/3.json)\r\n*   [收据 #4](https://kelvinfichter.com/pages/thoughts/moloch/assets/receipts/4.json)\r\n\r\n将来我们可能会再次举行这样的活动（不包括 KZG 承诺）。如果你在纽约并且有兴趣参加下一次专辑派对，请告诉我！\r\n\r\n>英文原文：https://kelvinfichter.com/pages/thoughts/moloch/"},"author":{"user":"https://learnblockchain.cn/people/58","address":null},"history":null,"timestamp":1687682347,"version":1}