原文作者:?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可信任启动”,其中涵盖了可信任设置初始化、太空轨道上的可信设置及太空轨道可信设置的几个客观指标。
商业航天公司蓝色起源高级副总裁将于2月26日与MoonDAO共同探索太空旅行:2月19日消息,MoonDAO官方消息,亚马逊贝索斯旗下商业航天公司蓝色起源高级副总裁 Michael Edmonds 将于北京时间 2 月 26 日 12:00 与 MoonDAO Discord 互动探讨私人太空旅行和太空梦想等热议话题。此前双方已达成 2022 年多张太空旅行船票正式预订合同。[2022/2/19 10:02:53]
01?可信任设置初始化
目前,zk研究领域正在快速发展。有大量的研究和工程工作正在进行,以建立不需要可信启动,具有透明参数生成的ZKP。另一方面,学术界和区块链太空正在进行密集的研究,以创建通用的SNARK方案。
**图注:关于目前零知识证明算法方案的一个有用说明,来自"了解PLONK",阅读这篇文章也很有用.
SNARK的痛点是需要进行可信设置。这比较令人讨厌,因为整个方案的安全性依赖于可信启动。如果可信启动的设置不安全或者它被破坏,SNARK就会被破坏。然而,考虑到简洁性,zk-SNARK仍然占据重要地位,因为效率是构建zk基础设施和应用时的主导因素。因此,只要zk-SNARK继续成为zk应用的首要选择,可信启动就很重要。
为了可信启动的安全,我们需要保护用于生成共同参考字符串的随机元素,其中包含证明者密钥和验证者密钥。这些随机元素,通常被称为“有废物”。有废物如何帮助创建假的zk-SNARK证明,可以在这篇文章中找到。
Hackathon DAO发布Hackathon Playbook:据官方消息,去中心化Hackathon组织者和开发者社区Hackathon DAO通过DoraHacks GitHub账号发布Hackathon Playbook(开源黑客马拉松指南)。Hackathon Playbook是为全世界开源开发者提供的一个开放的黑客马拉松组织手册,其中包含Hacker城市指南、投票规则、即将开始的Hackathon、Hacking话题、黑卡马拉松工具集、组织细节等内容,将Hackathon组织方法开源,让全世界的Hackathon组织者共享知识和信息。Hackathon Playbook本身是一个可贡献、不断更新的开放指南,开发者和Hackathon组织者可以向Hackathon Playbook的GitHub仓库提交pull request的方式为Playbook添加知识和信息。[2021/11/18 22:01:36]
可信设置初始化有一个演变,从2016年的第一个版本ZCash初始化到现在常用的PowerofTau初始化。PowersofTau初始化允许串行参与和验证,因此它可以扩展参与者的数量。DoraHacks的MACI仓库是基于MACI1.0的,它依赖于Groth16和一个MMORPG类型的可信设置初始化。该初始化分为两个阶段,第一步是永续PowersofTau初始化,然后使用SnarkJS将输出和电路转换为一个特定关系的CRS,例如:
Stake DAO集成Polygon,并推出被动aUSD流动性挖矿策略:4月30日,由Staking服务提供商Stake Capital启动的DeFi平台StakeDAO宣布集成二层扩容方案Polygon(原Matic Network),并在Polygon上推出被动aUSD流动性挖矿策略。该策略允许将aUSD(aDAI、aUSDC、aUSDT)投资到Curve流动性池(Aave),来赚取交易费用、CRV代币奖励以及Polygon上的WMATIC奖励。该策略的绩效费用为15%,提现费用为0.5%。[2021/4/30 21:13:04]
snarkjsgroth16setupcircuit.r1csfinal.ptaucircuit.zkey
可信设置的复杂性通常取决于问题的复杂性和应用所需的安全级别。例如,对于ETHDenver的MACIgrant,可信设置是以一种比较简单的方式进行的,只需要一个用于bn128的ptau文件和一个包括2*22次方的信标。将输出结果与电路一起,为每个有一个contribution的电路创建一个Groth16pkey文件。
这对于一个实验性的轮次来说足够了。然而,如果所涉及的价值很高,我们就需要一个更安全的初始化和来自利益相关者/社区的多个贡献来生成最终的输出。如果问题的规模增加,那么ptau文件的输出就会呈指数级增长。
骇客联盟将代码开源,实现DeFi+DAO应用生态:据官方消息,骇客联盟近日已将代码开源,完全去中心,支持虚拟机EVM、WASM技术、多链跨链技术和多元化生态挖矿机制。社区用户和项目机构可以通过主网查看使用源代码,参与超级节点多元化挖矿,实现链与链之间数据流通和价值交换,全球区块链开发者可以随时跟踪开发进度。
据悉,骇客联盟是由传统金融机构从业者与区块链行业顶级加密技术人员发起,通过去中心化自治式组织(DAO)创立的一个专注于数字资产投资理财的生态联盟。骇客联盟为用户提供包括实体资产上链、数字托管、资产借贷、金融性投资、担保挖矿、数字资产保险业务以及链上交易等一站式服务,打造新型DeFi+DAO去中心化金融应用生态。[2021/1/30 18:28:26]
PowerofTau初始化的假设是,众多参与者中至少有一个是诚实的,而且他/她的计算硬件是安全的。一般来说,应该在完成初始化后删除随机性。随着参与者数量的增加,最终输出被破坏的概率也变得可以忽略不计。
在实践中,PowersofTau初始化有以下限制。初始化通常在某一群体中进行,这有内在的人口统计学限制。另一个限制是,初始化一般比较耗时,需要一群人在相当长的一段时间内进行协调。有一些提案用于提高效率,但限制仍然存在。
02?太空轨道上的可信启动
公告 | MakerDAO发起新的行政投票 欲将稳定费率下调至8.5%:MakerDAO官方发布消息称,Maker基金会临时风险团队已将一项新的行政投票提案纳入投票系统,该投票内容为将DAI稳定费率自10.5%下调至8.5%。[2019/10/5]
可信启动的目标是确保生成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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。