月亮链 月亮链
Ctrl+D收藏月亮链
首页 > TRX > 正文

KAT:「op/zk」rollup/mixers/MACI的批量处理存款-ODAILY_ARK

作者:

时间:1900/1/1 0:00:00

引言

在一堆不同的项目中,我们需要允许用户从EVM存入某种链下状态,该状态在链上表示为Merkle累加器。该Merkle树根据有效性证明或欺诈证明+同步假设进行更新。

SNARK友好的哈希函数非常昂贵,因此有必要最小化它的成本。在optimisticrollups世界中,它并不那么昂贵,但每次存款的成本限制了它在某些场景下的应用,例如大规模迁移。

要从EVM存入Merkle树,需要执行tree_depth哈希从而能够包含一个叶子节点。甚至在一个区块中有两笔存款都需要tree_depth的哈希值。那么有必要将它们合并在一起,这样它们只需要花费个哈希值。

这些存款为

在这里,我们提出了一种存储批处理方法,即

在另一篇文章中,我们将这些优化应用于mixers和optimisticrollups。

之前的工作

MerkleMountainRanges专注于创建深度随时间增长的Merkle树。在这个使用案例中,我们需要一个恒定深度的树,并且不能有可变数量的哈希值。在optimisticrollup中,这也不理想,因为随着树的深度的增长,需要更改放在链上的数据。

美国议员:众议院委员会将在未来几周内就加密货币法案进行投票:金色财经报道,美国众议院金融服务委员会主席麦克亨利在周二的听证会上表示,他打算在未来几周内就一项综合性法案举行委员会投票,以建立加密货币产品的监管框架。他表示,预计将在议员7月11日复会后提交一份议案,供该委员会审议。本月早些时候,麦克亨利等人提出了一份讨论草案,该草案将明确监管机构监管加密产品的责任,并为加密公司和交易所在这些机构注册提供途径。[2023/6/14 21:35:08]

将此用于存储是有问题的,因为随着数据集变大,峰值袋变得越来越稀少,因此存款速度变得越来越慢。这可能导致用户无限期地等待他们的资金存入。

另一种方法是多重证明但在这里不能使用,因为它需要在存款人之间安排协调员。鉴于不断变化的存款队列,状态很可能在协调更新得到处理之前已经改变。

方法

创建存款队列

如果您曾经玩过2048,您可能会从合并两个相同值的区块中获得乐趣。我们在这里对于Merkle树也这么做。

我们从一个空的存款树开始。当存款进来时,我们将其存储在队列中并等待。当下一笔存款进入此哈希时,将此哈希保存到我们当前深度为1、同时有2个待处理存款的存款树。然后我们可以停止存储与第一笔存款相关的任何数据。

当另一笔存款进来时,我们会再次存储它。然后对于下一个存款,我们用指定值对其进行哈希,然后用存款树对结果进行哈希。创建我们的深度为2、有4个待处理存款的存款树。

成都:拟出台“算力九条”,每年发放总额不超过1000万元的“算力券”:金色财经报道,成都市新经济发展委员会目前《围绕超算智算加快构建算力产业的政策措施(征求意见稿)》(简称“算力九条”)已起草完成。“算力九条”提出,将推进算力赋能建圈强链。建立以“算力券”为核心的算力中心运营成本统筹结算分担机制,结合区块链等新技术实现“算力券”有效监管。每年发放总额不超过1000万元的“算力券”,用于支持科技型中小微企业和创客、科研机构、高校等使用国家超算成都中心、成都智算中心算力资源。鼓励本市企业、高校、科研机构联合国家超算成都中心、成都智算中心,参与承接国家、省级人工智能重大产业化项目、“揭榜挂帅”项目、“卡脖子”技术攻关项目等,对于申报成功的项目牵头企业或机构,分别按照算力成本20%发放不超过200万元、100万元的“算力券”。[2022/10/12 10:32:26]

我们已经有效地合并了存款。

将存款树插入余额树中

此时,我们有一个深度为2的存款树,其中有4个待处理的存款。我们还有一个余额树,它包含一些先前存入的账户,其他地方都是零。我们不想覆盖树中的帐户。因为这会毁掉这些用户的账户。我们只需要将它们替换0。

为了将新叶子插入余额树,我们需要证明:

一个节点的子节点全为零。我们需要这样做以防止覆盖已经有过存款的账户。

举个例子,假设我们有一个节点有2个子节点。我们知道,如果2个子节点都是0,那么节点==hash(0,0)。

Rocket Pool上质押数占ETH2.0质押总数的0.952%:金色财经消息,据Dune Analytics数据,目前Rocket Pool上质押194,868枚以太坊,占ETH2.0质押总数的0.952%。此前消息,以太坊质押协议Rocket Pool宣布完成自推出主网以来的第一次重大升级——Redstone升级。升级内容包括:优先费用分配器、新的奖励系统、可选的Smoothing Pool、rETH转账延迟等。[2022/8/29 12:55:14]

