受信设置仪式Trusted Setup是什么?Zcash曾经的仪式与通用设置如何确保安全

核心概念解读 / 浏览:1

当“信任”成为密码学的一部分

如果你在2023年之后才进入加密货币世界,你大概率听说过“可信设置”或“Trusted Setup”这个词,但你可能并不清楚它到底在做什么,更不明白为什么它会让一群顶尖密码学家紧张到出汗。简单来说,Trusted Setup是零知识证明(ZKP)系统——尤其是zk-SNARK——中一个极其微妙且危险的步骤。它生成一组“公共参数”,这些参数像是一把万能钥匙的碎片,如果被恶意参与者截获或复制,整个系统的隐私保护就会瞬间崩塌——所有交易可以被伪造,所有隐私可以像玻璃一样被击碎。

而这一切,最早被大众所熟知,正是因为Zcash——那个曾经被视为“隐私币之王”的项目,在2016年主网上线前,搞了一场轰动一时的“受信设置仪式”。那场仪式,被人称为“史上最贵的PPT会议”,也被认为是密码学史上最紧张的一次“赌上全部身家”的表演。

什么是受信设置仪式?为什么它如此致命?

要理解受信设置,你需要先理解zk-SNARK(零知识简洁非交互式知识论证)的工作原理。简单说,zk-SNARK允许一方证明自己知道某个秘密(比如一笔交易的金额、账户余额),而不泄露这个秘密本身。但为了实现这一点,系统需要一组“公共参考字符串”(CRS),也就是一组随机数生成的参数。这些参数在生成阶段,会包含一些“有毒废料”(toxic waste)——即那些用于生成参数的随机数本身。

关键问题在于:这些有毒废料如果被生成者保留或泄露,他就可以伪造任意证明,绕过所有规则,凭空创造代币,或者破解所有用户的隐私。

所以,受信设置仪式本质上就是:一群可信的人,在绝对隔离的环境中,各自贡献一段随机数,然后通过多方计算(MPC)的方式,将他们的随机数混合,生成最终的CRS。仪式结束后,所有参与者必须销毁自己手里的随机数——也就是“有毒废料”。只要有一个参与者是诚实的,并且成功销毁了自己的那部分秘密,整个系统就是安全的。

听起来很简单?但实际操作起来,简直是特工电影级别的挑战。

Zcash的“秘室仪式”:六个人,六台电脑,一场与魔鬼的交易

2016年,Zcash团队在筹备主网上线时,举行了历史上第一次大规模受信设置仪式。他们邀请了六位参与者,包括项目创始人Zooko Wilcox、密码学家Andrew Miller、以及来自不同机构的独立研究员。仪式在高度戒备的环境下进行——参与者被隔离在单独的房间里,电脑不联网,操作系统从U盘启动,所有USB接口被封死,甚至要求参与者必须用物理方式销毁电脑上的随机数(比如用大锤砸硬盘)。

这场仪式最戏剧性的时刻,是“销毁环节”。 每位参与者完成自己的贡献后,需要在一台摄像机前,执行“销毁有毒废料”的操作。Zcash团队甚至要求参与者用“不可恢复”的方式删除数据,比如用磁铁消磁,或者用化学腐蚀剂。但最让人印象深刻的,是其中一位参与者——密码学家Peter Van Valkenburgh——在直播中,用一把电钻,直接钻穿了自己的笔记本电脑硬盘。那一刻,所有观众都松了一口气,但也有人质疑:万一他钻孔之前,悄悄复制了一份呢?

这正是受信设置仪式的核心矛盾:你永远无法证明你销毁了秘密,你只能通过仪式感来“表演”销毁。 所以,Zcash的这场仪式,本质上是一场“信任的表演”——它让所有用户相信,只要这六个人里有一个是诚实的,系统就是安全的。

但问题来了:如果这六个人合谋呢?如果他们每个人都偷偷保留了随机数呢?那Zcash的整个隐私模型就形同虚设。事实上,Zcash团队后来承认,他们的受信设置仪式并非绝对安全,但它确实提供了一个“足够好”的信任假设——至少在当时,没有证据表明有人作弊。

为什么通用设置(Universal Setup)是革命性的?

Zcash的受信设置有一个致命弱点:它是“电路专属”的。也就是说,那组公共参数只能用于Zcash的特定交易逻辑(即它的“电路”)。如果你想开发一个新的隐私应用,比如一个隐私DeFi协议,或者一个隐私投票系统,你必须重新举行一次受信设置仪式——每次都要找一群“可信的参与者”,每次都要经历一次“砸硬盘”的表演。

