a16z:技术详解加密项目去中心化链上可信设置仪式_TAU:以太坊

作者:ValeriaNikolaenko,SamRagsdale,a16z

编译:Amber,ForesightNews

可信设置仪式虽然一直向加密社区发起挑战,但这绝对也是最能让加密社区兴奋的环节。仪式的目标是生成可靠的加密密钥,用于保护加密钱包、区块链协议或零知识证明系统。这些程序是项目安全性的信任之根,因此确保分毫不差的操作和执行可信设置仪式至关重要。

目前区块链项目进行可信设置仪式的形式多种多样,包括但不限于blowtorches、radioactivedust以及airplanes等,而这几种形式都有一个共同点,也就是他们都依赖于一个中心化的协调器。本文将展示如何通过智能合约替换中心化协调器来让流程实现去中心化,与此同时我们还会开源一个库,允许任何人在以太坊上运行被加密从业者称为Kate-Zaverucha-Goldberg或「powers-of-tau」的仪式。

我们的去中心化方法有局限性,但它仍然有用。由于当前的链上数据限制,加密参数的大小必须保持不超过64KB。但是参与者的数量没有上限,任何人在任何时候都能提交贡献。这些短参数的应用包括小型零知识SNARK、数据可用性采样和Verkle树等。

可信设置仪式的历史和机制

在典型的可信设置仪式中,一组参与者将协作生成一组加密参数。每个参与方都使用本地生成的加密信息来生成有助于创建这些参数的数据。适当的设置可以确保加密信息不会泄露,加密信息仅能被按照协议指定使用,并且这些加密信息在仪式结束时会被完全销毁。只要仪式中至少有一方保证诚实并且销毁了加密信息,那么整个流程就可以被视作是安全的。

一些最突出的仪式是由Zcash推出的,这是一个以隐私为导向的区块链项目。这些仪式的参与者生成了公共参数,旨在允许Zcash用户构建和验证私人加密交易。六名参与者在2016年举办了第一届Zcash仪式Sprout。两年后,加密研究员ArielGabizon,现在是Aztec的首席科学家,在仪式的设计中发现了一个毁灭性的错误,这个错误是从一篇基础研究论文中继承下来的。

a16z:重新启动Web3初创者加速器计划“Crypto Startup School”:10月19日消息,a16z Crypto宣布重新启动Crypto Startup School(CSS)并将其扩展为一个完整的加速器计划。a16z Crypto于2020年2月启动了CSS,目标是帮助开发者创建新的Web3项目,已帮助Phantom、Goldfinch等应用筹集了超过3亿美元资金并打造了用户喜爱的产品。

据悉,CSS计划中除了教育和指导部分,参与者将获得50万美元的种子资金来建立他们的公司。该计划将于2023年3月6日开始,持续12周,团队将在加利福尼亚州洛杉矶亲自参与,申请现已开放,截止日期为2022年11月30日。[2022/10/19 17:31:52]

该漏洞可能使攻击者能够在不被检测到的情况下创建无限的Zcash硬币。Zcash团队将这个漏洞保密了七个月,直到系统升级Sapling解决了这个问题。虽然基于安全漏洞的攻击不会影响用户交易的隐私,但无限伪造的前景破坏了Zcash的安全前提。(从理论上讲,不可能知道是否发生了攻击。)

可信设置的另一个值得注意的例子是永久的「tau-power-of-tau」仪式,该仪式主要为Semaphore设计,Semaphore是一种用于以太坊上匿名信令的隐私保护技术。该设置使用BN254椭圆曲线,到目前为止已有71名参与者。其他着名的项目后来使用这种设置在顶部运行自己的仪式,包括Tornado.Cash、Hermez网络和Loopring。

Aztec在BLS12_381椭圆曲线上举行了类似的仪式,有176名参与者参加zkSync,这是一个「第二层」以太坊扩展解决方案,使用零知识汇总。Filecoin是一种分散的数据存储协议,分别在第一阶段和第二阶段与19名和33名参与者一起举行了仪式,分叉了原始存储库。Celo是一个1层区块链,也为他们的轻量级客户端Plumo举办了一个仪式。

