Q&A | 全方位解读安全多方计算仪式Lumino

6月21日,为期60天的安全多方计算仪式 Lumino 即将拉开帷幕,为了帮助社区伙伴及技术爱好者更加了解Lumino仪式,PlatON准备了相关知识的科普,本期会以Q&A的形式呈现。

关于Lumino

–Q1–

什么是Lumino?

PlatON/Alaya将基于零知识证明(ZKP)来搭建去中心化的隐私保护基础设施。但是在现有的大部分高效的零知识算法中,需要通过中心化的方式来创建系统参数,而创建该参数的中心化第三方可以伪造证明,进而会破坏PlatON/Alaya上的底层安全。

Lumino的意义是通过安全多方计算的方式来共同生成零知识证明算法的系统参数(此次活动主要是针对PLONK算法),在Lumino过程中,系统参数中的秘密值是由所有参与方共同生成的,因此不会由单独某一方获取。因此,活动的参与方越多,生成的参数越安全。

–Q2–

什么是安全多方计算?为什么要做安全多方计算?

安全多方计算是多个参与者共同计算,同时保证每个参与方输入隐私的一种密码学协议的统称。在Lumino过程中,参与方本地生成秘密值,利用安全多方计算协议来共同来生成零知识证明的系统参数。进而保证该参数不被单一方控制。

–Q3–

什么是系统参数?通过安全多方计算方式来生成的零知识证明算法的系统参数如何起到隐私保护的作用呢?

系统参数是为了整个算法能够顺利运行需要提前计算好的一串数据。

Lumino中用安全多方计算来生成系统参数并不是为了保护隐私,而是为了将系统参数中原本中心化生成一个秘密值(称为「废料」),以去中心化的方式来生成。

–Q4–

「仪式」二字有何特定含义?是否有深远的影响?

社区里常用的说法是MPC Ceremony,我们可以将其翻译为仪式。Lumino的设想从一开始就是链接全球的密码技术极客来共同成为建设隐私计算基础设施的开创者与见证者,这不仅仅是一场活动,更是一种仪式。我们将原本中心化生成系统参数的方式改为了分布式的方式。一个真正的基于社区的、开源的区块链生态系统,每一位都是最关键的一环,每加入一位参与者都会使底层更安全一分,这将是一种充满仪式感的集体智慧。

Lumino更是后续基于零知识证明的去中心隐私保护应用的基石,只有安全地完成该活动,后续的去中心化应用才会更安全。与其他类仪式的不同点在于,其他类仪式采用的Groth16算法,对于不同的应用都需要运行一次MPC Ceremony。而Lumino基于PLONK,对于之后所有的应用都只需要进行这一次活动。

【关于参与者

–Q1–

我参加Lumino有什么好处?

可以与全球的密码技术极客投入到隐私计算基础设施的建设中。LatticeX基金会将为Lumino参与者提供大约40台谷歌云机器资源。在Lumino仪式结束后,我们将向您送出Lumino仪式纪念礼物以感谢您卓越的贡献。

–Q2–

我可以随意使用谷歌云服务器吗?能够使用多久?

LatticeX为申请通过的用户提供所有者权限,随后您可以在计算完成前自由地创建云机器。使用期限为2个月。

–Q3–

参加Lumino有什么条件?需要具备什么支持和技能?

需要准备一定的计算资源(比如云资源,或者本地PC),LatticeX为参与方提供了一定的谷歌云资源。参与方只要按照我们提供的开源软件,按照操作运行,完成计算任务即可。

–Q4–

我可以参加几个计算组?

您可以选择BN254曲线组、BLS12-381曲线组,亦可同时加入。

–Q5–

BN254曲线组、BLS12-381曲线组有什么区别?各自的工作是什么?

目前大部分高效的零知识证明算法都是基于椭圆曲线来设计的,BN254和BLS12-381是两条目前都在使用的椭圆曲线。以太坊目前已经支持BN254,在以太坊2.0中会迁移到BLS12-381。

–Q6–

我如何得知我的计算结果?我可以得知其他参与组的计算结果吗?

软件会提示已经计算完成,本地会生成相应的结果,并且会同步到服务器上。您亦可以知道其他组的计算结果。

–Q7–

如何确保计算结果的安全性?

Lumino是以顺序的方式来执行的,即每个参与方轮流在本地运行相关的程序生成参数。同时,整个协议里面提供验证的机制。如果有参与者不按照程序正常生成参数,则会被检测出来,并把该参数丢弃。

每个参与方都会通过本地的随机数将参数进行随机化,因此即使只有一个参与方诚实执行的,最终生成的参数也是随机的,进而保证整体参数的安全性。为了使Lumino的过程更加公开可验证和透明,每一轮的计算信息都将被记录在Alaya区块链上。

【参与方式】

发送电子邮件至LatticeX基金会:

lumino@latticex.foundation

邮件内请填写如下信息:

  • 姓名(姓名或昵称)

  • Alaya网络地址

  • 通讯地址(礼品邮寄地址)

  • 想加入哪个计算组(BN254曲线组或BLS12-381曲线组,亦可同时加入。)

  • 是否想申请获得云资源激励

4 个赞

已经报名参加 :grinning:

基金会提供的云资源是否已经足够测试,自备计算资源是否必须的?

PS:我想要PlatON的衣服和熊猫 :rofl:

3 个赞

对于参与人员来说相关专业知识要求是否需要很高?

+1 :shushing_face:

在安全多方运算中 系统参数 的作用是什么呢?它起到了一个什么样的作用呢。

lumino的代码中有几个疑问,在下面截图中了。

我填了atp的私钥,但是代码对私钥的格式检查有误。

2 个赞

我感觉私钥会随着邮件下发,之前索要了我们的ATP地址,是为了生成测试网内唯一的测试私钥,能保证测试人员处于可控状态

之前我认为是通过文件夹中的algorithm处理ATP地址计算出私钥,但是结果并不是,在algorithm中所提供的是MPC的计算流程,目前等待邮件下发。

私钥是自己钱包的私钥,官方不会下发私钥的。官方回复是:钱包私钥前加0x就是计算所需要的私钥,

收到收到,这就去玩

别着急,官方需要审核地址,申请的地址被加入白名单经验证后,才能启动计算程序

好滴好滴,我的邮件一直没有被回复

1 个赞

需要解释一下哈,所谓的“系统参数”是Lumino仪式的输出,会用于构建未来的零知识证明系统。系统参数的生成,只有通过尽可能多的人参与,经过安全多方计算的方式,才会足够可靠和安全,

1 个赞

同时启动后,因为磁盘空间不足,导致 BN254曲线组、BLS12-381曲线组都失败了,重新运行后仍一直显示failed,会排队重新轮到吗?

需要重新提交新地址才行,failed后服务器不会再认这个地址了 :sweat_smile:

1 个赞