这显然不可持续。所以,密码学界一直在寻找一种“通用”的受信设置——也就是一组参数,可以适用于任何电路,任何应用。这就是所谓的“通用设置”(Universal Setup)或“结构化参考字符串”(Structured Reference String, SRS)。

通用设置的核心突破,在于“可更新性”(Updatable)。 不像Zcash的仪式是一次性的、封闭的,通用设置允许任何人随时加入贡献随机数,而且不需要重新启动整个流程。每次更新,都会增加一层安全性——只要有一次更新是诚实的,整个系统就是安全的。这被称为“贡献的累积性”。

最具代表性的通用设置,是2019年推出的Powers of Tau——一个由多个项目(包括Zcash、Ethereum、Filecoin等)共同参与的大规模MPC仪式。Powers of Tau的目标是生成一组通用的CRS,可以用于任何基于BLS12-381曲线的zk-SNARK方案。这场仪式持续了数月,吸引了全球数百名参与者,包括匿名贡献者、学术机构、矿池、甚至一个来自南极洲的极地站(是的,你没看错,有人真的从南极洲参与了贡献)。

Powers of Tau的巧妙之处在于,它允许“无限期地更新”。 即使仪式正式结束后,未来任何项目都可以基于这组参数,再添加自己的随机数,从而生成自己的专属参数,而无需从头开始。这大大降低了信任成本。

通用设置如何确保安全?从“信任少数人”到“信任所有人”

那么,通用设置到底如何确保安全?关键在于“单点诚实假设”(Single Honest Participant Assumption)。

在Zcash的仪式中,你只需要信任六个人中的任意一个。 但问题是,这六个人都是被精心挑选的,他们可能相互认识,甚至可能被同一个机构控制。而通用设置则完全不同:你不需要信任任何特定的人,你只需要相信“至少有一个参与者是诚实的”。

这个假设有多强?想象一下,如果Powers of Tau有1000名参与者,你只需要其中任何一个人——哪怕是一个匿名网友,一个来自南极洲的极地科学家——在贡献随机数后,真正销毁了秘密,那么整个系统的安全性就得到了保证。因为攻击者必须同时获得所有参与者的随机数,才能破解系统。而只要有一个随机数被销毁,攻击者就永远无法恢复完整的“有毒废料”。

更妙的是,通用设置允许“后验验证”。 所有参与者都可以公开自己的贡献,并附上零知识证明,证明自己确实执行了正确的计算,但又不泄露随机数。这样,任何人都可以验证仪式是否被正确执行,而无需信任任何人的“口头承诺”。

但通用设置并非万能:新的攻击面与挑战

尽管通用设置大大降低了信任要求,但它并非没有风险。首先,“更新”本身可能引入恶意贡献。如果某个攻击者控制了整个更新过程,他可以在参数中植入后门,然后声称自己销毁了秘密。虽然这需要攻击者同时控制所有其他参与者的贡献,但在极端情况下(比如所有其他参与者都是傀儡),攻击者仍然可能成功。

其次,通用设置生成的参数是“静态”的。一旦生成,它们就不能被修改。如果未来密码学发现某种攻击方法,或者某种新的算法能利用这些参数中的弱点,那么所有依赖这些参数的应用都会面临风险。因此,一些项目开始探索“可升级”的零知识证明方案,比如Plonk和Halo 2,它们使用“递归证明”来动态生成参数,从而避免了对固定参数的依赖。

最后,通用设置的安全性依赖于“曲线选择”。Powers of Tau使用的是BLS12-381曲线,这是一种经过广泛研究的友好曲线,但它并不是万能的。如果未来量子计算取得突破,这种曲线的安全性可能会受到威胁。不过,这已经是所有密码学的共同挑战了,并不只是受信设置的问题。

从Zcash到以太坊:受信设置的现实影响

受信设置不仅是一个理论问题,它直接影响了多个主流区块链项目的架构设计。

Zcash 至今仍在使用其2016年生成的受信设置参数。虽然这些参数被认为是安全的,但Zcash团队一直在探索迁移到通用设置的可能性。2021年,Zcash宣布将支持Halo 2——一种无需受信设置的零知识证明方案,这意味着未来的Zcash交易可能不再依赖任何受信设置仪式。

