原文作者:ValeriaNikolaenko和SamRagsdale
原文编译:Amber,ForesightNews
可信设置仪式虽然一直向加密社区发起挑战,但这绝对也是最能让加密社区兴奋的环节。仪式的目标是生成可靠的加密密钥,用于保护加密钱包、区块链协议或零知识证明系统。这些程序是项目安全性的信任之根,因此确保分毫不差的操作和执行可信设置仪式至关重要。
目前区块链项目进行可信设置仪式的形式多种多样,包括但不限于blowtorches、radioactivedust以及airplanes等,而这几种形式都有一个共同点,也就是他们都依赖于一个中心化的协调器。本文将展示如何通过智能合约替换中心化协调器来让流程实现去中心化,与此同时我们还会开源一个库,允许任何人在以太坊上运行被加密从业者称为Kate-Zaverucha-Goldberg或「powers-of-tau」的仪式。
我们的去中心化方法有局限性,但它仍然有用。由于当前的链上数据限制,加密参数的大小必须保持不超过64KB。但是参与者的数量没有上限,任何人在任何时候都能提交贡献。这些短参数的应用包括小型零知识SNARK、数据可用性采样和Verkle树等。
可信设置仪式的历史和机制
在典型的可信设置仪式中,一组参与者将协作生成一组加密参数。每个参与方都使用本地生成的加密信息来生成有助于创建这些参数的数据。适当的设置可以确保加密信息不会泄露,加密信息仅能被按照协议指定使用,并且这些加密信息在仪式结束时会被完全销毁。只要仪式中至少有一方保证诚实并且销毁了加密信息,那么整个流程就可以被视作是安全的。
一些最突出的仪式是由Zcash推出的,这是一个以隐私为导向的区块链项目。这些仪式的参与者生成了公共参数,旨在允许Zcash用户构建和验证私人加密交易。六名参与者在2016年举办了第一届Zcash仪式Sprout。两年后,加密研究员ArielGabizon,现在是Aztec的首席科学家,在仪式的设计中发现了一个毁灭性的错误,这个错误是从一篇基础研究论文中继承下来的。该漏洞可能使攻击者能够在不被检测到的情况下创建无限的Zcash硬币。Zcash团队将这个漏洞保密了七个月,直到系统升级Sapling解决了这个问题。虽然基于安全漏洞的攻击不会影响用户交易的隐私,但无限伪造的前景破坏了Zcash的安全前提。(从理论上讲,不可能知道是否发生了攻击。)
Bankless Ventures已获得75%承诺投资 LP包括a16z创始人等:4月29日消息,4月28日Bankless联合创始人David Hoffman发布推特文章,披露了 规模为3500万美元的Bankless Ventures已获得75%的承诺投资,LP包括a16z创始合伙人Marc Andreessen,a16z Crypto 创始人 Chris Dixon,以太坊基金会研究员 Dankrad Feist,Polygon联合创始人Sandeep Nailwal,NGC 等, 其目标是在5月底前结束融资。
此前消息,3月初,Bankless 播客主理人 David Hoffman 和 Ryan Sean Adams 计划为其风投基金 Bankless Ventures 募集3500万美元,以用于投资种子轮阶段的Web3公司。[2023/4/29 14:34:31]
可信设置的另一个值得注意的例子是永久的「tau-power-of-tau」仪式,该仪式主要为Semaphore设计,Semaphore是一种用于以太坊上匿名信令的隐私保护技术。该设置使用BN254椭圆曲线,到目前为止已有71名参与者。其他着名的项目后来使用这种设置在顶部运行自己的仪式,包括Tornado.Cash、Hermez网络和Loopring。Aztec在BLS12_381椭圆曲线上举行了类似的仪式,有176名参与者参加zkSync,这是一个「第二层」以太坊扩展解决方案,使用零知识汇总。Filecoin是一种分散的数据存储协议,分别在第一阶段和第二阶段与19名和33名参与者一起举行了仪式,分叉了原始存储库。Celo是一个1层区块链,也为他们的轻量级客户端Plumo举办了一个仪式。
永久仪式对参与者人数没有限制。换句话说,任何人都可以参与任何程度的安全,而不是信任其他人来运行受信任的设置仪式。一个值得信赖的参与者确保所有结果参数的安全性;链条与其最强的环节一样强大。顾名思义,永久仪式可以永久举行,就像原始的tau权力仪式的前提一样。也就是说,项目通常会决定仪式的具体开始和结束时间,这样他们就可以将生成的参数嵌入到协议中,而不必担心不断更新它们。
Web3身份验证公司Dynamic完成a16z领投的750万美元种子轮融资:6月29日消息,Web3身份验证初创公司Dynamic完成750万美元种子轮融资,a16z领投,Castle Island Ventures、Solana Ventures、Circle Ventures、Breyer Capital、Hypersphere、Chapter One等参投。新融资将用于扩充团队以及启动其平台。
据介绍,Dynamic于去年12月成立,并于今年4月完成种子轮融资,目前的员工人数为8人。Dynamic致力于为不同类型的公司提供身份验证服务,其客户包括Llama、Popartcats、Handstamp和Lunchclub。此外,Dynamic平台封闭测试版已开放,预计将于今年晚些时候全面推出。(The Block)[2022/6/29 1:37:46]
以太坊计划为即将到来的ProtoDankSharding和DankSharding升级运行一个较小的可信设置仪式。这两次升级将增加以太坊链提供给客户端进行存储的数据量。此数据的有效期为建议的30到60天。该仪式正在积极开发中,计划于明年初持续运作六周左右的时间。而它正在成为迄今为止最大的区块链可信设置仪式。
偏执是一种「美德」,尤其当涉及到可信的设置仪式时。如果机器的硬件或软件受到损害,则可能会破坏其生成的秘密的安全性。泄露秘密的偷偷摸摸的侧信道攻击也很难排除。例如,手机可以通过记录CPU振动的声波来监视计算机的操作。在实践中,由于很难消除所有可能的侧信道攻击-包括那些尚未发现或披露的攻击-甚至有人提议将机器飞到太空在那里举行仪式。
目前,严谨的仪式参与者的剧本通常如下。购买新机器。通过移除所有网卡来进行风险隔离。在法拉第笼中远程未公开的位置运行机器。为伪随机加密信息生成器设定大量熵和硬复制数据,如随机输入或视频文件的种子。最后,通过将一切燃烧成灰烬来销毁加密信息-以及任何关于加密信息的痕迹。
a16团队成员等提出新的MakerDAO代币经济模型提案:金色财经报道,据MakerDAO论坛公告,a16z团队成员与RIpplewoodAdvisors成员/img/20230515172225411522/0.jpg "/>
到目前为止,我们建议不要将代码用于实验目的以外的任何目的。如果发现代码有任何问题的人向我们报告,我们将不胜感激。我们很乐意收集有关我们方法的反馈和审核。
a16z合伙人:不能因Web 3和加密新兴技术存在缺陷就彻底限制:11月24日消息,a16z合伙人Chris Dixon在推特上发文表示,不能因为当前新兴技术存在缺陷就反对新兴技术发展,任何重要技术运动都需要经历很多年时间过程,善意的批评可以改善技术,需要将“暂时出现的缺点”和“彻底限制”区分开,尤其是Web 3和加密,现在的确存在交易费用过高、能源消耗过大的问题,这是该新兴技术的暂时缺陷,但出于不同发展阶段,我们可以思考更多解决方案,但不能把“暂时缺陷”视为彻底否认新兴技术的理由。[2021/11/24 7:08:49]
了解KZG或「powers-of-tau」仪式
让我们来探索一下最受欢迎的可信设置之一,它被称为KZG,或「powers-of-tau」仪式。感谢以太坊联合创始人VitalikButerin,他关于可信设置的博客文章为我们在本节中的想法提供了信息。该设置生成powers-of-tau的编码,之所以这样命名,是因为「tau」恰好是用于表示参与者生成的秘密的变量:
对于某些应用,设置的第一阶段之后是第二阶段,即多方计算仪式,为特定的SNARK电路生成参数。但是,我们的工作仅集中在第一阶段。第一阶段-生成tau的幂-已经可以用作通用SNARK以及其他加密应用程序的基础构建块。。通常,通用SNARK参数应该非常大,以便它们可以支持大而有用的电路。包含更多门的电路通常更有用,因为它们可以捕获大型计算;tau的幂数大致对应于电路中的栅极数。因此,典型的设置大小为|pp|=~40GB,能够支持~2的电路28Gas。鉴于以太坊目前的约束,将如此大的参数放在链上是不可行的,但是对于小型SNARK电路,Verkle树或DAS有用的较小的可信设置仪式可以在链上运行。
Alchemy以35亿美元估值完成2.5亿美元融资 A16z领投:10月28日消息,加密基础设施服务商Alchemy以35亿美元估值完成2.5亿美元融资,本轮融资由a16z领投,其他具体融资信息暂未透露。Alchemy是一个加密基础设施服务商,可为NFT、DeFi等项目提供加密基础设施支持。此前曾于4月28日宣布以5.05亿美元估值完成8000万美元B轮融资,该轮融资由PanteraCapital、Coinbase等参投。(CoinDesk)[2021/10/28 6:18:04]
以太坊基金会计划为大小为200KB至1.5MB的powers-of-tau运行几个较小的仪式。虽然更大的仪式可能看起来更好,但考虑到更大的参数可以创建更有用的SNARK电路,实际上,更大的并不总是更好。某些应用程序特别需要一个较小的应用程序![原因非常技术性,但如果你很好奇,那是因为具有n次幂的设置1)仅允许KZG对≤n次多项式的承诺,这对于确保KZG承诺下的多项式可以从任何n次评估中重建至关重要。此属性支持数据可用性采样:每次成功获得多项式的随机评估时,它保证多项式可以用概率t/n完全重构。如果你想了解更多关于DAS的信息,请查看Buterin在以太坊研究论坛上的这篇文章。
我们设计了一个智能合约,可以部署在以太坊区块链上,以运行可信设置仪式。该合约将公共参数完全存储在链上,并通过用户的交易收集参与。
新参与者首先读取这些参数:
然后对随机密钥τ'进行采样并计算更新的参数:
并将它们发布在链上,并附上证明三件事:
离散对数的知识:参与者知道τ'。(证明对可信设置仪式的最新贡献建立在所有先前参与者的工作之上。
pp的格式良好1:这些元素确实编码增量幂。(验证了新参与者对仪式的贡献的良好形式。
更新未擦除:τ'≠0。(针对试图通过删除所有参与者过去的工作来破坏系统的攻击者的防御。
智能合约验证证明,如果它是正确的,它会更新它存储的公共参数。您可以在存储库中找到有关数学及其背后推理的更多详细信息。
计算Gas成本
在链上运行设置的主要挑战是使受信任的设置仪式尽可能高效。理想情况下,提交捐款的费用不超过50美元。。下面,我们提供有关设置中最昂贵部分的更多详细信息。较低的Gas成本将降低贡献成本,并允许构建更长的参数!
我们的设置适用于椭圆曲线BN254,它支持以太坊上的以下预编译合约:
ECADD允许添加两个椭圆曲线点,即计算1来自1和1:汽油费150
ECMULT允许椭圆曲线点乘以标量,即计算1从a和1:汽油费6,000
ECPAIR允许检查椭圆曲线对的乘积,即计算e*...*e=1,相当于检查α1*β1+...+αk*βk=0:Gas成本34,000*k+45,000
如果以太坊能够启用BLS12_381,我们的设置合同也可以很容易地用于其他曲线。
让我们估计将设置更新为
验证证明的Gas成本。如上所述,每个参与者都会更新设置并提交包含三个组件的证明。证明的组件1和3-「离散日志知识」和「更新是非擦除的」-验证起来非常便宜。挑战在于验证组件2,「pp的良好成形性」1「,在链上。它需要一个大的多标量乘法和两个配对:
其中ρ0,...,?n-1是伪随机采样标量。就预编译的智能合约而言,需要:
存储数据的Gas成本。每个参与者还将链上更新存储为调用数据,占n*64*68gas。(对于那些熟悉椭圆曲线密码学的人来说,需要注意一点:根据我们对n=256的测量,存储压缩点将使解压缩主导总体成本。
以此估算出的Gas成本如下:
当然我们也还在探索降低Gas成本的解决方案。
开源库:evm-powers-of-tau
我们已经在github.com/a16z/evm-powers-of-tau开源了基于EVM的powers-of-tau仪式。使用我们的策略进行仪式既简单又透明:
部署存储和验证协定
参与者从以前的事务调用数据中读取仪式参数
参与者在本地生成一个密钥,计算更新的参数
贡献者生成他们的证明:pi1,pi2
贡献者通过KZG.potUpdate将更新的参数提交给公共区块链上部署的智能合约
智能合约将验证更新的有效性,在提交格式错误的情况下恢复
多个贡献者可以永久执行步骤2-5,每个步骤都可以提高仪式的安全性
每当开发人员对提交的数量和质量有信心时,他们就可以在区块链中查询当前参数,并将这些值用作加密密钥。
我们的存储库使用arkworks-rs来计算步骤2和3,但用户可能想要编写自己的。更新提交的整个端到端流程可以在tests/integration_test.rs的集成测试中找到。
请注意,我们选择使用calldata在链上存储更新的powers-of-tau参数,因为它比存储便宜几个数量级。可以在src/query.rs中找到此数据的基于ethers-rs的查询。
最后,证明和详细的方程式可以在techreport/main.pdf的技术报告中找到。
未来工作计划
在将这种可信设置仪式用于生产环境之前,我们建议首先对数学证明和示例实现进行全面审核。
随着实施,更新仪式的交易成本随着设置大小而线性增长。对于大多数应用程序,我们希望设置n>=256,目前每次更新的费用为73美元。
我们也许能够通过有效更新计算的STARK证明和对更新值的向量承诺来实现亚线性验证成本增长。这种结构还将消除对以太坊L1BN254预编译的依赖性,从而可以使用更流行的BLS12-381曲线。
所有的仪式策略都是经过反复权衡和测试的。我们认为这种结构是可靠的,并且具有很好的可验证和抗审查性。但同样,在完成更多工作来验证我们方法的合理性之前,直接使用文中提到的这一方案仍然需要高度谨慎。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。