a16z联合创始人:加密货币对世界的改变太彻底,太底层了:金色财经报道,麦肯锡官网刊登了对a16z联合创始人Marc Andreessen的专访,在访谈中,Marc Andreessen分享了自己对新技术发展前景的预测,以及a16z的重点投资领域。Andreessen表示,现在,我们认为已经搜索到了三个非常有发展可能的新山,正好可以缩写成ABC。A是AI,B是Biotech(生物科技),C是Crypto(加密货币)和Web3。巴菲特刚刚在奥马哈的年度会议上抨击了整个行业。我认为这些批评不是作秀,是发自肺腑的(visceral),但他们没有认真思考。针对这些批评,我认为有两种可能的解释。

第一,他们可能是对的。也许See's Candies(巴菲特投资的糖果公司)就是未来,而不是区块链。

第二,加密货币对世界的改变太彻底,太底层了。每当人们想到,“这是一种新的货币形式”,或者“这是一个关于货币的新理论”,甚至“这是一个跟货币相关的新科技”时,人们会变得紧张,变得情绪化。作为关注非共识项目,一向逆向思考的投资人,这些批评让我们很高兴。如果所有其他人都不看好,但同时我们是对的,我们投资的创始人和公司将有巨大机会。[2022/7/3 1:47:37]

永久仪式对参与者人数没有限制。换句话说,任何人都可以参与任何程度的安全,而不是信任其他人来运行受信任的设置仪式。一个值得信赖的参与者确保所有结果参数的安全性;链条与其最强的环节一样强大。顾名思义,永久仪式可以永久举行,就像原始的tau权力仪式的前提一样。也就是说,项目通常会决定仪式的具体开始和结束时间,这样他们就可以将生成的参数嵌入到协议中,而不必担心不断更新它们。

以太坊计划为即将到来的ProtoDankSharding和DankSharding升级运行一个较小的可信设置仪式。这两次升级将增加以太坊链提供给客户端进行存储的数据量。此数据的有效期为建议的30到60天。该仪式正在积极开发中,计划于明年初持续运作六周左右的时间。而它正在成为迄今为止最大的区块链可信设置仪式。

Layer1区块链Linera完成600万美元种子轮融资,a16z领投:金色财经消息,Layer1区块链Linera宣布完成600万美元种子轮融资,a16z领投,Cygni Capital、Kima Ventures和Tribe Capital等参投。

据悉,Linera创始人兼首席执行官Mathieu Baudet是Meta前员工并曾帮助创建Libra区块链。Linera区块链具有低延迟和线性可扩展性等特性,由分片或单个线程组成,增加了额外的验证器以提高网络效率,使大多数基于帐户的操作能够在几分之一秒内得到确认。(CoinDesk)[2022/6/29 1:37:44]

偏执是一种「美德」,尤其当涉及到可信的设置仪式时。如果机器的硬件或软件受到损害,则可能会破坏其生成的秘密的安全性。泄露秘密的偷偷摸摸的侧信道攻击也很难排除。例如,手机可以通过记录CPU振动的声波来监视计算机的操作。在实践中,由于很难消除所有可能的侧信道攻击-包括那些尚未发现或披露的攻击-甚至有人提议将机器飞到太空在那里举行仪式。

目前,严谨的仪式参与者的剧本通常如下。购买新机器。通过移除所有网卡来进行风险隔离。在法拉第笼中远程未公开的位置运行机器。为伪随机加密信息生成器设定大量熵和硬复制数据,如随机输入或视频文件的种子。最后,通过将一切燃烧成灰烬来销毁加密信息-以及任何关于加密信息的痕迹。

协调可信设置仪式

