了解Boojum升级:zkSync Era为什么选择STARK证明系统

'了解Boojum升级:为何选择STARK证明系统的zkSync Era'

zkSync Era:Boojum证明系统的升级

本文要点:

  • 升级:zkSync Era正在无需regenesis的情况下过渡到一个新的Boojum证明系统。
  • 性能:Boojum展示了世界级的证明性能,助力zkSync Era排序器性能提高,已可处理超100 TPS。
  • 去中心化:Boojum prover(证明者)只需要16 GB RAM,支持未来大规模的prover去中心化。
  • 准备就绪:Shadow proving(影子证明)已经在主网上线!

zkSync的使命是通过建立一个无需信任、安全、无需许可、价格合理、易于使用、有弹性和无限扩展的区块链网络,促进所有人的个人自由,让数字自我所有权普遍可用。为了达成这一使命,zkSync Era的Alpha版本在三个多月前就向公众开放了,并获得了惊人的反响。

在zkSync Era的发展过程中,我们注重以下几个方面:

  • 网络重点:zkSync Era已经吸引了大量用户,总锁定价值达到5.77亿美元,过去30天里处理了2375万笔交易,是交易量最多的L2网络。

为了进一步提升zkSync Era的性能和去中心化特性,我们决定进行升级,将zkSync Era过渡到一个新的基于SNARK的证明系统,名为Boojum。

1、Boojum简介

Boojum是基于Rust的算法和约束库,用于实现zkSync Era和ZK Stack的ZK电路的升级版本。Boojum一词来源于Lewis Carroll的《The Hunting of The Snark》一诗,指代最可怕的Snark类型。

Boojum具有以下引人瞩目的特性:

  • PLONK类型算法:我们升级的系统采用PLONK类型算法,相对于其他可选方案,PLONK算法使得ZK电路更易编写、系统更易开发、审计、维护和升级。
  • 强大的承诺方案:Boojum的核心是FRI承诺方案,它使我们能够对一个有界多项式进行承诺,并有效地证明(多项式)声称的opening确实属于低阶多项式。
  • 高效的“boring”部分:通过Boojum,我们提供了自动化的并行见证生成,并仍然可以轻松定义各种见证生成函数。这使得系统的证明生成更高效。
  • 易于扩展:基础约束系统抽象非常浅层,用户可以根据需要添加自定义的gate约束类型,并且提供了自动生成证明者、验证者和递归验证者能力的扩展接口。
  • 单栈:Boojum的所有内容都可以用标准的、惯用的Rust来表示,使得系统更易于开发和维护。

Boojum默认操作大小为2^64 – 2^32 + 1的素数域,并提供了相应的域绑定原语的实现,如Poseidon2哈希函数,以及基于查找表的加密原语实现,如SHA256、Keccak256和Blake2s。

在部署的最后一步中,我们将使用不透明的基于配对的SNARK,对STARK证明进行微升级,并在以太坊上进行验证。这种证明更小、验证成本更低,降低了交易本身的成本。

2、为什么选择Boojum?

在设计Boojum时,我们考虑了世界级的证明性能和降低去中心化的硬件要求这两个关键因素。

(1)世界级性能

我们当前的证明系统虽然有效运行,但无法满足zkSync Era未来的大容量、几近实时交易的需求。我们希望证明可以低成本、快速生成和验证,以实现超链之间的快速最终性和互操作性。

经过与Celer团队合作的基准测试,我们发现Boojum的性能明显优于其他系统,达到了世界级的水平。这将为zkSync Era和其他基于ZK Stack的系统的活动量增加提供支持。

(2)降低去中心化的硬件要求

目前的证明系统对硬件要求较高,而我们的目标是实现一个用户驱动的、去中心化的证明生成的未来。为了降低硬件要求,Boojum的GPU prover只需要16 GB RAM,基于CPU的验证仅需64 GB RAM(我们希望可以降至32 GB),这是迈向未来愿景的重要一步。

Boojum的性能提升意味着系统可以更快地证明交易,并且硬件要求的降低让网络可以访问更低成本的机器,提高了水平可扩展性。

3、Boojum的主网之路

团队已经为该升级连续工作了几个月,现在终于可以将系统带到主网上。在升级zkSync Era过程中,我们采取了以下措施:

(1)升级zkSync Era

与以太坊类似,zkSync Era使用Merkle树数据结构存储网络状态信息。为了实现升级,我们仅需在电路内重新部署Blake2s,而无需进行完全的regenesis,避免对zkSync Era用户造成巨大的颠覆。

(2)Boojum:从设计到审查

为了确保系统的正确性,我们进行了一系列内部和外部审计。与外部安全审计员合作,我们提供了zkEVM电路和Boojum组件的源代码和文档,共同识别潜在问题。通过这种合作,我们解决了许多早期问题。

(3)Boojum:从审查到测试

目前,我们开始进行主网影子模式测试。尽管Boojum仍处于测试阶段,但我们已经在使用真实生产数据进行区块生成和验证的“影子证明”测试。这些影子证明将进一步优化系统,并为我们找出边缘情况和bug提供反馈。

我们现在开放了Boojum代码库的源代码,但请注意,代码库仍在进行中,会有调整、优化、修复和文档改进。未来几周,我们还将开放更多的代码库,包括更新的电路和GPU prover。

(4)Boojum:从测试到迁移

我们将始终把安全性放在首位。只有当对新系统的测试完全满意时,我们才会考虑进行迁移,并进行进一步的审计和安全审查。这个令人兴奋的升级即将全面实现,而当前的证明系统已弃用。

通过Boojum的升级,我们相信zkSync Era将变得更安全、更可扩展、更高效。我们将继续致力于创新和用户至上的设计,推动zkSync Era和ZK Stack的发展,为用户带来更好的使用体验。