查看原文
其他

什么是可信设置(Trusted setups)以及它对 Manta 的重要意义|ZKP101

曼达洛人 Manta Network Protocol 2023-06-05

MantaPay 是一项为转账双方提供隐私保护的服务,通过零知识证明(ZKP)来保证交易的有效性,同时不会在链上泄露任何个人信息。零知识证明是 Manta Network 为所有加密资产提供隐私化,实现成为整个 Web3隐私层愿景的核心。


接下来,我们将深入探讨什么是可信设置,以及它将如何为 Manta 网络提供安全保障。


📖 什么是可信设置?

可信设置是我们生成零知识证明所需的基础设施的一部分。具体来说,它是用于帮助生成 Manta/Calamari 网络上创建交易所必需的证明者和验证者密钥。这些密钥必须在启动隐私产品之前被计算(computed)出来,因此称为 "设置"。此外,这些密钥计算过程会产生一些“有害废料”(toxic waste ),这部分必须被清理掉,因此 "信任"一词也意味着你相信这些“有害废料”被清理掉了。

这些密钥是我们在网络上一切活动的核心,因此如何正确地构建它们是很重要的。对于如何构建这些密钥,有复杂且具体的数学规则,主要依据是我们从一个秘密数字开始,做一些相当密集的计算,所以我们就有了证明者/验证者密钥。


(1/N 安全:只要在 N 个参与者中有1个人是诚实的,协议就是安全的)


📖 可信设置何时才是安全的?

你需要知道的是,即使给定了证明者和验证者的密钥,实践中也是不可能反推出一开始构建密钥时用到的秘密数字的。然而,如果有人掌握了这个秘密数字,他们将能够使用它来创建假证明,进而用这些假证明来欺骗网络,并凭空创造出代币!

因此,我们必须在形成证明者/验证者密钥后安全清理掉这个秘密数字。这个秘密数字非常危险,我们称之为 “有害废料”。这就是 "可信设置 "中的 "信任 "的来源:网络用户必须相信危险数据已经被清理了(意味着在生成密钥后,秘密数字已经从内存中删除)。


📖 那么,我们可以信任谁来计算密钥呢?

任何知道秘密数字的人都可以凭空创造出代币,所以保留这个危险数据的诱惑对于任何人来说都太大了。(也许除了《指环王》里的佛拉多·巴金斯,但遗憾的是他不是真的......) 

幸运的是,可以通过一种叫 "安全多方计算 "(MPC)的程序来分担这个负担。我们将在下面进行更详细的解释,这个想法的基础是,与其让一个人知道“有害废料”,不如将这个危险数据分解成数百甚至数千块,由不同的人持有。然后,神奇的事情发生了:只要有一个人扔掉他们的那块“有害废料”,就不可能算出秘密数字--这意味着没有人可以制造假证明,所以不会有硬币凭空产生。(想象一下,如果哈利·波特只需要销毁一个魂器就能永远摆脱伏地魔,他的生活会变得多么轻松......)

因此,要相信我们的设置意味着要去相信在成百上千的参与者中,至少有一个人会破坏掉他们的那份“有害废料”。换句话说,任何一个尝试找到秘密数字的恶意阴谋都需要每个参与者参与其中或者被妥协。但随着越来越多的人参加,这种可能性就会变得越来越小。

最重要的是,你自己可以通过参加仪式和销毁你获取的“有害废料”来确保证明者/验证者密钥的安全。只要你确信你是诚实地参与的,那么你就可以确信这个设置是值得信赖的。


📖 在可信设置仪式中会发生什么?

可信设置仪式过程中会有许多参与者(如果你愿意的话也可以参与)。每个参与者将在他们的电脑上做一些复杂的计算(别担心,我们写了一个脚本,为你做所有的数学运算),这个计算将产生一些“有害废料”。参与者销毁这些“有害废料”(同样,我们的脚本会自动完成),然后报告他们的计算结果。

Manta 会检查参与者的计算是否正确,然后把结果传给下一个参与者。这个过程会一直持续,形成一个由数百名参与者组成的链条,他们各自为证明者/验证者的密钥做出了贡献,然后扔掉了他们的“有害废料”。在仪式结束时,我们将得到最后的证明者/验证者密钥。只要至少有一个参与者销毁了他们的“有害废料”,这些钥匙就可以安全地用于 ZKPs。


📖 这个可信设置仪式需要多长时间?

虽然数学原理很复杂,但计算过程是非常快的。每个参与者须下载不到20Mb的数据,做一些计算,这大概需要1到5分钟(取决于你的机器),然后将20Mb的数据上传到我们的服务器。当我们检查每个参与者的计算是否正确时,会有大约1分钟的停机时间,然后就会转到下一个参与者。每个参与者应该不会超过10分钟。


📖 可信设置仪式后会发生什么?

可信设置的仪式将会产生用于支持 MantaPay 的证明/验证密钥。这些密钥将被公开,我们也将使用其来在 Calamari/Manta 网络上部署 MantaPay 协议及更多的产品。





其它参考资料:

可信设置已经被各种隐私协议所使用来实现去信任化,如 Zcash、Aztec和Aleo。可信设置有着不同的类型,你可以在Vitalik的这篇文章https://vitalik.ca/general/2022/03/14/trustedsetup.html或收听 ZK podcast 了解更多信息。

关于 Manta Network

Manta Network 致力于通过隐私保护构建一个更好的 Web3 世界。Manta 的产品设计从第一性原理出发,通过 zkSNARK 等领先的密码学架构为区块链用户提供端对端的隐私保护。在保障隐私的同时,Manta 兼具互操作性、便捷性、高性能以及可审计性,允许用户进行任意平行链资产间的隐私转账和交易。Manta 的愿景是为整个区块链世界提供更便捷的隐私保护服务。

Manta 的创始团队由多位加密货币资深人士,教授和学者组成,他们的经验包括哈佛大学,麻省理工学院和 Algorand。Manta 的投资机构包括 Polychain、ParaFi、Binance Labs、Multicoin、CoinFund、 Alameda、DeFiance 以及 Hypersphere 等。Manta 也是波卡官方 Web3 基金会资助获得者,Substrate Builder Program 成员,伯克利大学区块链加速器成员。


We're Hiring!
访问查看开放职位:https://jobs.lever.co/MantaNetwork

关注官方频道了解有关 Manta/Calamari 的更多信息:

Website:https://manta.network/
Github:https://github.com/Manta-Network
Twitter:https://twitter.com/MantaNetwork
Medium:https://mantanetwork.medium.co
Telegram:https://t.me/mantanetwork
Discord:https://discord.gg/ZtSuSKRy8X
Telegram中文:https://t.me/mantanetwork_zh
Twitter中文:https://twitter.com/manta_china

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存