在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可信任启动”,其中涵盖了可信任设置初始化、太空轨道上的可信设置及太空轨道可信设置的几个客观指标。
Uniswap创始人:FRENS代币部署者AzFlin早已离职:8月13日消息,Uniswap创始人Hayden Adams发推撇清与早期员工AzFlin的关系,称其早已离职。“(我)想让人们知道这个人已经不在公司了。我们并不支持或纵容这种行为。”
此前消息,链上专家UniswapVillain称,Uniswap早期员工AzFlin是Meme代币FrensTech(FRENS)开发者;在部署FRENS代币数小时之后,AzFlin使用多链桥HOP从Base网络中转走14枚WETH(约合25,800美元),甚至卖掉了从流动性中提出的代币。[2023/8/13 16:22:47]
01可信任设置初始化
目前,zk研究领域正在快速发展。有大量的研究和工程工作正在进行,以建立不需要可信启动,具有透明参数生成的ZKP。另一方面,学术界和区块链太空正在进行密集的研究,以创建通用的SNARK方案。
**图注:关于目前零知识证明算法方案的一个有用说明,来自"了解PLONK",阅读这篇文章也很有用.
SNARK的痛点是需要进行可信设置。这比较令人讨厌,因为整个方案的安全性依赖于可信启动。如果可信启动的设置不安全或者它被破坏,SNARK就会被破坏。然而,考虑到简洁性,zk-SNARK仍然占据重要地位,因为效率是构建zk基础设施和应用时的主导因素。因此,只要zk-SNARK继续成为zk应用的首要选择,可信启动就很重要。
知情人士:德意志银行正在研究收购瑞信资产:金色财经报道,据知情人士透露,德意志银行正在密切关注瑞信集团的情况,以寻找可能收购瑞信某些业务的机会。德意志银行内部讨论涉及到,如果瑞信被瑞银集团收购或分拆,瑞信的哪些部分将具有吸引力,以及如果这些资产上市,他们将对这些资产给予多少规模的估值。
知情人士表示,德意志银行目前的讨论是内部的,还没有向瑞信提出任何具体建议。德意志银行拒绝对此消息置评。[2023/3/19 13:12:41]
为了可信启动的安全,我们需要保护用于生成共同参考字符串的随机元素,其中包含证明者密钥和验证者密钥。这些随机元素,通常被称为“有废物”。有废物如何帮助创建假的zk-SNARK证明,可以在这篇文章中找到。
可信设置初始化有一个演变,从2016年的第一个版本ZCash初始化到现在常用的PowerofTau初始化。PowersofTau初始化允许串行参与和验证,因此它可以扩展参与者的数量。DoraHacks的MACI仓库是基于MACI1.0的,它依赖于Groth16和一个MMORPG类型的可信设置初始化。该初始化分为两个阶段,第一步是永续PowersofTau初始化,然后使用SnarkJS将输出和电路转换为一个特定关系的CRS,例如:
snarkjsgroth16setupcircuit.r1csfinal.ptaucircuit.zkey
Revolut确认受到了一次高度针对性的网络攻击:金色财经报道,加密货币投资服务银行Revolut已经证实,它受到了一次高度针对性的网络攻击,黑客可以访问数万名客户的个人详细信息。Revolut 发言人Michael Bodansky表示,未经授权的第三方在短时间内获得了一小部分 (0.16%) 客户的详细信息。Revolut 在 9 月 10 日晚些时候发现了恶意访问,并在第二天早上隔离了攻击。我们立即识别并隔离了这次攻击,以有效限制其影响,并联系了受影响的客户,没有收到电子邮件的客户没有受到影响。[2022/9/20 7:09:03]
可信设置的复杂性通常取决于问题的复杂性和应用所需的安全级别。例如,对于ETHDenver的MACIgrant,可信设置是以一种比较简单的方式进行的,只需要一个用于bn128的ptau文件和一个包括2*22次方的信标。将输出结果与电路一起,为每个有一个contribution的电路创建一个Groth16pkey文件。
这对于一个实验性的轮次来说足够了。然而,如果所涉及的价值很高,我们就需要一个更安全的初始化和来自利益相关者/社区的多个贡献来生成最终的输出。如果问题的规模增加,那么ptau文件的输出就会呈指数级增长。
PowerofTau初始化的假设是,众多参与者中至少有一个是诚实的,而且他/她的计算硬件是安全的。一般来说,应该在完成初始化后删除随机性。随着参与者数量的增加,最终输出被破坏的概率也变得可以忽略不计。
美国CFPB要求强制执行针对Jack Dorsey旗下加密应用Cash的调查要求:金色财经消息,美国消费者金融保护局(CFPB)要求美国联邦法官强制执行两项针对加密应用Cash的调查要求。CFPB指出,这家由前推特创始人Jack Dorsey领导的数字支付公司(Block)尚未提供CFPB在2020年8月和2021年8月索要的调查文件和数据。(彭博社)[2022/8/22 12:39:56]
在实践中,PowersofTau初始化有以下限制。初始化通常在某一群体中进行,这有内在的人口统计学限制。另一个限制是,初始化一般比较耗时,需要一群人在相当长的一段时间内进行协调。有一些提案用于提高效率,但限制仍然存在。
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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。