当前位置:主页 > 列表页 > 正文

DAOrayaki:太空轨道中的zk-SNARK可信启动

2022-04-04 21:04 | 出处: odaily

原文作者: Eric Zhang

原文标题: zk-SNARK Trust Setup in Space Orbit

在ETHDenver的一周里,我们看到了两个与零知识证明(zk)相关的趋势。

隐私和规模效应是零知识安全系统所具备的两个最重要的特征。在治理系统中,我们重视可信度。正常的二次方资助轮次经常被批评,因为存在各种形式的共谋(例如粗暴的空投或直接贿赂),这损害了整个系统的可信度,最终使系统无法扩展。ETHDenver的MACI 轮次,社区对结果几乎没有争议[4],整个过程显然更可信。

在更大的范围内,由 zk 驱动的基础设施和应用的质押量飙升。区块链和 Layer 2 协议的锁仓价值 TVL 也在不断的积累,在这些基础设施之上的应用程序正在开发,从而形成了一个快速增长的生态系统。

很大比例的 zk 应用是基于zk-SNARK的,它需要预先进行可信启动。一个 zk 应用的规模越大,对可信设置的安全性要求就越高。在这篇文章中,让我们先总结可信设置初始化的安全假设,并探索我们如何使用太空轨道设备作为隔离的执行环境来安全地计算可信设置。太空可信启动解决方案,不仅能够成为目前基于MPC的可信启动过程的替代品,而且还能支持即将到来的太空原生数字经济。发射成本正在迅速降低,这不再是科幻小说。为此,DAOrayaki 社区贡献者编译了DoraHacks发起人 Eric Zhang 撰写的“太空轨道中的zk-SNARK可信任启动”,其中涵盖了可信任设置初始化、太空轨道上的可信设置及太空轨道可信设置的几个客观指标。

01 可信任设置初始化

(译者注:Trust setup ceremony指一个过程,该过程执行一次以生成一条数据,然后每次运行某些加密协议时都必须使用该数据。本文中翻译为初始化)

目前,zk 研究领域正在快速发展。有大量的研究和工程工作正在进行,以建立不需要可信启动,具有透明参数生成的 ZKP(如STARK,Bulletproof)。另一方面,学术界和区块链太空正在进行密集的研究,以创建通用的SNARK方案(如PLONK)。

** 图注: 关于目前零知识证明算法方案的一个有用说明(从安全假设与数据量大小Proof size两个维度划分),来自 "了解PLONK"[5],阅读这篇文章[6]也很有用.

SNARK 的痛点是需要进行可信设置。这比较令人讨厌,因为整个方案的安全性依赖于可信启动。如果可信启动的设置不安全或者它被破坏,SNARK 就会被破坏。然而,考虑到简洁性,zk-SNARK 仍然占据重要地位,因为效率是构建 zk 基础设施和应用时的主导因素。因此,只要 zk-SNARK 继续成为 zk 应用的首要选择,可信启动就很重要。

为了可信启动的安全,我们需要保护用于生成共同参考字符串(CRS)的随机元素,其中包含证明者密钥和验证者密钥。这些随机元素,通常被称为“有毒废物”。有毒废物如何帮助创建假的 zk-SNARK 证明,可以在这篇文章[7]中找到。

可信设置初始化有一个演变,从2016年的第一个版本ZCash初始化到现在常用的Power of Tau初始化。Powers of Tau初始化允许串行参与(serial participation)和验证,因此它可以扩展参与者的数量。DoraHacks 的 MACI 仓库[8] 是基于 MACI 1.0 的,它依赖于 Groth16 和一个 MMORPG 类型的可信设置初始化。该初始化分为两个阶段,第一步是永续 Powers of Tau 初始化,然后使用 SnarkJS 将输出(ptau)和电路转换为一个特定关系的 CRS,例如:

snarkjs groth16 setup circuit.r1cs final.ptau circuit.zkey

可信设置的复杂性通常取决于问题的复杂性和应用所需的安全级别。例如,对于 ETHDenver 的 MACI grant,可信设置是以一种比较简单的方式进行的,只需要一个用于 bn128 的 ptau 文件(有 peraperPhase2 的 54 个 contribution)和一个包括2*22次方的信标(可以用来为多达2*22次方的电路生成 zk-snark 参数)。将输出结果与电路一起,为每个有一个 contribution 的电路创建一个 Groth16 pkey 文件。

这对于一个实验性的轮次来说足够了。然而,如果所涉及的价值很高,我们就需要一个更安全的初始化和来自利益相关者/社区的多个贡献来生成最终的输出。如果问题的规模增加(例如,支持美国大选的投票系统,或分配十亿美元匹配池的 MACI 轮次),那么 ptau 文件的输出就会呈指数级增长。

Power of Tau 初始化的假设是,众多参与者中至少有一个是诚实的,而且他/她的计算硬件是安全的。一般来说,应该在完成初始化后删除随机性。随着参与者数量的增加,最终输出被破坏的概率也变得可以忽略不计。

