常见问题


常见问题

在这里你会发现一些我们收到的关于zkSync Era的最常见的问题。

什么是zkSync Era?

zkSync Era是一个零知识(ZK)的Rollup,支持Ethereum区块链的通用EVM兼容性。zkSync Era的主要好处是,已经创建了EVM dApps的开发者可以毫不费力地移植到zkSync Era,并在继承Ethereum的安全性和去中心化的同时,实现显著降低气体费用和每秒更多交易。

为什么选择zkSync Era?

zkSync Era是第2层技术的一个巨大飞跃。这是一个期待已久的改进,为以太坊开发者提供了许多从未享受过的好处。

  • EVM兼容 - zkSync是一个EVM兼容的零知识Rollup,支持通用的EVM智能合约。这意味着如果你有EVM智能合约,那么将你的DApp移植到zkSync Era是超级容易的。
  • Ethos兼容 - 我们非常赞同去中心化和开放源代码的精神。我们所有的代码将努力做到完全开源,zkSync将执行一个路线图,将排序器和证明生成完全去中心化,我们将执行一个组织减法管理的路线图,也就是说,我们也将去中心化我们的组织。
  • 确定性 - 与之前试图扩大以太坊规模的方法不同,这些方法在某些情况下提供了比L1更弱的安全保障(例如侧链、等离子体和乐观主义),ZkSync使用零知识证明,提供_确定性_的安全。
  • 未来证明 - 现在采用zkSync Era的生态系统项目将享受所有未来的改进,而不需要改变他们的代码,特别是来自于。
    1. 证明人技术(硬件加速)。
    2. 编译器(集成支持LLVM的现代编程语言)。
    3. zkSync 3.0的所有创新(超链和超桥)。

什么是zkEVM?

zkEVM是一个架构的名称,它能够为最初为EVM编写的智能合约的执行跟踪生成零知识证明。

其架构是基于以下组件。

  • zkVM,一个为在ZKP电路中证明而优化的图灵完备的类RISC虚拟机。它有几种不同的实现方式。
    • 执行器:在CPU上的快速本地执行。
    • 证人生成器:生成ZKP证明的本地执行器。
    • 证明者:实际的ZKP电路实现。
  • 基于LLVM的编译器。
    • Solidity前台(更确切地说:Yul前台)。
    • Vyper前台。
    • zkVM后端。
  • 特殊用途的电路(严重依赖PLONK的自定义门和查找表)作为计算密集型操作的 "预编译",例如。
    • 非代数哈希(Keccak, SHA256, Blake2)。
    • 存储访问(Merkle路径)。
    • 椭圆曲线配对。
  • 递归聚合电路(结合上述部分的证明)。

zkEVM vs EVM

除了操作码和气体计量的差异外,zkVM严格继承了EVM的编程模型及其不变性,包括ABI的调用约定。需要强调的一件事是,zkVM支持回滚和可证明的可逆事务。它保证了相互保护:用户不能用可逆事务的轰炸来拖延网络,而逃生舱口(优先级队列)则保护了用户将任何事务纳入区块的能力。

因此,开发人员可以完全依赖L1提供的审查阻力,而不必引入与逃生舱口机制有关的任何变化。这意味着zkSync上zkRollup账户中的资产将拥有与L1上完全相同的安全保障。

EVM的改进