但是如果树真的很深,在EVM/SNARK中计算这个哈希可能效率不高。因此,不如预先计算这个列表,并将其作为一个映射存储在智能合约中进行部署。

然后每当我们想要检查一个节点的子节点是否全为零时,我们只需查找此映射。所以有用Merkle证明该节点在树中,然后通过检查存储的映射证明它的子节点全为零。新的Merkle根只更改了零节点,其他一切都相同。

我们之前已经证明了一片叶子的子节点全为零,现在我们想要改变那片叶子,同时保持树的其余部分不变。

使用相同的Merkle路径,我们计算了用deposit_tree替换的没有叶子的根。

然后我们将这个新的Merkle根存储为包含所有存放叶子的新余额树,使用我们用来证明叶子在树中的相同Merkle路径确保了所有其他叶子不会改变,并且只允许我们更新零节点的子节点。

上海十四五规划:布局分布式存储、DNS和加密通信等Web3关键技术:7月13日消息,上海市人民政府办公厅印发《上海市数字经济发展十四五规划》,规划提出,上海将在十四五期间应围绕数字新产业、数据新要素、数字新基建、智能新终端等重点领域,加强数据、技术、企业、空间载体等关键要素协同联动,加快进行数字经济发展布局。

提升数字新基建应加强网络新型基础设施部署、技术研发和应用创新,打造面向未来的网络生态。超前布局新一代网络形态,前沿探索多平台 OpenID(数字身份识别框架)、分布式数据存储、去中心化 DNS(域名解析系统)、端到端加密通信等 Web3.0(第三代万维网)关键技术,加快突破分布式网络核心技术。[2022/7/13 2:10:03]

同步的注意事项

像zksnarks/optimisticrollup这样的一些系统需要证明时间才能执行存款。如果在这种情况下存款树发生变化,则证明可能无效。因此,最好有一种方法可以在某个存款树被存入时暂停更新。

概括

这里我们提出了一种合并存款的方法。我们在EVM中查询存款,当它们被存入更大的Merkle树时,它们会将它们合并。

在后续文章中,我们将把它应用到mixer存款和optimisticrollup存款/大规模迁移。

Meta元宇宙设备Quest 2遭触觉技术开发公司Immersion专利侵权起诉:金色财经报道,触觉技术开发公司 Immersion 已对 Meta 提起诉讼,指控后者通过侵犯其专利的方式打造了虚拟现实(VR)头戴设备。Immersion 在提交给得克萨斯州韦科联邦法院的一份起诉书中称,Meta Quest 2 侵犯了六项涉及触觉技术的专利,该公司正寻求法院下令阻止 Meta 使用侵权技术并寻求数额不详的赔偿金额。Meta 首席执行官马克·扎克伯格(Mark Zuckerberg)此前承诺每年投入 100 亿美元来实现由 VR 支撑的元宇宙愿景,数据显示,Meta Quest 2 的销量在 2021 年达到 870 万部,是前一年的两倍,占据了 80% 的市场份额。截止目前,Meta 官方尚未就技术侵权诉讼时间发表置评。(law360)[2022/5/29 3:48:20]

讨论:

weijiekoh

假设队列长度是8而不是4。

令storage为存储一个值所需的gas量。

令hash为哈希两个值所需的gas量。

这是否意味着存储在2^n位置用户由于其在队列中的位置而处于劣势。

barryWhiteHat

与现状相比,对每个人来说都更便宜?

weijiekoh

它确实对每个人来说都更便宜,在我看来,当考虑到每次哈希的成本时,这种权衡是一个偏好问题。如果哈希函数是便宜的(例如kecack),那么成本差异可以忽略不计,但如果哈希函数是昂贵的(例如Poseidon)那么

的使用者的gas花费加起来也比较昂贵。

vbuterin

因此KateCommitment值得探索。使用KateCommitment,只需一个组元素就可以轻松证明来自单个状态的任意数量的位置。这可以与队列方法结合使用,以确保有大量存款可以批量处理。Kate方法的另一个好处是很容易将其插入基于椭圆曲线的SNARK/PLONK证明中。

weijiekoh

请问你对使用KateCommitment有什么想法?是把所有的存款根积累到KateCommitment而不是余额树的吗?

vbuterin

将KateCommitment使用于存款和余额。

weijiekoh

尽管用我们拥有的最好的开发工具(带circom的BN254)来验证在snark中的KateCommitment仍然是不可行的。但我的意见是,我们必须等到更先进的snarks变得可行。

vbuterin

我没想过让snark从字面上验证椭圆曲线配对计算。我正在考虑使用类似PLONK的多项式证明,其中KateCommitment和opening作为两个参数传入,您只需直接对它们进行多项式检查。所以没有“一个系统验证另一个系统”的开销。

weijiekoh

请问这是你心目中的snark吗?

