原文作者:水多多|zkSync
我可以把你比作夏日吗?
你的可扩展性和安全性更高。
狂风确实震撼了五月亲爱的心灵,
夏天的租约日期太短了。
——中本聪莎士比亚,2021
面对最大的技术挑战,我们开始在与 EVM 兼容的环境中部署智能合约。测试网的第一个版本已经上线:您已经可以使用区块浏览器查看 zkSync 2.0 上的活动。在这篇文章中,我们将深入解释每个关键组件、提供进度更新以及下一个版本的计划。
在密码学方面,zk EVM 的指令集已经完成,两种实现都完成了:在电路中和在执行环境中。
在编译器方面,用 Solidity 和 Zinc 编写的智能合约现在可以编译成 zkEVM 字节码。
在核心基础设施方面,全节点集成已完成,能够成功部署和执行已编译的智能合约。
虽然 zk EVM 和核心 2.0 基础设施已准备好公开,但编译器需要做更多工作才能正确覆盖所有边缘情况。为了提供更全面的开发者体验,我们决定在编译器 100% 可靠后立即开放对 zkEVM、编译器和核心 SDK 的访问。
大多数东西看起来和感觉都是一样的。以下是一些重要的区别:
支持以太坊中的大多数操作码!但是,也有一些例外:
此版本不支持 ADDMOD、SMOD、MULMOD、EXP 和 CREATE2 操作码,但将来会支持。
CZ:个人没有深入参与BNB Chain的研发是希望能维持去中心化:3月8日消息,Binance 创始人 CZ 在 AMA 中发言表示,个人没有深入参与 BNB Chain 研发的原因之一是因为希望 BNB Chain 维持去中心化,自己平常更专注于处理 CEX 的事,未来有充裕时间也会关注 BNB 生态。[2023/3/8 12:49:54]
我们暂时不支持 KECCAK256 操作码,而是自动将其所有调用替换为调用另一个抗冲突哈希函数。KECCAK256 稍后将作为预编译器引入。
我们决定不包含 SELFDESTRUCT 操作码,因为以太坊计划将其删除。
我们可能会删除对完整 256 位 XOR/AND/OR 操作码的支持,因为这些操作码仅存在于已编译的用于位掩码的可靠代码中。这可以由编译器使用其他操作码来完成。
在 zkSync 2.0 中,有一个不同的 gas 概念。交易价格将根据当前的 L1 gas 价格(由于发布调用数据)和 ZKP 生成成本而波动。智能合约调用将具有最大数量的 zk EVM 步骤和存储写入参数。
下一个版本将包括我们的 Web3 API 实现,它将与以太坊文档定义的 Web3 标准兼容。事件将开箱即用,所有服务都可以轻松集成。
zkSync 包括 L1 没有的功能,例如提交和最终块的概念。因此,将会有额外的方法让开发人员更精确地控制数据。Web3 客户端代码将接收与您在以太坊上相同的数据,但可以使用「zksync_」命名空间请求专门的信息。
南宁市深入推进“区块链+”人社应用和“打包快办”服务改革:8月20日,南宁市人社局召开专题党组会,传达学习市委十二届十次全体(扩大)会议精神,并就抓好贯彻落实作出部署。会议强调,局系统广大党员干部要将思想认识统一到市委决策部署上来,将学习贯彻市委十二届十次全体(扩大)会议精神和年度工作任务相结合,扎实推进各项中心工作;抓重点攻难点,切实保障和改善民生,千方百计保就业,兜住基本民生底线,深入推进“智慧人社”工作,深化“一门式”服务改革,深入推进“区块链+”人社应用和“打包快办”服务改革,确保完成全年目标任务。(南宁日报)[2020/8/23]
因为 zkSync 有多种交易类型,并且使用 EIP712 签名,所以 `eth_sendRawTransaction` 数据的格式会与 L1 不同。但是,编码对应于以太坊 ABI,所以支持它并不困难。
zkSync 2.0 中的交易可以通过 2 种方式授权(除了优先队列机制):
用户可以通过签署 EIP712 消息,使用他们的普通以太坊钱包(例如 Metamask 或任何 WalletConnect 钱包)签署交易。
任何帐户都可以设置一个公钥来创建我们的内部 Schnorr 签名来签署交易。这允许基于智能合约的钱包与 zkSync 2.0 进行交互,而无需发送 L1 消息的额外费用。
每个块仅应用一次存储槽覆盖。这意味着如果多个用户与单个 AMM 合约交互,则 AMM 合约的存储槽将仅被覆盖一次。这允许定序器在以后向用户退还单次写入的共享成本。
江苏银行年报:将对区块链等技术持续深入研究:4月20日消息,日前,江苏银行年报指出,江苏银行将不断优化IT治理体系,加快重大创新项目建设,对5G、区块链、人工智能等技术持续深入研究,在互联网贷款、智能投顾、线上票据贴现、线上动产质押、跨境业务等领域落地的产品扩面成势。(经济参考网)[2020/4/20]
「预编译」机制已计划好,但稍后会发布。我们计划首先支持 keccak256、sha256 哈希和 ECDSA 恢复原语。可以根据需求和复杂性考虑包含其他预编译,例如 Blake2f 轮函数(在当前形式的以太坊中几乎无法使用)。
zkSync 2.0 的第一次迭代可能会对每笔交易施加 32 次智能合约调用的额外限制,直到实施适当的记账机制为止。
执行跟踪将有一个硬限制,但它将与以太坊块大小的当前限制相当,并且不应影响大多数协议。
可能会有更多限制,但我们的目标是在最终版本中将它们减少到绝对最低限度。
你可能听说过区块链三难困境,但在扩展以太坊时,还有第四个因素:可编程性。当前所有的扩展解决方案都存在于牺牲一些安全性、分散性和可编程性以实现可扩展性的范围内。zkSync 2.0 的设计结合了以下 2 项技术突破,最大限度地发挥了所有 4 项功能:
zk EVM:为我们与 EVM 兼容的 zkRollup 提供动力的引擎,这是唯一支持 L1 安全性和可靠智能合约的解决方案。
声音 | 天津市委常委:区块链等科技同经济等深入协同,城市建设步入城市化3.0的时代:据环球网报道,以“科技赋能城市与区域治理创新”为主题的天津论坛2019于19日在天津拉开帷幕。天津市委常委、教委工委书记于立军表示,智慧是城市的灵魂,是城市的精气神,当前新一轮科技革命和产业变革不断推进,特别是人工智能、区块链和云科技同经济、社会、文化、生态深入协同,城市建设步入了城市化3.0的时代。[2019/10/20]
zkPorter:一个链下数据可用性系统,可扩展性比 rollups 高 2 个数量级。
由于 zkEVM 和 zkPorter 是可互操作和可组合的,zkSync 2.0 能够显着优于所有其他扩展解决方案。
目前的共识是Eth2 数据分片将在 2022 年底到来,以在不牺牲去中心化的情况下提供指数级更大的数据可用性层。zkSync 的 zkRollup 技术与 Eth2 数据分片相结合是最终目标,在不牺牲任何 4 个因素的情况下达到 100,000+ TPS。
zkSync 2.0 状态树覆盖了以太坊的全部 160 位地址空间。每个帐户将驻留在状态的 zkRollup 部分或 zkPorter 部分。zkRollup 和 zkPorter 账户完全一样,除了一个组件:保证数据可用性。zkRollup 交易数据通过 calldata 发布到以太坊,zkPorter 交易数据发布到 zkSync Guardian 网络,zkSync Token持有者参与权益证明。
五粮液牵手IBM 将在区块链等方面展开深入合作:近日,在宜宾举行的五粮液(000858.SZ)数字化转型项目启动大会上,五粮液和IBM双方表示,将在区块链、云计算、人工智能等领先科技方面进行深入的合作应用,借用IBM丰富的行业数字化转型经验和技术,按照“年轻化”“低度化”“数字化”“国际化”的创新思维,带动酒业乃至及“大机械、大物流、大包装、大金融、大健康”五大板块快速有序发展,助力五粮液构建“智慧商业”模式,实现高质量发展。[2018/4/29]
发布数据的地方是成本和安全性之间的权衡。zkPorter 交易比汇总交易便宜得多,但它有可能冻结您的资金。然而,zkRollup 和 zkPorter 账户的有效性都是通过零知识证明和以太坊来保证的。也就是说,zkPorter 中的资金只能被冻结,不能被盗。
zkRollup 和 zkPorter 账户的互操作性和可组合性让每个用户都有机会成为 zkSync 中的一等公民。部署在 zkRollup 端的 Uniswap 可以通过 zkPorter 账户访问以换取最低费用。zkSync 2.0 是一个系统,专为整个金融领域的用户而设计。
我们的 VM,通常称为 zkEVM,不是 EVM 1:1 副本,而是旨在能够运行 99% 的用 Solidity 编写的合约并保持其相同的行为,例如在恢复和异常期间。同时,编写 zk EVM 以在电路中高效地产生零知识证明。
这是在我们的证明系统没有任何重大变化的情况下完成的;我们继续将 PLONK 与自定义门和查找表(通常称为 UltraPLONK)和以太坊的 BN-254 曲线一起使用。这是有利的,因为自 2020 年 6 月以来,该证明系统已在 zkSync 1.0 以及使用相同证明系统的其他项目中进行了实战测试。
经过数月的努力,我们再次激动地宣布:zkEVM 的指令集已经完成并在电路和执行环境中实现。
这里有一个重要的区别:电路和执行环境中的实现是分开的,用于不同的目的。生成执行跟踪的证明并提供见证是电路的工作,但这非常慢。另一方面,执行环境是 rust 中 zk EVM 的直接实现,高效且快速。如果我们要依靠电路来生成和执行证明,那么交易的最终确定性将需要数小时。证明生成和简单执行的分离使得 zkSync 上的交易能够即时结算。
接下来,我们专注于将 zkEVM 和编译器结合在一起,并将递归结合在一起:块之间的递归,它允许我们为 N 个块发布一个证明,块内的递归,它聚合块的不同逻辑部分的子证明. 这是简单的部分!自 2020 年 6 月以来,zkSync 1.0 的主网上已经使用了块之间的递归聚合证明。有关块内递归以及我们的 zk EVM 如何工作的更多信息,请观看此视频说明。
我们正在同时开发两个针对 zkEVM 的编译器前端:Yul 和 Zinc。Yul是一种中间 Solidity 表示,可以编译为不同后端的字节码。Zinc是我们用于智能合约和通用零知识证明电路的基于 Rust 的语言。
因为编译器是使用LLVM框架构建的,所以可以认为它具有前端 Yul LLVM IR 和后端 LLVM IR zkEVM 字节码。采用 LLVM 带来了几个主要优势:
1、LLVM 优化框架无与伦比:它从 LLVM IR 生成最高效的 zkEVM 字节码。
2、使用较新版本的 Solidity 或 Zinc,编译器前端将处理所有更改,而 LLVM 将使我们脱离对编译器后端的更改。
3、将来,如果开发人员想用原生 Rust 或 Javascript 编写智能合约,只需构建该语言的编译器前端,智能合约就可以在 zkSync 中开箱即用。
编译器的安全性对我们来说至关重要,并且已经通过了多套测试:
1、Zinc 和 Yul 编译器中的词法、语法和语义测试。
2、我们对 Zinc 和 Solidity 的集成测试贯穿整个智能合约生命周期:从解析源代码到合约部署和在 zkSync 上执行交易。
3、从 Solidity 存储库集成的广泛测试套件,并适用于我们的集成测试工具。
每个套件已经包含数千个测试,我们将把这个数字至少增加一个数量级。
我们的 2 个编译器已经成功部署并执行了两种语言的简单智能合约。但是还有更多的优化需要完成,一些复杂的 LLVM IR 语句需要翻译成 zkEVM 字节码。因此,我们决定在编译器处于更强大的状态之前不发布它。
编译器完成后,我们将专注于让Zinc更具表现力和功能丰富,然后构建 Rust 编译器前端以允许使用原生 Rust 编写智能合约。
zkSync 2.0 核心由几个关键角色组成:
通过虚拟机实现 zkEVM 字节码的预电路执行器环境
状态在交易发送后几秒钟内可用
过滤掉可能使区块膨胀的明显不正确的交易(例如,交易资金不足)
在内存池中执行交易并生成块
接收区块的见证人并生成零知识证明
用于并行证明生成的证明者接口
自定义证明者自动缩放器,可按需创建和终止证明者机器
用于观看和与以太坊 L1 交互的工具,
Prometheus、elastic、sentry、uptime、几个独立的事件通知系统和自定义健康检查服务。
这个核心基础设施功能齐全,已经集成了 zkEVM 执行器!
编译器完成后,我们将一起共享对所有组件的访问权限!开发人员将能够部署 Solidity/Zinc 智能合约并通过 Web3 API 进行交互。
如果说速生速死是互联网的永恒特征,那在Web3 的世界,生与死的轮换周期被压缩到了更极致:一个Web3 项目从生到死可能只有短短半年、甚至更短.
1900/1/1 0:00:00Optimism 的经济模型中设立了公共产品追溯资助。项目方可提案申请 Optimism Collective 资助.
1900/1/1 0:00:00Aptos 获得 2 亿美元融资后,在市场较为萧条的当下又完成了 1.5 亿美元融资,展现着 Aptos 非同一般的潜力.
1900/1/1 0:00:00随着元宇宙、Web3.0概念的兴起以及区块链等技术的发展,全球数字经济进入新的阶梯,这其中数字藏品无疑是最具代表性的产物.
1900/1/1 0:00:00以太坊合并是备受期待的升级,它将见证该区块链从工作量证明过渡到权益证明,被誉为加密货币行业历史上最大的升级之一,并将开启以太坊作为现代和环保区块链的新纪元.
1900/1/1 0:00:001.金色前哨 | 加息落地 鲍威尔发表提振市场言论 BTC短时上涨美联储结束了为期两天的会议,美联储主席杰罗姆鲍威尔宣布再次加息 0.75 个百分点,因为决策者试图为几十年来的高通胀水平降温.
1900/1/1 0:00:00