DAO:a16z:详谈去中心化链上可信设置仪式的可行性

原文作者: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权力仪式的前提一样。也就是说,项目通常会决定仪式的具体开始和结束时间,这样他们就可以将生成的参数嵌入到协议中,而不必担心不断更新它们。

A16z首席法务官:分布式系统上的结算层不仅仅是一个信息通信层:金色财经报道,A16z首席法务官Jai Ramaswamy在第一天的会议“理性监管 Web3:千载难逢的机会”上发言称,比特币论文的原始见解指出,分布式系统上的结算层不仅仅是一个信息通信层,而是一个新颖的计算机科学概念。然而,它的含义远不止金融,因为它允许在互联网上创建可编程的分布式层。目前所遇到的问题是,当人们思考监管时,他们会以静态的方式思考,而事实上,这是一个动态的概念。如果我们考虑一下今天的世界是如何被监管的。互联网的协议层实际上是被监管的,但它们一般是由自我监管组织(SRO)监管的。而在一些自律组织之外,还有包括SEC、CFTC、FinCen等在内的监管机构,这两类监管机构通常监管应用层。

我们今天遇到的部分问题是金融监管机构开始监管或认为他们正在监管这些基础层或协议层,这是一个错误。因为监管机构和金融监管机构最没有能力做出设计决策。行业需要仔细考虑如何通过标准制定机构的自我监管通过最佳实践来监管基础层。[2022/10/24 16:37:10]

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

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

a16z合伙人:加密市场低迷给风投公司更多投资机会,希望创造一个更好的互联网:8月23日消息,a16z合伙人Chris Dixon在接受《金融时报》采访时表示,目前的加密市场低迷给风险投资公司更多的投资机会。目前互联网上的权力由一小部分公司掌握。我们可以做的是创造一个更好的互联网,创造新的系统,让网络效应累积到社区而不是公司。(CoinDesk)[2022/8/23 12:43:10]

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

协调可信设置仪式

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

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

游戏开发商Regression Games完成420万美元种子轮融资,a16z参投:金色财经报道,人工智能游戏开发商和电子竞技公司Regression Games宣布完成420万美元种子轮融资,New Enterprise Associates (NEA) 领投,Andreesen Horowitz (a16z)、BBQ Capital、Roosh Ventures 和一批天使投资人参投。Regression Games 正在构建平台和生态系统,帮助玩家能够编写代码和人工智能来控制角色、实时调试策略、争夺锦标赛奖品,该公司创始人兼首席执行官 Aaron Vontell表示,他们希望解决涉及元宇宙、线上对战等游戏中遇到的NPC和AI复杂性问题。(gamespress)[2022/8/16 12:27:31]

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

了解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有用的较小的可信设置仪式可以在链上运行。

区块链公司Mediachain获A16z领投150万美元种子轮:总部位于纽约的区块链创业公司Mediachain,已获得了重量级VC公司安德森·霍洛维茨基金(Andreessen Horowitz)以及合广风险投资公司(Union Square Ventures.)的注资。这两家公司今日宣布他们已领投了Mediachain的150万美元种子轮融资。其他跟投方包括RRE Ventures、数字货币集团(DGC)以及LDV Capital ,此外,天使投资人Alexis Ohanian、William Mougayar、Kanyi Maqubela、David Lee、Mathieu Drouin以及Brian Message也参与了此轮融资。这笔融资距Mediachain推出核心产品已过去了四个月,该元数据协议能使内容创造者为他们的作品打上时间戳,并放到比特币区块链上,同时它还使用了星级文件系统(IPFS,一种超媒体协议)。[2018/3/2]

以太坊基金会计划为大小为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:0ms0-3:669ms