原文作者:?EricZhang
原文标题:?zk-SNARKTrustSetupinSpaceOrbit
在ETHDenver的一周里,我们看到了两个与零知识证明相关的趋势。
开发者社区对zk应用的兴趣浓厚。Hacker们正在将注意力从zk作为Layer2基础设施转移到具体的zk应用上,如位置证明、所有权证明、教育游戏等。
DoraHacks团队在ETHDenver社区内首次成功地进行了抗共谋的二次方投票资助轮次。MACI轮次很有意思,根据SPORK社区的投票,有效地将匹配池资金分配给了30个决赛选手。所有的投票都是加密的,其结果由零知识证明来验证。
隐私和规模效应是零知识安全系统所具备的两个最重要的特征。在治理系统中,我们重视可信度。正常的二次方资助轮次经常被批评,因为存在各种形式的共谋,这损害了整个系统的可信度,最终使系统无法扩展。ETHDenver的MACI轮次,社区对结果几乎没有争议,整个过程显然更可信。
在更大的范围内,由zk驱动的基础设施和应用的质押量飙升。区块链和Layer2协议的锁仓价值TVL也在不断的积累,在这些基础设施之上的应用程序正在开发,从而形成了一个快速增长的生态系统。
很大比例的zk应用是基于zk-SNARK的,它需要预先进行可信启动。一个zk应用的规模越大,对可信设置的安全性要求就越高。在这篇文章中,让我们先总结可信设置初始化的安全假设,并探索我们如何使用太空轨道设备作为隔离的执行环境来安全地计算可信设置。太空可信启动解决方案,不仅能够成为目前基于MPC的可信启动过程的替代品,而且还能支持即将到来的太空原生数字经济。发射成本正在迅速降低,这不再是科幻小说。为此,DAOrayaki社区贡献者编译了DoraHacks发起人EricZhang撰写的“太空轨道中的zk-SNARK可信任启动”,其中涵盖了可信任设置初始化、太空轨道上的可信设置及太空轨道可信设置的几个客观指标。
MakerDAO已推出将DAI储蓄率提高至8%、提高Spark Protocol债务上限等的执行提案:8月4日消息,MakerDAO 治理门户已推出新的执行提案,关于增强 DSA 激活、Spark Protocol 债务上限提高、RWA 金库更新、2023 年第二季度 AVC 会员补偿、Monetails Clydesdale 的 DAO 决议、启动项目资金、Spark Proxy Spell 执行。该提案将于 9 月 3 日 03:35 截止。
如果该执行提案通过,DAI 储蓄率将从 3.19% 提高至 8%;Spark Protocol 直接存款模块最大债务上限将从 2000 万枚 DAI 增加至 2 亿枚 DAI;RWA004-A 债务上限将从 700 万枚 DAI 降至 0 DAI、RWA002-A 协议将更新;134.1 枚 MKR 将分配给 AVC 会员;MakerDAO 将批准 IPFS 哈希值为 QmaGTVioBsCPfNoz9rbW7LU6YuzfgqHDZd92Hny5ACfL3p 的 DAO 决议;将 200 万枚 DAI 转移到 0x3C5142F28567E6a0F172fd0BaaF1f2847f49D02F,用于 Endgame 启动项目的一部分;Spark Protocol 将更新 DAI 利率策略,并将 DAI 市场贷款价值比(LTV)从 74% 降至 0.01%,DAI 清算门槛从 76% 降至 0.01%,WETH 市场准备金率将从 15% 降至 5%,WETH 的 variableRateSlope1 将从 3.8% 降至 3%。[2023/8/4 16:17:54]
01?可信任设置初始化
dYdX计划于2023年二季度发布V4主网,实现基于DAO的完全去中心化治理:11月3日消息,dYdX基金会发布了关于dYdXDAO潜在发展路线的文章,文中指出,dYdX计划于2023年二季度发布V4主网,实现基于DAO的完全去中心化治理,届时dYdXDAO可能会由几个子DAO组成,每个子DAO都在dYdX协议的特定功能领域工作,并最终对dYdX社区负责。
文中提到,在dYdX社区的指导下形成的第一个也是唯一一个子DAO是dYdX赠款计划(DGP),但未来dYdX社区可能需要建立额外的子DAO以专注于财务管理、风险管理、社区或其他领域。[2022/11/3 12:14:31]
目前,zk研究领域正在快速发展。有大量的研究和工程工作正在进行,以建立不需要可信启动,具有透明参数生成的ZKP。另一方面,学术界和区块链太空正在进行密集的研究,以创建通用的SNARK方案。
**图注:关于目前零知识证明算法方案的一个有用说明,来自"了解PLONK",阅读这篇文章也很有用.
SNARK的痛点是需要进行可信设置。这比较令人讨厌,因为整个方案的安全性依赖于可信启动。如果可信启动的设置不安全或者它被破坏,SNARK就会被破坏。然而,考虑到简洁性,zk-SNARK仍然占据重要地位,因为效率是构建zk基础设施和应用时的主导因素。因此,只要zk-SNARK继续成为zk应用的首要选择,可信启动就很重要。
MakerDAO:已在Arbitrum Nova和以太坊间启动Canonical DAI:8月17日消息,MakerDAO宣布已在Arbitrum Nova和以太坊之间启动其跨链解决方案Canonical DAI,由于桥的无许可性质,该桥在Arbitrum Nova的部署已由协议工程核心组执行,无需执行投票。此次部署将确保Arbitrum Nova的用户从一开始就使用Canonical DAI,从而消除任何代币迁移的需要。Canonical DAI是MakerDAO创建的一种解决方案,是将DAI转移到链下的方法,本质上,Canonical DAI允许MakerDAO支持包装的DAI版本。[2022/8/17 12:30:47]
为了可信启动的安全,我们需要保护用于生成共同参考字符串的随机元素,其中包含证明者密钥和验证者密钥。这些随机元素,通常被称为“有废物”。有废物如何帮助创建假的zk-SNARK证明,可以在这篇文章中找到。
可信设置初始化有一个演变,从2016年的第一个版本ZCash初始化到现在常用的PowerofTau初始化。PowersofTau初始化允许串行参与和验证,因此它可以扩展参与者的数量。DoraHacks的MACI仓库是基于MACI1.0的,它依赖于Groth16和一个MMORPG类型的可信设置初始化。该初始化分为两个阶段,第一步是永续PowersofTau初始化,然后使用SnarkJS将输出和电路转换为一个特定关系的CRS,例如:
MakerDAO将于8月2日上线委托功能:官方消息,MakerDAO将于8月2日上线委托功能,用户可将MKR代币委托给\"your delegate\"以进行治理投票。[2021/7/27 1:17:28]
snarkjsgroth16setupcircuit.r1csfinal.ptaucircuit.zkey
可信设置的复杂性通常取决于问题的复杂性和应用所需的安全级别。例如,对于ETHDenver的MACIgrant,可信设置是以一种比较简单的方式进行的,只需要一个用于bn128的ptau文件和一个包括2*22次方的信标。将输出结果与电路一起,为每个有一个contribution的电路创建一个Groth16pkey文件。
这对于一个实验性的轮次来说足够了。然而,如果所涉及的价值很高,我们就需要一个更安全的初始化和来自利益相关者/社区的多个贡献来生成最终的输出。如果问题的规模增加,那么ptau文件的输出就会呈指数级增长。
PowerofTau初始化的假设是,众多参与者中至少有一个是诚实的,而且他/她的计算硬件是安全的。一般来说,应该在完成初始化后删除随机性。随着参与者数量的增加,最终输出被破坏的概率也变得可以忽略不计。
在实践中,PowersofTau初始化有以下限制。初始化通常在某一群体中进行,这有内在的人口统计学限制。另一个限制是,初始化一般比较耗时,需要一群人在相当长的一段时间内进行协调。有一些提案用于提高效率,但限制仍然存在。
KyberDAO目前拥有6000万KNC 价值约1.14亿美元:2月10日,去中心化流动性协议Kyber Network官方发布项目1月月报。内容显示,KyberDAO目前拥有6000万KNC,价值约1.14亿美元。
注:2020年12月KyberDAO进行网络费用分配比例投票,决定将6.22%用于销毁代币(ETH奖励转换为KNC销毁),67.32%用于投票奖励(以ETH进行奖励),26.48%返还给FPR流动性提供者(ETH奖励)。[2021/2/10 19:28:00]
02?太空轨道上的可信启动
可信启动的目标是确保生成CRS的随机元素是安全的。安全地生成CRS有两个基本挑战:我们能否在生成CRS后安全地计算和存储或销毁随机元素?以及我们能否防止相关人员和设备有意的共谋?
具体来说,我们要防止以下攻击:
物理黑客。服务器和计算机可以被物理黑客攻击或入侵。这在现实世界中其实是经常发生的,也是在地面上很难解决的一个问题。
网络入侵。通信被意外的入侵者监控。
故意勾结或泄露秘密信息。产生CRS的一方由于贿赂、共谋或任何其他原因,故意引导信息。
为了应对这些挑战,我们可以确保计算的硬件和软件安全,设计机制或MPC算法来减少单点故障以及隔离计算环境。
由于向太空发射有效载荷的成本正在不断降低甚至会变得更低,太空隔离可以帮助创建一个可信的执行环境。因此,现在我们考虑一下太空轨道中的可信设置过程,将会发现它不需要MPC过程来保证安全。
太空可信设置的目标是创造一个完全隔离的执行环境,以计算CRS和储存有废物。
太空的执行环境自动避免了第一种攻击,因为很难在太空轨道上物理访问一个物体。先进的军事技术可能被开发出来,使捕捉和访问卫星的成本降低。然而,正如SpaceTEE论文中所概述的,我们可以采取多种措施来监测和防止太空的潜在攻击:
北美航空航天防御司令部有一个雷达系统,持续监测和预测太空物体的轨迹。
有各种方法来增加发射前的物理保护。一旦卫星被物理访问,一些内部状态将发生变化,并能够被监测。
我们肯定还可以设计其他机制来保护安全。一个想法是,我们可以在卫星上植入一个自毁系统。如果卫星被抓,自毁系统就会被触发,彻底摧毁卫星内的数据。
一个更简单的方法是在CRS生成和传输后立即摧毁卫星。这是基于这样的假设,即卫星除了创建可信设置外不提供任何其他功能。更通用的方法是持续监测卫星的惯性力矩。一旦发现一个意外的变化,卫星就会自动销毁自己。有几种方法可以搭建自毁的组件,其中一些需少量成本。
如果CRS是在太空中产生的,并且卫星保持完好无损,那么卫星可以与地面站或其他卫星进行通信。自毁并不都是可用选项。在某些情况下,自毁可能会危及其他有效载荷,或者我们希望卫星能够提供其他功能,使卫星得到最大的利用。这种情况下,我们需要确保通信安全,并确保随机元素不会从卫星电子设备中传输出去,以及防止恶意软件从卫星硬件中窃取信息和泄漏有废物。
为了防止恶意软件获取信息,我们可以将整个可信设置程序加载到硬件可信执行环境中。可信设置计算可以在可信模块内执行,而有废物会无限期地留在可信模块内。我们有预先定义函数表,可以调用这些函数来访问可信模块,只要这些函数不访问和泄露来自TrustZone的有废物数据,有废物数据就保持安全。然后,从可信设置程序中产生的CRS可以通过veneertable上可以访问的一些函数进行传输。
这里需要一些远程加密证明,通过建立一个信任链来保证系统启动过程的安全。重要的是要确保系统正确启动,受信任模块中的程序是预定的程序,并且veneertable没有意外的函数可以释放数据。
最后剩下的问题是制造和供应链安全。然而,这是所有可信设置方法的一个常见问题,因为如果设备制造商是坏人,我们就是会陷入一个糟糕或被动的局面。保护系统免受单点故障的一个方法是由多个未公开的购买者从多个制造商那里随机购买多个芯片。然后随机选择其中一个设备集成到要发射的卫星上。
如果我们正确地实施上述所有内容。并在太空轨道上物理隔离,一个受信任的执行模块保护可信设置的计算和随机元素,远程证明验证代码的正确性和模块的状态。当我们拥有所有这些功能时,共谋就是不可能的,因为CRS是在没有人类参与的情况下创建的,而且数据在物理上是不可访问的。
最后,回顾一下PowersofTau初始化和太空轨道可信设置的几个客观指标:
参考文献:
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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。