- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
长期或是ZKRollup
本文概述了一种预共识机制,可以实现即时终局性并减少验证 gas 成本,同时不影响 zkRollup 的即时资金退出。
1)太长不看:
本文概述了一种预共识机制,可以实现即时终局性并减少验证 gas 成本,同时不影响 zkRollup 的即时资金退出。
2)背景和动机:
在承诺间隔足够短(如 10 分钟)的情况下,zkRollup 可以实现即时终局性。在这个方案中,聚合者的信任风险会随间隔时间增长而增加,实现终局性的成本(如果是 Groth16 算法,每个承诺的验证 gas 成本超过 20 长期或是ZKRollup 万 gas)会随间隔时间延长而降低。
首先说明 zkRollup 的配对验证成本超过 20 万 gas(价值 100 至 500 美元)。也就是说,在 zkRollup 的每个承诺间隔期内,聚合者都需要花费这么多 gas 来验证并敲定承诺。
我们不能忽略这一成本,因为 zkRollup 的承诺间隔很短。我们需要承诺来实现即时退出的终局性。只要承诺间隔很短,且恶意聚合者回滚交易的积极性不高,我们就可以实现即时终局性(经济终局性,零确认交易)。
然后,我们需要思考如何在 zkRollup 中实现安全的即时终局性和较长的验证间隔。
聚合者的运行成本源自合约上零知识证明验证的 gas 成本高且承诺间隔短。
3.1)第一步:跳过零知识证明配对验证
聚合者向合约提交证明或验证 zkRollup 承诺所需的任何东西,但这时不执行配对计算,也就不需要支付 20 万 gas。一段时间过后,这个承诺就会得到验证;这个承诺中的每个状态将成为下一个承诺的公共输入。聚合者需要锁定一些以太币来激励验证者。一旦验证者发现欺诈行为,聚合者就会受到惩罚。
每个人都可以成为瞭望塔,等同于 Optimistic Rollup 中的“验证者”,无需运行全节点或进行任何特殊的起步设置。
数据可得性问题不会发生,因为验证或执行欺诈证明所需的一切数据都在链上发出的事件中。执行欺诈证明时,我们不需要 Layer 2 交易数据及交易结果,因为这些数据全都包含在了零知识证明的公共输入和证明中。
如果 Layer 1 上发生 51% 攻击,将恶意默克尔根合法化,我们很难阻止。
由于 51% 攻击的执行成本随底层区块链的出块时间增加而增加,我们需要足够长的验证期限,才能有效提高 51% 攻击的难度。理想的验证期限是 7 天,因为 ORU 的退出期限也是 7 天,这可以根据挖矿成本和实际的攻击奖励计算得到。
在这种情况下,我们没有理由舍 ORU 而取上述方案。
3.2)第二步:无需零知识证明验证的预共识承诺,通过递归零知识证明配对实现终局性
(consensus 长期或是ZKRollup commit ) => (pre-consensus commit ) => (pre-consensus commit ) => …. => (pre-consensus commit ) => (consensus commit )
所有预共识承诺都会通过配对来限制共识。因此,Layer 2 用户可以享受安全的即时交易终局性。我们需要使用带有递归零知识证明的所有预共识承诺来验证共识承诺。这里有两个电路:预共识电路和递归电路。预共识电路包含采用 zkRollup 方案的 dApp 的逻辑。递归电路只需要从 Layer 1 中获取预共识数据作为公共输入。
如果急的话,资产持有者可以花 20 万 gas 通过预共识来达成共识,然后就可以立即退出。(当然,他们也可以等待聚合者来达成共识。)正如“第一步”中提到的那样,他们不需要任何特殊设置,即可实现共识终局性,因为所有输入都已聚合,而且可以通过链上事件搜索到。无论验证多少预共识承诺证明,递归验证的 gas 成本都不会增加,因为这些证明将被哈希到条目哈希中。
51% 攻击者无法敲定恶意默克尔根,因为每个根最终都会通过由 zk电路实现的合约代码逻辑在链上进行验证。
这种带有欺诈证明的预共识协议及相关数据可访问性可以让 zkRollup 拥有较长的承诺间隔(如 6 小时)。这种方法可以大量节省验证计算所需的 gas 成本。
Polygon implement ZKRollup ?
QUICK L2 question, when polygon implement ZKRollup. will, AAVE,CURVE,1INCH,Sushiswap etc. move seamlessly to ZK or they need other on-ramp and the process from ETH to Polygon has to start again ? When they do implement they will have a REAL L2 solution and with the user base they are building nobody will ever look back ! They have 1st mover advantage.
no comments yet
Be the first to share what you think!
About Community
Polygon is the leading platform for Ethereum 长期或是ZKRollup scaling and infrastructure development. Its growing suite of products offers developers easy 长期或是ZKRollup access to all major scaling and infrastructure solutions: L2 solutions, sidechains, hybrid solutions, stand-alone and enterprise chains, data availability solutions, and more. Polygon’s scaling solutions have seen widespread adoption with 3000+ applications hosted, 1B+ total transactions processed, ~100M+ unique user addressses, and $5B+ in assets secured.
长期或是ZKRollup
原文来自:bankless
作者:Alex Beckett
几周前,David 写了一篇题为《Ultra Scalable Ethereum》的文章。
图:CPU 和 GPU 经历了相同的单片到模块化的设计转换,以大幅提高可扩展性
我们不去谈技术细节,而是比较Matter Labs 和 Starkware 这两个获得巨额VC资金支持的zkRollup方案。
Alex Beckett 向我们介绍了当今最好的两个 zkRollup 项目。
zkRollups: 对比Matter Labs 和 Starkware
在zkRollup 领域竞争的两只领先团队是Matter Labs 和 Starkware。Matter labs拥有zkSync 1.0和zkSync 2.0,而StarkWare拥有StarkEx以及StarkNet。
Rollup 的背景
特别是,相对于optimistic rollup而言,zkRollup能够使用零知识证明技术将隐私集成到rollup中。零知识通过允许一方向另一方证明某事而无需披露证明它所需的信息来实现隐私。然而,并非所有 zkRollup 都利用了零知识证明技术的隐私属性。
部署在以太坊主网的zkRollup
迄今为止,StarkEx已通过其托管的四个协议(dYdX、ImmutableX、DeversiFi 和 Sorare)处理了 4200 万笔交易以及1850亿美元的累积交易额。
因为rollup部署在以太坊上,因为它们会受到以太坊局限性的限制,因此,StarkEx 推出了一个名为 validium 的新系统,为应用程序和用户提供更便宜的选择。
Validium 的机制与 zkRollup 非常相似,唯一的区别是 zkRollup 中的数据可用性是在链上,而 Validium 将其保持在链下。这允许 Validium得以实现更高的吞吐量。
StarkEx 还具有了SHARP 功能,该服务允许将来自多个应用的rollup批量交易聚合为一笔交易,并立即发布到以太坊,它目前与 DeversiFi 和 Sorare 一起运行,使它们能够为用户进一步降低操作成本。
zkSync
zkSync 是由Matter Labs打造的zkRollup二层网络,它专为可扩展的支付而构建,用户可以将资金存入该网络并与其他 zkSync 帐户之间进行交互转账,而成本只是以太坊主网的一小部分。自2020 年 6 月主网启动以来,zkSync已处理了 400 万笔交易,转账的费用低至 0.20 美元。
用户交易可使用任何支持的代币(例如ETH、DAI、RAI)以及正在转移的代币进行支付,而无需持有特定的费用token。截至目前,zkSync 所有存款的 TVL 总额为 2400 万美元。
zkSync网络迄今遇到的峰值负载是在Gitcoin 赠款期间,大约为每小时20000笔交易(TPS 5.6),尽管这比StarkEx 展示的 18,000 次转账少了很多,但它持续了整整一个小时的时间。
今年7月份,zkSync 还增加了 NFT 的功能,用户可使用它铸造、交换以及转移NFT。
虽然 zkRollup不需要像optimistic rollup那样有一个提款的等待期,但zkRollup在发送到 L1 之前确实必须等待区块填充。实际上,这意味着如果交易数量低,提款可能需要等待几个小时的时间。
对比测试网产品
StarkNet
StarkNet 是 StarkWare 的下一次zkRollup迭代,根据计划,他们将于本月推出StarkNet alpha 主网。这可能会使其成为第一个在完全可组合的网络上提供通用智能合约的 zkRollup,而这是一个被认为需要数年时间才能实现的壮举。
为了提供与以太坊类似的开发体验,Warp 团队展示了将以太坊 EVM 代码编译成 StarkNet 合约的能力。
zkSync 2.0
zkSync 2.0是初始 zkSync 网络的下一个版本,其目的是在zkRollup上实现完全可组合的智能合约。今年10月份,zkSync 2.0的测试网上线,而CurveFinance 成为了初始的测试应用。
ZkSync 2.0 还引入了 zkEVM 测试网,这是一个模拟了以太坊环境的虚拟机,它允许将以太坊智能合约部署在zkRollup 上。据悉,项目方已通过UniSync(UniswapV2 的一个分叉)展示了zkEVM 测试网的功能。
自 10月份推出以来,UniSync已经在其测试网上处理了59万笔交易,尽管如此,zkSync 的所有测试网目前都处于封闭测试阶段,其只允许白名单的应用程序进行部署。
路线图对比
StarkNet
Step 1 – 行星:单应用rollup ✅
Step 2 – 星座:多应用rollup
Step 3 – 宇宙:去中心化rollup
最初的步骤为 StarkNet 的构建奠定了基础,这包括Cairo 编程语言和 SHARP,它们允许开发者使用针对 zkRollup 优化的语言构建智能合约,同时分担成本。
Step 2是 StarkWare 正在构建的当前阶段,它将随着 11 月StarkNet主网的发布而完成——这标志着 StarkNet 的发布是一个支持通用智能合约的完全可组合的zkRollup。
最后一步是StarkNet过渡到完全去中心化、无需许可的 rollup。这不会与初始主网发布同时完成,因为系统仍将处于 alpha 测试阶段,以确保可以在不损坏系统的情况下缓解任何漏洞。在最初的主网发布中,StarkNet 将运行唯一的排序器并进行许可制的智能合约部署。一旦 StarkWare 预计 StarkNet 的安全性足够,它将完成去中心化。
zkSync
zkSync 路线图的第一阶段始于 zkSync 的部署——一个专注于可扩展支付的 zkRollup。
第 2 阶段计划在名为 zkSync 2.0 的新网络上开发可组合智能合约,该网络有望在未来几个月的某个时间在主网上发布。与此同时,一种新的编程语言 Zinc 将作为智能合约的原生语言。
zkSync 2.0 还将引入 zkPorter,这是一个PoS链,它允许zkSync 2.0用户在zkPorter而不是以太坊上发布交易数据,从而实现更高的交易吞吐量。由于 zkPorter 交易不受以太坊交易费用的限制,因此有望成为更便宜的替代方案。
第 3 阶段会引入隐私,这会解锁 zkRollup的另一个显着特性。这将在 zk 证明不会给系统增加大量开销的时候完成。最后一个阶段涉及将 zkSync 2.0 转变为抗审查——要求系统去中心化,并通过取消Matter Labs团队对网络的任何完整控制而变得无需许可。
结论
相比之下,凭借1850亿美元的累积交易量以及9000 TPS的可验证交易能力等指标,StarkEx证明了自己是最常用的zkRollup,其数据是zkSync、Optimism以及Arbitrum的10倍多。随着本月StarkNet 的推出,StarkWare还将推出一个完全可组合的通用智能合约zkRollup,而许多人认为这离实现还有几年的时间。
长期或是ZKRollup
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
非对称加密的方案都是基于有限域上对数难问题来构造的。传统的RSA加密方案采用整数有限域,而椭圆曲线加密方案采用的二维点的有限域,有限域上的所有点都满足一类特殊形式的椭圆曲线:$y^2=x^3+ax+b \mod p$。椭圆曲线方案在同样密码安全性下比RSA方案更高效。
Secp256k1特指一条椭圆曲线:$y^2 = x^3 + 7$,这条椭圆曲线最早被比特币采用。
椭圆曲线的密码参数 $T = (p,a,b,G,n,h)$
$p$ 是椭圆曲线数的有限域的大小,这里是一个大素数 $p = 2^ - 2^ - 2^9 - 2^8 - 2^7 - 2^6 - 2^4 长期或是ZKRollup - 1$
$a,b$ 是椭圆曲线的参数,这里 $a = 0, b = 7$
生成元 $G$ 的压缩形式是 $G = 02\ 79BE667E\ F9DCBBAC\ 55A06295\ CE870B07\ 029BFCDB\ 2DCE28D9\ 59F2815B\ 16F81798$ ,
完整形式是$G = 04\ 79BE667E\ F9DCBBAC\ 55A06295\ CE870B07\ 029BFCDB\ 2DCE28D9\ 59F2815B\ 16F81798\ 483ADA77\ 26A3C465\ 5DA4FBFC\ 0E1108A8\ FD17B448\ A6855419\ 9C47D08F\ FB10D4B8$
区别应该就是压缩形式记录 $y$ 然后代入函数计算 $x$ ,完整形式直接存 $x$ 和 $y$ 。
$n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141$
Baby jubjub 是另一条椭圆曲线,EIP-2494 提出的。
zk-SNARK 通过对链下计算提供零知识证明能提升以太坊性能,并且保障隐私性。zk-SNARK协议( [Pinnochio] 和 [Groth16])在证明和验证的时候都需要椭圆曲线运算,需要曲线满足有限域 $F_r$ ,以太坊采用alt_bn128(BN254)曲线,不支持zk-SNARK的ECC计算。而 Baby jubjub 的特点在于,专门为zk-SNARK计算设计的。
Baby jubjub 属于一类特殊的椭圆曲线,扭曲爱德华滋曲线:$ax^2 + y^2 = 1 + dx^2y^2$,如下图所示,这个曲线关于 x 轴和 y 轴都对称。