以太坊 则在Layer 2领域大量使用受信设置。著名的Rollup项目,如ZK-Sync和Starknet,分别使用了不同的受信设置方案。ZK-Sync 2.0采用了Plonk的通用设置,而Starknet则使用了自己定制的STARK方案(无需受信设置)。值得注意的是,以太坊基金会曾资助了Powers of Tau仪式,并在以太坊生态中推广通用设置的使用。

Filecoin 也在其存储证明中使用了受信设置。Filecoin的SDR算法需要生成大量的公共参数,而这些参数正是通过Powers of Tau的通用设置生成的。Filecoin团队甚至举办了自己的“社区贡献仪式”,允许全球的矿工和爱好者在线参与,进一步增加了信任基础。

受信设置的“仪式感”:为什么我们仍然需要“表演”?

尽管密码学上,通用设置已经将信任假设降到了极低水平,但“仪式感”依然不可或缺。原因很简单:普通用户并不理解密码学,他们需要看到“有人砸硬盘”、“有人从南极洲贡献随机数”这样的戏剧性事件,才能产生安全感。

这就像银行的金库大门——即使你知道金库有极其复杂的密码锁,你仍然希望看到保安在门口站岗。受信设置仪式上的“表演性销毁”,本质上是一种“社会工程学”手段,它用可见的仪式来强化不可见的密码学假设。

但这也带来了新的风险:仪式感可能被滥用。 如果某个项目方为了营销,故意搞一场夸张的受信设置仪式,但实际上并没有真正销毁随机数,那么用户就会被欺骗。因此,社区需要建立一套“透明度标准”——比如要求所有参与者公开贡献证明,或者引入第三方审计机构对销毁过程进行监督。

受信设置的未来:零信任的零知识证明?

受信设置的存在,本质上是因为zk-SNARK需要一组公共参数来“初始化”信任。但近年来,密码学界已经开发出了“无受信设置”的零知识证明方案,最著名的就是STARK(可扩展透明知识论证)和Bulletproofs。

STARK 不需要任何受信设置,它基于哈希函数和纠错码,安全性只依赖于哈希函数的抗碰撞性。STARK的证明体积较大,但生成和验证速度更快,且不需要任何“仪式”。Starknet和dYdX等项目已经采用了STARK方案。

Bulletproofs 则是一种基于离散对数问题的范围证明方案,它也不需要受信设置,但证明体积较大,适合小规模应用(如隐私交易)。

那么,受信设置会消亡吗?短期内还不会。因为zk-SNARK在证明大小和验证效率上仍然优于STARK,尤其是在移动设备或区块链上,SNARK的紧凑性优势明显。而通用设置的出现,已经将受信设置的安全性提升到了“单点诚实”级别,这在实际中已经足够安全。

但长期来看,随着STARK和递归证明技术的成熟,受信设置可能会逐渐退出历史舞台。 毕竟,任何形式的“信任仪式”都是一种妥协——密码学的终极目标,是让信任变得无关紧要。

一场关于“信任”的社会实验

受信设置仪式,表面上是一个密码学流程,实际上是一场社会实验。它考验的是人类如何在不完美的现实中,构建一个“足够安全”的系统。从Zcash的六人密室,到Powers of Tau的全球协作,再到未来可能的零信任方案,我们看到的不仅是技术的演进,更是对“信任”这一概念的不断解构和重构。

对于普通用户来说,你不需要理解椭圆曲线或多项式承诺,你只需要明白一个道理:在加密货币的世界里,没有绝对的信任,只有经过精心设计的“信任假设”。 而受信设置,就是这些假设中最具戏剧性、也最容易被误解的一环。

下一次当你使用一个隐私DeFi协议,或者看到某个项目宣布“完成受信设置仪式”时,不妨想一想:那背后有多少人曾在隔离的房间里,面对摄像机,亲手砸掉了自己的硬盘?又有多少人,在互联网的另一端,默默贡献了一段无人知晓的随机数,然后永远地闭上了嘴巴?

这就是受信设置——它用密码学保证了数学上的安全,却用仪式感填补了人性上的不安。而最终,我们每个人都在这场实验里,既是参与者,也是见证者。

版权申明:

作者: 虚拟币知识网

链接: https://virtualcurrency.cc/core-concept/trusted-setup-zcash-common-reference-string.htm

来源: 虚拟币知识网

文章版权归作者所有,未经允许请勿转载。

关于我们

 Ethan Carter avatar
Ethan Carter
Welcome to my blog!

最新博客

标签