所有可信设置仪式都依赖于一个中心化的协调者。协调者是个人或私人服务器或其他实体,他们被委托注册和订购参与者,通过将信息从前一个参与者转发到下一个参与者来充当中继,并保留所有通信的集中日志以用于审计。协调员通常还负责永久向公众提供日志,不过必须要承认的是,这种中心化的系统很容易因为管理不善或者一些非人为因素导致信息丢失。

a16z合伙人:使网络参与者团结起来朝着共同的目标共同努力:10月8日消息,a16z合伙人Chris Dixon发表最新的观点,为什么Web3很重要?Chris Dixon介绍说,现在正处于web3时代的开端,它将web1的去中心化、社区治理的精神与web2的先进、现代功能相结合。Web3是由构建者和用户拥有的互联网,由通证精心策划。 Chris Dixon解释表示,中心化平台遵循可预测的生命周期。当他们到达S曲线的顶部时,他们与网络参与者的关系从正和变为零和。在web3中,所有权和控制权是去中心化的。用户和建设者可以通过拥有NFT和FT来拥有互联网服务。通证币赋予用户产权:拥有互联网的一部分的能力。区块链是任何人都可以访问但无人拥有的特殊计算机。通证使网络参与者团结起来朝着共同的目标共同努力,网络的发展和通证的升值。[2021/10/8 20:12:23]

具有讽刺意味的是,当去中心化是加密精神的核心原则时,加密项目必须依赖于中心化的可信设置仪式。因此,我们决定证明直接在以太坊区块链上为永续的powers-of-tau举办一个小型仪式的可行性。该设置是完全去中心化的,无需许可的,抗审查的,并且只要任何一个参与者是诚实的,都是安全的。按照当前价格计算,参加仪式的费用仅为7至400美元,具体取决于所需结果参数的大小。

到目前为止,我们建议不要将代码用于实验目的以外的任何目的。如果发现代码有任何问题的人向我们报告,我们将不胜感激。我们很乐意收集有关我们方法的反馈和审核。

了解KZG或「powers-of-tau」仪式

让我们来探索一下最受欢迎的可信设置之一,它被称为KZG,或「powers-of-tau」仪式。感谢以太坊联合创始人VitalikButerin,他关于可信设置的博客文章为我们在本节中的想法提供了信息。该设置生成powers-of-tau的编码,之所以这样命名,是因为「tau」恰好是用于表示参与者生成的秘密的变量:

前美国国务卿高级顾问宣布将加入a16z,任职全球政策负责人:6月25日,美国前国务卿资深顾问Tomicah Tillemann宣布将加入顶级风投公司a16z,任职全球政策负责人,以及a16z第三只加密货币基金的合伙人。Tomicah Tillemann是前美国国务卿高级顾问,外交官和技术专家,曾担任NewAmerica数字影响和治理计划(DIGI)的执行董事、世界经济论坛第四次工业革命理事会成员,以及非营利组织GBBC的董事会成员和创始主席。[2021/6/25 0:06:01]

?对于某些应用,设置的第一阶段之后是第二阶段,即多方计算仪式,为特定的SNARK电路生成参数。但是,我们的工作仅集中在第一阶段。第一阶段-生成tau的幂-已经可以用作通用SNARK以及其他加密应用程序的基础构建块。。

通常,通用SNARK参数应该非常大,以便它们可以支持大而有用的电路。包含更多门的电路通常更有用,因为它们可以捕获大型计算;tau的幂数大致对应于电路中的栅极数。因此,典型的设置大小为|pp|=~40GB,能够支持~2的电路28Gas。鉴于以太坊目前的约束,将如此大的参数放在链上是不可行的,但是对于小型SNARK电路,Verkle树或DAS有用的较小的可信设置仪式可以在链上运行。

以太坊基金会计划为大小为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曲线。

所有的仪式策略都是经过反复权衡和测试的。我们认为这种结构是可靠的,并且具有很好的可验证和抗审查性。但同样,在完成更多工作来验证我们方法的合理性之前,直接使用文中提到的这一方案仍然需要高度谨慎。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:844ms