在实践中,Powers of Tau 初始化有以下限制。初始化通常在某一群体中进行,这有内在的人口统计学限制。另一个限制是,初始化一般比较耗时,需要一群人在相当长的一段时间内进行协调。有一些提案(如乐观流水线 optimistic pipelining)用于提高效率,但限制仍然存在。

02 太空轨道上的可信启动

可信启动的目标是确保生成 CRS 的随机元素是安全的。安全地生成 CRS 有两个基本挑战:(1)我们能否在生成 CRS 后安全地计算和存储或销毁随机元素?以及(2)我们能否防止相关人员和设备有意的共谋?

具体来说,我们要防止以下攻击:

由于向太空发射有效载荷的成本正在不断降低甚至会变得更低,太空隔离可以帮助创建一个可信的执行环境(如SpaceTEE [9])。因此,现在我们考虑一下太空轨道中的可信设置过程,将会发现它不需要 MPC 过程来保证安全。

太空可信设置的目标是创造一个完全隔离的执行环境,以计算 CRS 和储存有毒废物。

太空的执行环境自动避免了第一种攻击(物理黑客),因为(到目前为止)很难在太空轨道上物理访问一个物体。先进的军事技术可能被开发出来,使捕捉和访问卫星的成本降低。然而,正如 SpaceTEE 论文[10]中所概述的,我们可以采取多种措施来监测和防止太空的潜在攻击:

我们肯定还可以设计其他机制来保护安全。一个想法是,我们可以在卫星上植入一个自毁系统。如果卫星被抓,自毁系统就会被触发,彻底摧毁卫星内的数据。

一个更简单的方法是在 CRS 生成和传输后立即摧毁卫星。这是基于这样的假设,即卫星除了创建可信设置外不提供任何其他功能。更通用的方法是持续监测卫星的惯性力矩。一旦发现一个意外的变化,卫星就会自动销毁自己。有几种方法可以搭建自毁的组件,其中一些需少量成本(消失的可编程资源[11],可溶解电子器件[12],膨胀聚合物破碎机,等等)。

如果 CRS 是在太空中产生的,并且卫星保持完好无损(没有自毁),那么卫星可以与地面站或其他卫星进行通信。自毁并不都是可用选项。在某些情况下,自毁可能会危及其他有效载荷,或者我们希望卫星能够提供其他功能,使卫星得到最大的利用。这种情况下,我们需要确保通信安全,并确保随机元素(又称有毒废物)不会从卫星电子设备中传输出去,以及防止恶意软件从卫星硬件中窃取信息和泄漏有毒废物。

为了防止恶意软件获取信息,我们可以将整个可信设置程序加载到硬件可信执行环境中(例如 ARM TrustZone)。可信设置计算可以在可信模块内执行,而有毒废物会无限期地留在可信模块内。我们有预先定义函数表,可以调用这些函数来访问可信模块(ARM TrustZone 的 veneer table),只要这些函数不访问和泄露来自 TrustZone 的有毒废物数据,有毒废物数据就保持安全。然后,从可信设置程序中产生的 CRS 可以通过 veneer table 上可以访问的一些函数进行传输。

这里需要一些远程加密证明,通过建立一个信任链来保证系统启动过程的安全。重要的是要确保系统正确启动,受信任模块中的程序是预定的程序,并且 veneer table 没有意外的函数可以释放数据。

最后剩下的问题是制造和供应链安全。然而,这是所有可信设置方法的一个常见问题,因为如果设备制造商是坏人,我们就是会陷入一个糟糕或被动的局面。保护系统免受单点故障的一个方法是由多个未公开的购买者从多个制造商那里随机购买多个芯片。然后随机选择其中一个设备集成到要发射的卫星上。

如果我们正确地实施上述所有内容。并在太空轨道上物理隔离,一个受信任的执行模块保护可信设置的计算和随机元素,远程证明验证代码的正确性和模块的状态。当我们拥有所有这些功能时,共谋就是不可能的,因为 CRS 是在没有人类参与的情况下创建的,而且数据在物理上是不可访问的。

最后,回顾一下 Powers of Tau 初始化和太空轨道可信设置的几个客观指标:

参考文献:

1.https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413

2.https://hackerlink.io/grant/ethdenver22/

3.https://hackerlink.io/grant/ethdenver22/proof

4.https://twitter.com/ericzhang90/status/1499911341686939649

5.https://vitalik.ca/general/2019/09/22/plonk.html

6.https://hackmd.io/@sin7y/ByYZfpn3Y

7.https://medium.com/qed-it/how-toxic-is-the-waste-in-a-zksnark-trusted-setup-9b250d59bdb4

8.https://github.com/dorahacksglobal/qf-maci

9.https://www.cryptosat.io/

10.https://www.cryptosat.io/paper.pdf

11.https://www.youtube.com/watch?v=zuoFO4W2FdM

12.https://www.youtube.com/watch?v=uAxOHgrPk2E

您可能感兴趣的文章:

相关文章