编译:BlockUincorn??文章来源:zksync
介绍
面对最大的技术挑战,我们正朝着在EVM兼容环境中部署智能合约开始冲刺。测试网的第一个版本已经上线:您已经可以使用区块浏览器查看zkSync2.0上的活动。在这篇文章中,我们将深入解释每个关键组件、提供进度更新以及下一个版本的计划。https://zksync2-alpha.zkscan.io/
主要成就
在密码学方面,zkEVM的指令集已经完成,并且两个实现都完成了:在电路中和在执行环境中。
在编译器方面,用Solidity和Zinc编写的智能合约现在可以编译成zkEVM字节码。
在核心基础设施方面,全节点集成完成,能够成功部署和执行编译后的智能合约。
虽然?zkEVM和核心2.0基础设施已准备好公开,但编译器需要更多的工作来正确覆盖所有边缘情况。为了提供更全面的开发人员体验,我们决定在编译器100%可靠后立即开放对zkEVM、编译器和核心SDK的访问。
zkSync2.0与以太坊的比较
大多数事情看起来和感觉都一样。以下是一些重要的区别:
Solidity智能合约
支持以太坊中的大多数操作码!但是,也有一些例外:
数据:zkSync Era 链上独立地址数突破 100 万:6月30日消息,据 Dune 数据显示,zkSync Era 链上独立地址数已突破 100 万,现为 1,086,771 个,链上桥接 TVL 总额达到 562,299 枚 ETH。据欧科云链 OKLink 多链浏览器数据显示,当前 zkSync Era 链上地址总数为 2,846,469 个,总交易量约 423 万笔。[2023/6/30 22:10:55]
此版本不支持ADDMOD、SMOD、MULMOD、EXP和CREATE2操作码,但将来会支持。
我们暂时不支持KECCAK256操作码,而是会自动将其所有调用替换为对另一个抗碰撞哈希函数的调用。KECCAK256稍后将作为预编译引入。
我们决定不包含SELFDESTRUCT操作码,因为以太坊计划将其删除。
我们可能会取消对完整256位XOR/AND/OR操作码的支持,因为这些仅存在于已编译的用于位掩码的Solidity代码中。这可以由编译器使用其他操作码来完成。
费用
在zkSync2.0中,有一个不同的gas概念。交易价格将根据当前的L1gas价格和ZKP生成成本而波动。智能合约调用将具有最大数量的zkEVM步骤和存储写入参数。
Web3API
Aave社区发起“将V3部署至zkSync Era主网”的温度检查投票:4月13日消息,Snapshot投票页面显示,Aave社区发起“将Aave V3部署至zkSync Era主网”的温度检查投票,该提案目前支持率为97.3%,投票将于4月15日截止。
此温度检查投票为Aave治理提供了在zkSync Era主网上部署Aave V3的机会,并有限部署了初始资产:USDC和ETH。若此次投票通过,则进入ARFC阶段进行进一步讨论、风险参数评估网络分析和最终确定提案。如果ARFC阶段快照成功,则将该提案作为AIP提交以进行投票和链上治理批准。[2023/4/13 14:01:33]
下一个版本将包括我们的Web3API实现,它将与以太坊文档定义的Web3标准兼容。事件将开箱即用,所有服务都可以轻松集成。
zkSync包含L1没有的功能,例如已提交和最终块的概念。因此,将有其他方法可以让开发人员更精确地控制数据。Web3客户端代码将接收与以太坊相同的数据,但可以使用`zksync_`命名空间请求特殊信息。
由于zkSync?有多种交易类型,并且使用EIP712签名,因此`eth_sendRawTransaction`数据的格式会与L1不同。但是,编码对应于以太坊ABI,因此支持它并不困难。
签署交易
zkSync2.0中的交易可以通过两种方式进行授权:
zkSync发布生态进展更新:Celer Network已与zkSync 2.0测试网集成:11月21日消息,zkSync 发布生态系统的五个最新进展,包括跨链基础设施 Celer Network 已经与 zkSync 2.0 测试网集成,确认在 zkSync 的公平启动 Alpha 里程碑中增加了资产桥接和消息传递。MUX Protocol 的多链原生 DeFi 协议现已在 zkSync 2.0 测试网上运行。Pocket Network 确认其激励节点运行器网络即将进入 zkSync 生态系统。depocket.com 宣布其用户可以在其 DeFi 仪表板产品上跟踪 zkSync 的质押余额。BlockWallet 详细介绍了他们在零妥协 Web3 钱包中对 zkSync 2.0 测试网的支持的持续改进。[2022/11/22 7:53:49]
用户可以通过签署EIP712消息,使用他们的普通以太坊钱包签署交易。
任何账户都可以设置公钥来创建我们内部的Schnorr签名来签署交易。这允许基于智能合约的钱包与zkSync2.0进行交互,而无需发送L1消息的额外成本。
存储效率提升
每个块仅应用一次存储槽覆盖。这意味着如果多个用户与单个AMM合约交互,则AMM合约的存储槽只会被覆盖一次。这允许排序器稍后向用户退还单次写入的共享成本。
ZKSwap即将开启第四期流动性挖矿:据官方消息,ZKSwap第三期流动性挖矿(PoL)& 交易挖矿(PoT)活动于北京时间5月10日18时正式结束,活动期间,共有超过5,000名用户参与,共同瓜分了价值约500万美金的ZKS奖励,平台TVL也稳定在6亿美金以上,稳居Layer2项目锁仓量第一。
与此同时,ZKSwap也已同步开启第四期流动性挖矿(PoL)& 交易挖矿(PoT)活动,持续时间为北京时间5月10日18时至5月24日18时,第四期活动保留了第三期活动的热门交易对,并额外增加了ZKS相关交易对的奖励。另外,还将开放SHIB/ZKS、AKITA/ZKS交易对流动性挖矿,以满足更多用户的需求。
值得一提的是,为将更多挖矿奖励给到平台上活跃的忠实用户,此次活动用户需登陆 ZKSwap 平台并激活地址,才能开始挖矿,奖励也需用户手动领取。[2021/5/10 21:44:47]
预编译
“预编译”机制是计划中的,但将在稍后发布。我们计划首先支持keccak256、sha256哈希和ECDSA恢复原语。根据需求和复杂性,可以考虑包含其他预编译,例如Blake2f轮函数。
进一步的限制
zkSync2.0的第一次迭代可能会对每笔交易施加32次智能合约调用的额外限制,直到实施适当的记账机制。
Layer 2 交易协议 ZKSwap 完成对 Uniswap 流动性提供者的空投:3月3日消息,以太坊 Layer 2 交易协议 ZKSwap (ZKS)团队已于北京时间 3 月 3 日完成对 Uniswap 上 WBTC/ETH、ETH/USDC、ETH/ DAI、USDC/USDT 4 个交易币对流动性提供者的空投,空投共计覆盖约 10,000 个以太坊深度用户地址,每个地址发放 50 ZKS,合计发放约 56 万个 ZKS,价值 120 多万美金,目前已全部发放至用户以太坊地址的 Layer2 账户。符合发放条件的用户只需登陆 zks.app,连接并解锁钱包即可领取空投。另外,ZKSwap 也将于北京时间 3 月 6 日晚上 18:00 开启第一期流动性挖矿(PoL)和交易挖矿(PoT)活动。[2021/3/3 18:10:51]
执行跟踪将有一个硬性限制,但它与以太坊区块大小的当前限制相当,不应影响大多数协议。
可能还有更多限制,但我们的目标是在最终版本中将它们减少到绝对最小值。
深入了解zkSync2.0架构
您可能听说过区块链三难困境,但在扩展以太坊时,还有第四个因素:可编程性。所有当前的扩展解决方案都存在于为了可扩展性而牺牲一些安全性、去中心化和可编程性的范围内。zkSync2.0的设计结合了以下2项技术突破,最大限度地发挥了所有4项功能:
zkEVM:为我们与EVM兼容的zkRollup提供动力的引擎,这是唯一具有L1安全性和可靠性智能合约支持的解决方案。
zkPorter:一个链下数据可用性系统,其可扩展性比汇总高2个数量级。
由于zkEVM和?zkPorter是可互操作和可组合的,因此zkSync2.0能够显着优于所有其他扩展解决方案。
目前的共识是Eth2数据分片将在2022年底到来,以在不牺牲去中心化的情况下提供指数级更大的数据可用性层。zkSync的zkRollup技术结合Eth2数据分片是最终目标,在不牺牲4个因素中的任何一个的情况下达到100,000TPS。
状态树
zkSync2.0状态树覆盖了以太坊的完整160位地址空间。每个帐户将驻留在状态的zkRollup部分或zkPorter部分。zkRollup和zkPorter帐户完全相同,除了一个组件:保证数据可用性。zkRollup交易数据通过calldata发布到以太坊,zkPorter交易数据发布到zkSyncGuardian网络,zkSync代币持有者参与权益证明。
数据发布的地方是成本和安全性之间的权衡。zkPorter交易比汇总交易便宜得多,但它有可能导致您的资金被冻结。但是,zkRollup和zkPorter帐户的有效性都是通过零知识证明和以太坊来保证的。换句话说,zkPorter中的资金只能被冻结,不能被盗。
zkRollup和zkPorter帐户的互操作性和可组合性使每个用户都有机会成为zkSync中的一等公民。部署在zkRollup端的Uniswap可以通过zkPorter帐户访问以交换最低费用。zkSync2.0是一个系统,旨在供整个金融领域的用户参与。
密码学
我们的VM,最常被称为zkEVM,不是EVM1:1副本,而是旨在能够运行99%用Solidity编写的合约并保持其相同的行为,例如在恢复和异常期间。同时,zkEVM被编写为在电路中高效生成零知识证明。
这是在我们的证明系统没有任何重大变化的情况下完成的;我们继续将PLONK与自定义门和查找表以及以太坊的BN-254曲线一起使用。这是有利的,因为自2020年6月以来,该证明系统已经在zkSync1.0以及使用相同证明系统的其他项目中进行了实战测试。
再一次,我们很高兴地宣布,经过几个月的努力:zkEVM的指令集已经完成并在电路和执行环境中实现。
这里有一个重要的区别:电路和执行环境中的实现是分开的,用于不同的目的。电路的工作是生成执行跟踪的证明并提供证人,但这非常慢。另一方面,执行环境是zkEVM在rust中的直接实现,高效且快速。如果我们依靠电路来生成证明和执行,交易最终确定将需要几个小时。证明生成和简单执行的分离使zkSync上的交易能够即时结算。
接下来,我们专注于将zkEVM和编译器结合在一起,并将递归结合在一起:块之间的递归,它允许我们为N个块发布一个证明,以及块内的递归,它聚合块的不同逻辑部分的子证明.这是简单的部分!自2020年6月以来,zkSync1.0的主网上已在使用区块之间的递归聚合证明。有关区块内递归以及我们的zkEVM工作原理的更多信息,请观看此视频说明。
编译器
我们同时致力于两个针对zkEVM的编译器前端:Yul和Zinc。Yul是一种中间Solidity表示,可以为不同的后端编译为字节码。Zinc是我们用于智能合约和通用零知识证明电路的基于Rust的语言。
由于编译器是使用LLVM框架构建的,因此可以将其视为具有前端Yul→LLVMIR和后端LLVMIR→zkEVM字节码。LLVM的采用带来了几个主要优势:
LLVM优化框架无与伦比:它从LLVMIR生成最高效的zkEVM字节码。
使用较新版本的Solidity或Zinc,编译器前端将处理所有更改,而LLVM将使我们无需更改编译器后端。
未来,如果开发人员想用原生Rust或Javascript编写智能合约,只需为该语言构建编译器前端,智能合约就可以在zkSync中开箱即用。
编译器的安全性对我们来说至关重要,并且已经通过了多套测试:
Zinc和Yul编译器中的词法、语法和语义测试。
我们自己的Zinc和Solidity集成测试,贯穿整个智能合约生命周期:从解析源代码到合约部署和在zkSync上执行交易。
从Solidity存储库集成的广泛的测试套件,适用于我们的集成测试工具。
每个套件已经包含数千个测试,我们将把这个数字至少增加一个数量级。
我们的2个编译器已经成功部署并执行了两种语言的简单智能合约。但是还有更多的优化需要完成,一些复杂的LLVMIR语句需要转换为zkEVM字节码。因此,我们决定在编译器处于更健壮的状态之前不发布它。
编译器完成后,我们将专注于使Zinc更具表现力和功能更丰富,然后构建Rust编译器前端以允许使用原生Rust编写智能合约。
核心基础设施
zkSync2.0核心由几个关键角色组成:
完整节点
通过虚拟机的zkEVM字节码的预电路执行器环境
该状态在交易发送后的几秒钟内可用,
过滤掉可能导致区块膨胀的明显不正确的交易,
在内存池中执行交易并生成区块。
证明者
接收区块的见证人并生成零知识证明,
用于并行证明生成的证明者接口,
自定义证明者自动缩放器,可根据需要创建和终止证明者机器。
交互器
用于观看和与以太坊L1交互的工具,
根据代币价格、ZKP生成成本和L1gas价格计算交易费用。
偏执监视器
Prometheus、elastic、sentry、uptime、几个独立的事件通知系统和????自定义健康检查服务。这个核心基础设施功能齐全,已经集成了zkEVM执行器。
本文来自Glassnode,作者为LukePosey,并经由胡韬编译。借贷是DeFi生态最重要基石之一,Aave、Compound和Maker等项目长期处于主导地位,但同时也出现许多颇具创新的借.
1900/1/1 0:00:00互联网内容的可持续性面临两个基本问题:寻址和持久性。寻址是指互联网用户可以通过何种方式找到他们在网上寻找的内容.
1900/1/1 0:00:00MERC水星币四大创新机制引领IDO新征程!MERC水星币四大创新机制引领IDO新征程!水星币MERC是币安系新一代的宇宙代币,采用了创新的持币分红,交易燃烧,邀请返佣,锁仓释放等机制.
1900/1/1 0:00:00据官网消息,谷歌取消了2018年禁止加密货币交易所和钱包投放广告的政策,并发布广告政策更新,明确说明允许针对加密货币相关业务和服务放送广告的范畴和规定.
1900/1/1 0:00:00近期,二层网络扩容方案Arbitrum动作频繁,让原本平静的Layer2生态顿时热闹起来,不禁让人有种以太坊扩容方案正在步步临近的感觉.
1900/1/1 0:00:00亲爱的Dcoin用户:???????为了保障社区用户的交易体验,规范市场交易行为,保护投资者权益,Dcoin系统会通过多维度特征识别判断使用多个账户、设备进行非法套利的用户.
1900/1/1 0:00:00