原创 PlatON
Lumino, 照亮云图前行道路上的引领之光。
| Lumino是什么?
Lumino的中文含义为发光、照明。在PlatON/Alaya的世界里,Lumino是一个多方协作的计算仪式,为PlatON/Alaya的密码学基础设施之一——零知识证明协议,创建必要的安全参数。
作为区块链领域重要的隐私计算技术之一,零知识证明,允许证明者向验证者证实前者知道一个秘密信息,同时又不直接泄露信息本身。作为一种兼具隐私保护和认证能力的密码学原语,零知识证明被广泛用于区块链中的交易隐私保护、数据最小化认证以及各类扩容等场景。区块链领域应用的零知识证明系统,主要是一类被称为「zk-SNARKs」的密码算法,它具有以下几个特点:
- 简洁性:证明生成时间要足够短;
- 非交互式:证明者仅需要一次性将证明信息发送给验证者,由后者进行本地验算,而无需反复交互;
- 知识论证:证明者必须在掌握了实质性的秘密知识的前提下,才能通过证明验证。
- 零知识性:证明过程除了会让验证者相信陈述(statement)是成立的之外,不会泄露任何的信息。
| 为什么要启动Lumino
目前现有的zk-SNARKs类算法,主要包括经典的GGPR13、PGHR13、Groth16、GM17,以及支持公共参数可更新的Sonic、Marlin、Plonk等新一代算法。知名的隐私密码货币ZCash的当前版本就是采用了Groth16算法。
而如果希望借助这些zk-SNARKs算法来正确运行电路——经过计算机系统编译后的证明逻辑,其前提是系统中的一系列随机的初始化参数已经存在。
例如我们可以通过一个可信的第三方来创建这些参数,创建完成之后,这些参数会被计算「证明密钥」和「验证密钥」,分别作为电路执行者——证明者和验证者的各自输入。需要注意的是,任何人如果掌握了这些随机化参数创建过程中的一些秘密信息,就可以利用这些秘密信息来作弊,使得自己可以生成虚假证明,顺利地欺骗任何人。
事实上,这些随机化的参数不会凭空出来,而区块链的世界里,也不存在纯粹的可信第三方,因此通过安全多方计算(Secure Multi-party Computation)的方式,让多个参与者共同完成这些随机化参数的创建,无疑是一个绝妙的想法。事实上,ZCash已经通过其安全多方计算仪式(Power of Tau),于2017年11月,成功地为Groth16算法创建了系统参数。
在Lumino中,多个参与者将会通过接力的形式进行多轮计算,即当前参与者将采用前一位参与者的计算结果共作为本轮的输入,而他的计算输出也将成为下一位参与者的计算输入。经过一定轮数的计算后,最后的一位参与者的输出,将作为整个仪式的最终成果,也就是PlatON/Alaya的零知识证明系统将选用的系统初始化参数。
为了保证这一接力式安全多方计算的可靠性,每位参与者在进行计算之时,都需要检查他的输入——即前一位参与者的计算结果,是格式良好,并且满足「接力」逻辑。每位参与者在完成该轮计算后,都应该将计算过程中创建的秘密信息即时删除,从而保证整个Lumino仪式的安全性。
| 关于Lumino的更多细节
Lumino将为Plonk算法提供必要的初始化参数,并且这些参数是安全可靠的,意味着没有人可以掌握参数背后的秘密信息,用于欺诈整个系统内的玩家。
整个仪式将分为两个组,分别为不同的椭圆曲线(BN254 curve和BLS12-381 curve)创建不同的初始化参数,从而允许零知识证明系统的构建者选择其合适的曲线类型。
Lumino已经于2021-06-01T10:00:00,UTC+08:00启动,预期运行约60天,即截止时间前的最后一轮有效输出作为最终的结果,将被用于构建基于Plonk算法的各类零知识证明系统。
| 如何参与Lunimo
发电子邮件至LatticeX基金会:
lumino@latticex.foundation
邮件内请填写如下信息:
- 姓名(姓名或昵称)
- Alaya网络地址(为了降低风险,请选用ATP为零的地址)
- 通讯地址(礼品邮寄地址)
- 想加入哪个计算组(BN254曲线组或BLS12-381曲线组,亦可同时加入)
选择参与Lumino,成为Lumino仪式中的一位「接力者」。
通过Lumino的开源仓库,下载和安装Lumino的客户端软件。我们提供了基于Docker的的简易化操作流程:
https://github.com/PlatONnetwork/Lumino/tree/main/setup-mpc-client/
为了给参与者更大的灵活性,仪式支持参与者可以在全周期内任意时间上线和启动客户端软件,我们的后台服务器会采用优化的调度策略保证整个计算仪式的连贯性。
在仪式期间,您可以通过随时查看我们的活动进展页面,在合适的时间参与到仪式的接力计算中,活动网站如下:
https://lumino.latticex.foundation/home
计算完成后,您的计算结果将会被保存在后台服务器上,用于下一位接力者的计算。
本文转载自https://mp.weixin.qq.com/s/vcWd_NeTCV2o_E8KD9MI_g