a16z:详谈去中心化链上可信设置仪式的可行性
原文作者:Valeria Nikolaenko 和 Sam Ragsdale
原文编译:Amber,Foresight News
可信设置仪式(Trusted Setup Ceremony)虽然一直向加密社区发起挑战,但这绝对也是最能让加密社区兴奋的环节。仪式的目标是生成可靠的加密密钥,用于保护加密钱包、区块链协议或零知识证明系统。这些程序是项目安全性的信任之根,因此确保分毫不差的操作和执行可信设置仪式至关重要。
目前区块链项目进行可信设置仪式的形式多种多样,包括但不限于 blowtorches、radioactive dust 以及 airplanes 等,而这几种形式都有一个共同点,也就是他们都依赖于一个中心化的协调器。本文将展示如何通过智能合约替换中心化协调器来让流程实现去中心化,与此同时我们还会开源一个库,允许任何人在以太坊上运行被加密从业者称为 Kate-Zaverucha-Goldberg(KZG)或「powers-of-tau」的仪式。
我们的去中心化方法有局限性,但它仍然有用。由于当前的链上数据限制,加密参数的大小必须保持不超过 64 KB。但是参与者的数量没有上限,任何人在任何时候都能提交贡献。这些短参数的应用包括小型零知识 SNARK、数据可用性采样和 Verkle 树等。
可信设置仪式的历史和机制
在典型的可信设置仪式中,一组参与者将协作生成一组加密参数。每个参与方都使用本地生成的加密信息来生成有助于创建这些参数的数据。适当的设置可以确保加密信息不会泄露,加密信息仅能被按照协议指定使用,并且这些加密信息在仪式结束时会被完全销毁。只要仪式中至少有一方保证诚实并且(在仪式结束后)销毁了加密信息,那么整个流程就可以被视作是安全的。(当然,前提是代码没有错误)
一些最突出的仪式是由 Zcash 推出的,这是一个以隐私为导向的区块链项目。这些仪式的参与者生成了公共参数,旨在允许 Zcash 用户构建和验证私人加密交易。六名参与者在 2016 年举办了第一届 Zcash 仪式 Sprout。两年后,加密研究员 Ariel Gabizon,现在是 Aztec 的首席科学家,在仪式的设计中发现了一个毁灭性的错误,这个错误是从一篇基础研究论文中继承下来的。该漏洞可能使攻击者能够在不被检测到的情况下创建无限的 Zcash 硬币。Zcash 团队将这个漏洞保密了七个月,直到系统升级 Sapling(其仪式涉及 90 名参与者)解决了这个问题。虽然基于安全漏洞的攻击不会影响用户交易的隐私,但无限伪造的前景破坏了 Zcash 的安全前提。(从理论上讲,不可能知道是否发生了攻击。)
可信设置的另一个值得注意的例子是永久的「tau-power-of-tau」仪式,该仪式主要为 Semaphore 设计,Semaphore 是一种用于以太坊上匿名信令的隐私保护技术。该设置使用 BN254 椭圆曲线,到目前为止已有 71 名参与者。其他着名的项目后来使用这种设置在顶部运行自己的仪式,包括 Tornado.Cash、Hermez 网络和 Loopring。 Aztec 在 BLS12_381 椭圆曲线上举行了类似的仪式,有 176 名参与者参加 zkSync,这是一个「第二层」以太坊扩展解决方案,使用零知识汇总。 Filecoin 是一种分散的数据存储协议,分别在第一阶段和第二阶段与 19 名和 33 名参与者一起举行了仪式,分叉了原始存储库。 Celo 是一个 1 层区块链,也为他们的轻量级客户端 Plumo 举办了一个仪式。
永久仪式对参与者人数没有限制。换句话说,任何人都可以参与任何程度的安全,而不是信任其他人来运行受信任的设置仪式。一个值得信赖的参与者确保所有结果参数的安全性;链条与其最强的环节一样强大。顾名思义,永久仪式可以永久举行,就像原始的 tau 权力仪式的前提一样。也就是说,项目通常会决定仪式的具体开始和结束时间,这样他们就可以将生成的参数嵌入到协议中,而不必担心不断更新它们。
以太坊计划为即将到来的 ProtoDankSharding 和 DankSharding 升级运行一个较小的可信设置仪式 。这两次升级将增加以太坊链提供给客户端进行存储的数据量。此数据的有效期为建议的 30 到 60 天。该仪式正在积极开发中,计划于明年初持续运作六周左右的时间。(请参见 kzg-ceremony-specs 了解更多详情)而它正在成为迄今为止最大的区块链可信设置仪式。
偏执是一种「美德」,尤其当涉及到可信的设置仪式时。如果机器的硬件或软件受到损害,则可能会破坏其生成的秘密的安全性。泄露秘密的偷偷摸摸的侧信道攻击也很难排除。例如,手机可以通过记录 CPU 振动的声波来监视计算机的操作。在实践中,由于很难消除所有可能的侧信道攻击 - 包括那些尚未发现或披露的攻击 - 甚至有人提议将机器飞到太空在那里举行仪式。
目前,严谨的仪式参与者的剧本通常如下。购买新机器(未受污染的硬件)。通过移除所有网卡(以防止本地机密泄露)来进行风险隔离。在法拉第笼中远程未公开的位置运行机器(以挫败潜在的窥探者)。为伪随机加密信息生成器设定大量熵和硬复制数据,如随机输入或视频文件的种子(以使加密信息难以被破解)。最后,通过将一切燃烧成灰烬来销毁加密信息 - 以及任何关于加密信息的痕迹。
协调可信设置仪式
所有可信设置仪式都依赖于一个中心化的协调者。协调者是个人或私人服务器或其他实体,他们被委托注册和订购参与者,通过将信息从前一个参与者转发到下一个参与者来充当中继,并保留所有通信的集中日志以用于审计。协调员通常还负责永久向公众提供日志,不过必须要承认的是,这种中心化的系统很容易因为管理不善或者一些非人为因素导致信息丢失。
具有讽刺意味的是,当去中心化是加密精神的核心原则时,加密项目必须依赖于中心化的可信设置仪式。因此,我们决定证明直接在以太坊区块链上为永续的 powers-of-tau 举办一个小型仪式的可行性。该设置是完全去中心化的,无需许可的,抗审查的,并且只要任何一个参与者是诚实的,都是安全的。按照当前价格计算,参加仪式的费用仅为 7 至 400 美元,具体取决于所需结果参数的大小(在这种情况下,介于 8 和 1024 次 tau 之间)。
<