在保持最大的兼容性的同时,zkEVM比EVM有显著的改进,增加了采用率并有利于我们的生态系统项目。

  • 我们的编译器是基于LLVM的。基于LLVM的编译器(Low-Level Virtual Machine)已经成为Mac OS X、iOS、FreeBSD和Android系统的默认编译器,并且是使用最广泛的编译器之一,因为它们。
    • 使我们能够比原来的EVM字节码提高效率,因为通过LLVM,我们可以利用这个成熟的生态系统中的许多优化和工具。
    • 为我们增加支持整合用其他编程语言编写的代码库与LLVM前端铺平道路。通过这样做,开发人员可以建立dApps,并以目前不可能的方式使用区块链。
  • 账户抽象包含在我们的zkEVM中。这是Ethereum开发社区期待已久的功能,它以多种方式改善了开发者的采用和用户体验。
    • 对智能合约钱包(如Argent)的原生支持,这对主流用户的入驻至关重要。
    • 对多合约的用户体验好得多。
    • 交易费用可以使用[paymasters](.../developer-guides/aa.md#paymasters)以任何代币支付。
    • 协议现在可以从他们的智能合约中为用户补贴气体,甚至可以实现无气体交易。
    • 交易批次(multicall)可以一键确认(目前以太坊的大用户体验问题)。
    • 了解更多关于[zkSync时代的账户抽象支持](.../developer-guides/aa.md)。

EVM的兼容性

关于EVM兼容与EVM等同的影响,在社区中存在很多困惑。首先,让我们定义一下这两者的含义。

  • EVM等效意味着一个特定的协议支持以太坊EVM的每一个操作码,直到字节码。因此,任何EVM智能合约都可以100%保证开箱即用。
  • EVM兼容意味着支持Ethereum的EVM的一部分操作码;因此,一部分智能合约开箱即用。

zkSync被优化为EVM _compatible_而不是EVM equivalent,有三个主要原因。

  1. 为EVM的等价性创建一个通用的电路,直到字节码,这将是非常昂贵和费时的。
  2. 在我们从zkSync 1.0学到的基础上,我们能够设计一个针对性能和ZK可证明性进行优化的系统。
  3. 我们选择不支持的操作码已经被Ethereum本身废弃,或者很少使用。在项目需要它们的情况下,为了与zkSync一起工作而进行的修改是最小的,并且不会产生对新的安全审计的需求。

几乎所有为EVM编写的智能合约都会被zkSync Era所支持,并持有所有关键的安全不变性,因此在大多数情况下不需要额外的安全重新审计。

不支持的操作码

有几个操作码不被zkEVM支持。其中一些已经被废弃,或者它的使用是次要的,但使用它们的合约将需要调整。你可以在文档的[EVM兼容性部分](.../building-on-zksync/contracts/contracts.md#evm-compatibility)找到更多相关信息。

还有一些其他的区别,例如,Gas 将是不同的(其他L2的情况也是如此)。一些EVM的加密预编译(特别是配对和RSA)不会在第一个版本中出现,但会在推出后很快实现,其中配对是一个优先事项,以允许超链和像Aztec/Dark Forest这样的协议在没有修改的情况下也可以部署。

安全预期

zkSync Era的数据可用性层是Ethereum。所有建立在zkSync Era上的生态系统项目将继承Ethereum的全部安全优势。

这对我们来说显然是一个极其重要的话题,我们目前正在对zkSync Era的安全性进行重大审查(包括外部审计、安全竞赛,以及全面修改和扩展我们的漏洞赏金计划)。

我们将很快在这里实质性地扩展细节。

触发安全审计

虽然有一些很少使用的操作码是我们不支持的,但我们还没有在我们的生态系统项目中发现任何破坏性改变的情况,而只是简单地重构了几行代码。我们的生态系统项目中,没有一个移植到zkSync的项目报告说,任何变化都会导致需要进行安全审计。

什么是账户抽象?

在一个非常高的水平上,账户抽象允许我们使授权可编程,使钱包和协议设计更加多样化,使用情况包括。

  • 实施智能合约钱包,改善私钥存储和恢复的用户体验(例如,社会恢复open in new window, multisig)。
  • 以ETH以外的代币支付天然气费用的能力。
  • 账户改变公钥和私钥的能力。
  • 增加了非加密的修改,用户可以要求交易有过期时间,确认略微失误,等等。
  • 签名验证系统的多样性,从目前的ECDSA,包括后量子安全签名算法(例如,Lamport,Winternitz)。

换句话说,账户抽象给整个用户体验带来了重大改进,并为开发者扩大了应用设计空间。在Argent的这篇博文open in new window中了解更多。

在zkSync时代,账户抽象是原生实现的,这意味着账户可以发起交易,像EOA一样,但也可以在其中实现任意的逻辑,像智能合约一样。

如果你想更好地了解zkSync上的账户抽象是什么样的,你可以阅读[本节文档](.../developer-guides/aa.md),或尝试我们的教程[这里](.../tutorials/custom-aa-utorial.md)。

zkSync Era vs 替代品

zkSync Era vs # Optimistic Rollups*

像Arbitrum和Optimism这样的 Optimistic Rollups 利用Optimistic的方法来保障其网络安全。在他们开发的时候,他们代表了比其他可用选项更重要的渐进式改进。然而,一个广泛持有的观点(包括Vitalik Buterin的观点open in new window)是,Optimistic 的方法代表了另一个临时的解决方案,从长远来看,唯一永久的和真正可扩容的解决方案将是基于零知识证明的区块链。

Optimistic Rollups存在以下关键问题。

  • 这种方法假设所有交易都是有效的,然后利用事后的博弈论机制来支付参与者发现欺诈性或其他无效的(例如因为bug)交易。博弈论从来都不是完美的,就像稳定币和其他系统的博弈论一样,我们认为它不能被长期和真正的规模所依赖,以提供生态系统所需的安全性。另一方面,_zkSync Era依靠数学,而不是博弈论,提供绝对确定的证据,证明每一笔交易都是可证明的有效的,不是欺诈。
  • Optimistic Rollups的方法需要7天时间来结算。对于生态系统项目来说,结算时间正成为一个越来越重要的特征。随着生态系统项目需求的成熟,对尽可能接近即时结算的需求将上升。用乐观的方法,这个结算问题不会消失。它总是会有7天的结算时间,因为乐观的方法需要7天的时间来完成其事后博弈理论的挑战窗口。绕过这个问题的唯一方法是引入提供一些流动性的第三方 - 但这又是信任流动性提供者的潜在安全风险。当zkSync时代最初在主网上推出时,它将在几个小时内提供结算,但经过几个月的工作,我们的目标是在几分钟内完成结算 - 随着我们将结算时间提高到接近零 - 没有合作伙伴需要改变任何代码
  • Optimistic Rollups 没有方法超越他们现在的位置。**当Optimistic的方法首次出现时,他们变得流行,因为他们可以扩容以太坊(例如,他们可以处理10倍的以太坊交易_而不降低安全性和分散性_)。问题是,虽然他们现在可以将以太坊扩展到10倍,但他们没有机制在不降低安全性和分散性的情况下超过10倍。相比之下,zkSync Era是基于零知识证明的,它具有 Optimistic 方法所不具备的重要特征--它们可以超大规模。

zkSync Era与其他zkRollups相比

虽然所有的零知识Rollups区块链都共享加密证明的基础技术,但有许多重要的区别。

**zkSync与Starkware.**当你比较zkSync和Starkware时,主要看到的是两种不同的策略,即zkSync优化与以太坊生态系统、技术和精神的兼容,而Starkware则以兼容性为代价优化理论上的性能优势。

  • EVM。 zkSync兼容EVM,而Starknet不兼容EVM。
  • 工具链。zkSync与工具链兼容,而Starknet不兼容,它要求人们学习一个全新的工具链,其核心是一种叫做Cairo的自定义语言。
  • 生态系统。zkSync的生态系统自然地与以太坊生态系统的所有工具集一起工作,而Starkware则试图用所有新的工具启动一个全新的生态系统。
  • 去中心化。zkSync拥抱去中心化,无论是在技术层面还是在组织层面,VS Starknet不拥抱去中心化。
  • 开源。 zkSync是完全开源的,而Starkware则不是开源的。

支持哪些钱包?

目前,我们支持任何基于Ethereum的钱包。默认情况下,zkSync Era门户网站上提供的选项是Metamask - 除了自动连接,你可以手动添加zkSync网络到你的Metamask。

Testnet network info

  • Network Name: zkSync Era Testnet
  • New RPC URL: https://zksync2-testnet.zksync.dev
  • Chain ID: 280
  • Currency Symbol: ETH
  • Block Explorer URL: https://goerli.explorer.zksync.io/
  • WebSocket URL: wss://zksync2-testnet.zksync.dev/ws

Mainnet network info

  • Network Name: zkSync Era Mainnet
  • New RPC URL: https://zksync2-mainnet.zksync.io
  • Chain ID: 324
  • Currency Symbol: ETH
  • Block Explorer URL: https://explorer.zksync.io/
  • WebSocket URL: wss://zksync2-mainnet.zksync.io/ws

我如何为testnet申请资金?

要获得testnet的资金,你可以使用(Faucetopen in new window)通过在推特上介绍我们,获得一些代币。请确保推特上的信息包含你的以太坊地址,我们将把资金发送到该地址,并且它不是你的主要以太坊账户。该龙头对新的Twitter账户和没有头像的账户将不起作用。

另外,您可以使用我们的桥梁open in new window将ETH从Goerli桥接到zkSync Era Testnet。

完成一笔存款交易需要多长时间?

zkSync Era上的交易不应超过5分钟。

我在哪里可以看到我提交的交易?

我们的区块浏览器open in new window将显示你可能需要的关于交易的一切。

有人能在zkSync Era的其他EVM网络中索取我的合约地址吗?

合约地址的推导公式与常规的EVM方法不同。即使合约从相同的账户地址部署了相同的nonce,zkSync Era的合约地址也不会和它在其他EVM网络中的地址相同。这意味着,例如,没有人能够声称你的协议现有以太坊地址,试图欺骗用户与恶意版本的协议互动。

因此,像我们在Optimism上看到的Wintermute那样的黑客是不可能的

zkSync Era的智能合约的存储限制是什么?

目前的限制是3600000000。

什么是zkSync Era的块状气体限制?

目前的值大约设置为2^32的Gas.
注意。这个值是暂时的,不久将被更新。

我可以把我的资金撤回到以太坊吗?

是的,这个桥梁是双向的。你可以把你的资金撤回到以太坊。提款交易最多需要1小时,取决于zkSync网络的使用情况。

什么是测试网ReGenesis?

有时,从事zkSync工作的团队会在testnet上启动再生机制--重新启动区块链,这将引入升级并将状态恢复到初始点。