在这种情况下,像commit()函数需要一个SRS并且还需要对EC取幂来计算Kate承诺。我可能是错的,但由于在现有的alt_bn128的SRSes上执行EC操作的成本很高,我们是否需要在BabyJub曲线上进行新的'PowersofTauCeremony',以便我们可以拥有对snark友好的KateCommitment?

MichaelConnor

可以批量处理成KateCommitment的项目数量是否有实际上限?限制是SRS的大小?如果是这样,Merkle树不是提供更大的匿名集吗?

vbuterin

我的意思是直接对KateCommitment进行多重证明。所以你会有一个承诺P,你只需做一个标准的muti-opening来证明对于一组(x,y)有P(xi)=yi成立。

可以更进一步:为了避免每对都进行一次EC乘法,(x,y)对本身可以用多项式承诺进行编码,muti-opening将变成一个等价证明:,然后这些多项式承诺将同时成为PLONK证明的一部分。

weijiekoh

也许我应该从不同的角度去看问题。我主要关心用户的gas成本,其次才是协调器。这毕竟是批量存款技术要解决的问题。

在MACI中,我们需要证明ZK中余额树中每个叶子的事情。即在余额树中,每个叶子可能会或可能不会根据其解密内容修改状态树。由于我们要确保协调器以正确的顺序处理每条消息,我们的Groth16snark必须证明每个叶子的成员资格和消息树中的位置。

这已经花费了几十万gas。如果我们执行Kate多重证明,将至少添加另外193kgas。

如果/当我们转向PLONK,我们是否可以避免这种额外成本?

在短期内,如果没有PLONK,在BabyJub中使用Kate承诺可能会有好处,因此我们可以在Groth16snark中验证Kate承诺或Kateverkle树。

每个存入队列的用户只需支付存储32个字节的费用。

一旦存款队列已满,协调员就会累积成一个凯特承诺,这应该很便宜。例如,Kate提交16个值需要223454个gas,这比波塞冬二叉Merkle树有很大的改进,后者需要797835个gas来提交16个值。这样,用户和协调者都可以节省gas。

为了构建最终的余额树,协调器还将使用Kate承诺,从而生成Verkle树。由于我们可以以更低的gas成本承诺更多的价值,我们可以拥有更大的树容量。

当我们处理余额树时,我们会检查snark中每条消息的成员资格和位置,然后照常进行。

也许我们可以使用Verkle树(Merkle树使用Kate承诺作为哈希函数而不是Poseidon/MiMC)。

Pratyush

KZG10Commitments需要配对;BabyJubJub不是一个友好的配对曲线

weijiekoh

使用这种技术可以节省更多的gas。子树的哈希函数可以是SHA256,这在EVM中比较便宜。树的其余部分(从子树深入到根)可以用Poseidon进行哈希。

这样做的代价是,任何snark都会增加每个子树级别大约90k约束。从这个角度来看,TornadoCash的抽屉式电路有28271个约束条件。因此,这种方法只对MACI这样的用例有意义,在这种情况下,验证者可能不介意(粗略地)将他们的验证时间增加一倍甚至三倍。

标签:KATMERERKARKMKATEthereumeRushMeta MeerkatMarketing Samurai

TRX热门资讯
比特币:美联储的最新声明解读-ODAILY_StrongBlock

备受业界关注的美联储最新声明终于出笼了。仔细看完这份声明,它的内容远比市场预估的要缓和,不仅丝毫没有提到加息的字眼,连事前金融界普遍担心的缩减购债规模都没有提到.

1900/1/1 0:00:00
区块链:产业区块链正当时·2021零识区块链年度榜单揭晓!-ODAILY_amber

12月28日,以“产业区块链正当时”为主题的零识区块链2021年度区块链榜单评选正式落下帷幕,各项榜单评选结果得以正式揭晓.

1900/1/1 0:00:00
SOL:Orca for Everyone(一):从Solana开始-ODAILY_SOL价格

本文由英文版翻译而来,英文原版点击这里OrcaforEveryone是由Orca背后团队提供的进入DeFi世界的指导书,Orca是Solana上最用户友好的数字货币交易所.

1900/1/1 0:00:00
区块链:艾贝链动2021年终总结:为数字时代的信任赋能-ODAILY_VIU币

过去的2021年,对区块链行业而言是不平凡的一年。群情激昂,热点更迭。NFT、元宇宙、Web3.0,市场在创新微力量中孕育出一次次发展契机,又在草莽和秩序混乱中接受一次次喘息和调整.

1900/1/1 0:00:00
OOT:Footprint 8月月报 DeFi市场多点开花,9月是否会迎来下一个爆发点 -ODAILY_Minter HUB

撰文:Vincy@FootprintAnalytics日期:2021/09/09随着7月月报July2021Report数据分析,7月的市场逐步恢复.

1900/1/1 0:00:00
NFT:五个问答让你深入浅出了解NFT-ODAILY_什么是以太坊币交易

前言:本文总结了一般大众可能好奇的关于NFT的具体概念、受认可程度、交易方式、手续费、制作方法等5个疑问.

1900/1/1 0:00:00