Nocturne 的Trusted Setup Contributor 怎么做?

     大家好,我是来自Coinmanlabs(欢迎关注推特,《程序员角度全分析千个项目》持续更新中)的Paul,昨天我们跟大家聊了下Nocturne。

     今天Nocturne发布了自己的任务,那我们今天就来看看怎么做Contributor任务。

什么是可信设置?

     许多零知识证明系统,包括Nocturne V1使用的Groth16证明系统,需要将一层熵(随机性)应用于电路,以确保证明的安全性。然而,问题是没有人知道这种随机性。因此,所说的随机性通常被称为“有毒废物”——我们必须确保没有人抓住随机性,否则零知识证明方案将被打破。 在实践中,我们可以通过使用多方计算(MPC)来或多或少地保证这一点。其主要思想是,我们让尽可能多的人产生自己的随机性,并将其应用于电路,以一种让人想起“召唤仪式”或“随机仪式”的方式将其一个接一个地分层。只要只有一名参与者真正丢弃了他们的“有毒废物”,证明系统就会是安全的。

     Nocturne V1希望用户也能贡献自己的随机性,成为确保Nocturne V1安全的重要组成部分。

先决条件

  • 在自己的电脑安装过node.js,会使用npm

  • 目前contributor CLI不支持Windows,建议使用Mac或Linux,且该工具目前不支持在VM和Docker容器中运行。

  • 建议使用node.js版本为18,你可以在下面网站下载18的版本

    https://nodejs.org/download/release/v18.18.2/

  • 为了防止女巫攻击,需要持有一个github账号且你需要已经建立了一个仓库,并且

    至少有1个追随者,同时跟随5个其他github用户。

  • 截止时间为**美国东部时间11月6日00:00(北京中午12点)**结束

快速安装node

操作步骤(最困难的就是网络问题)

     当你满足了先决条件,那么贡献需要三个简单的步骤:

安装nocturne-setup的cli
安装nocturne-setup的cli
  • 通过运行“nocturne-setup auth”,使用您的GitHub帐户对CLI进行身份验证(满足上述要求)。

    这一步主要是验证github账号,会跳出github页面让你验证,直接粘贴那串code就可以了。我们在这里可以看作是你下载了客户端想github请求后等到github给你返回token。

获取code
获取code
认证
认证
网络错误
网络错误

如果出现上面的问题请继续尝试,因为网络问题很多次重试

  • 通过运行“nocturne-setup contribute”为仪式做出贡献。按照提示操作。
贡献开始
贡献开始
贡献完成
贡献完成

注意点

1.根据您的互联网连接以及队列中有多少其他贡献者,这可能需要30分钟到几个小时。当你做其他事情的时候,只要它们不是上传密集型的,就可以让它在后台嗡嗡作响。

2.每个电路的贡献都有时间限制。如果您的贡献花费太长时间,您将被从仪式中删除,并被迫等待2个小时后重试。这是为了确保其他人有机会做出贡献。

3.请确保您的计算机在脚本运行时不会进入睡眠状态。如果你这样做了,你很可能会暂停并阻止其他人做出贡献。

4.如果你确实遇到错误,99%的时间都会出现在第三条也是最大的电路上。在最坏的情况下,如果你不能让它为最后一个电路工作,你对前两个电路的贡献仍然是最终确定的。

5.CLI在运行时会创建一些临时文件。不要删除它们。

常见问题

1.“unable to retrieve authenticated user”。如果您看到这个,请等待一分钟左右,然后重试。有时,在运行“nocturne-setup auth”后,后端更新有点慢。

2.多次尝试后上传失败(如下图)。这通常是由于你的互联网速度太慢。不幸的是,在这种情况下,您将无法做出贡献。

3.验证失败,出现[FirebaseError:INTERNAL]。不幸的是,这是一个我们没有时间解决的已知问题。如果您遇到这种情况,请告诉我们,等待超时,并在几个小时后重试。

4.排了好几个小时的队。如果很多人都试图同时做出贡献,这是意料之中的事。只要有耐心,尽量不要让你的电脑进入睡眠状态。

Subscribe to CoinmanLabs
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.