作者 | Alex Gluchowski
什么是 zkSync?
zkSync 是一个用于以太坊扩容的无信任协议,由 zkRollup 技术驱动。它使用零知识证明为以太坊解决扩容、数据可用性和隐私等问题,且所有数据都不会离开主网。
虽然安全和去中心化是 Matter Labs 的考虑的优先事项,但用户和开发者体验是 zkSync 设计的核心。我们正在思考如何消除以太坊中的用户摩擦和复杂性。我们认为,用户和构建者都会发现 zkSync 是以太坊领域最灵活、最方便的工具。
从比赛的角度看 zkSync
扩容
zkSync v1.1 是一类 zkRollup,在如今的以太坊主网上可以实现达到最高 3000TPS 的峰值容量。虽然指望 zkRollup100% 全速运行是不现实的(因为 rollup 与其他交易共享 Eth 区块空间),但即使 25% 的区块空间利用率也足以支持所有 500,000,000 Reddit 用户的代币分发和订阅。
3,000 TPS 是一个开始,但我们预计以太坊用户的增长会让摩尔定律再次生效。为了让以太坊为数十亿用户做好准备,Matter Labs 提出了对 zkSync 的扩展,我们称之为 zkPorter。zkPorter 将允许协议将自己提升为分片,其交易吞吐量甚至超过 zkSync 的 10-100 倍。
安全
与现有的 Layer2 扩容解决方案相比,zkRollup 提供了无与伦比的安全性。一个简单的试金石:一个协议 X 是否需要参与者主动工作以保证其资产安全?如果答案是肯定的,那么安全措施总是会出问题,资金也会流失。
据我们所知,zkRollup 是唯一一个提供被动安全保障的协议:数据的可用性与用户活动隔离,确保资金与底层 Layer1 一样安全。
值得指出的是,zkSync 依赖于最近的加密技术,这引入了协议风险。具体来说,zkSync v1.1 采用了 2019 年开发的通用 SNARK PLONK (又名 SNORK)。虽然该系统的密码学假设被广泛认为是安全的,但它确实需要通过多方计算仪式获得的一次性可信设置。
为了给我们的 zkSync 生产测试版提供熵源,Matter Labs 参加了 AZTEC Ignition 社区的可信设置仪式。有超过 200 人参加,包括以太坊基金会、Consensys、Vitalik 等代表。可信设置对我们的用户来说意味着,如果至少有一个参与者诚实地参与了设置程序(通过在通用参考字符串中提供熵),那么整个网络就会永久地获得密码学上的安全。Reddit 可以作为参与者加入到 zkSync 使用的 Ignition 设置中,为 Reddit 社区提供进一步的安全保障。
完美是短暂的。zkSync 将发展到不需要信任的设置。这就是为什么 Matter Labs 的研究人员设计并实现了 RedShift:一个透明的 SNARK。zkSync 的未来版本将使用 RedShift,因为我们预计 RedShift 的性能将达到或超过 PLONK 上的可能。
zkSync 的协议、加密技术和智能合约已经通过了该领域最知名的安全公司之一的审核。ABDK 咨询公司(由 Poseidon 哈希函数的共同作者创立)。
去中心化
我们在 Matter Labs 的使命是加速公链的大规模应用。自由和自我主权是我们公司的基本价值观。我们在这里打击中心化的权力聚合,以及潜在经济和监视控制。我们不会停止,直到世界上每一个人都能不折不扣地、私密地访问开放的、无权限的、无审查的全球数字经济网络。
我们认识到,在这条道路上,取舍是不可避免的--但我们非常谨慎地选择我们的取舍。互联网最初是一个自由和中立的空间。到了 2020 年,它的大部分基础设施都被少数大公司所控制。我们需要避免让大玩家主导金融互联网。
zkSync 在 Layer1 的部分 100% 抗审查:因为在 Layer1 处保证了数据的可用性,所以任何验证者都无法阻止用户收回资金。正因为如此,也因为 Layer2 才刚刚开始,我们发现遵循渐进式去中心化的道路,最初推出 zkSync 的时候是可以接受的,并采用了权限验证器。验证区块的权利是由 zkSync 治理智能合约授予的。
最终,生态系统的健康取决于真正的去中心化 Layer2 (不接受任何替代品!)。由于大多数交易最终将在 Layer2 上进行,因此,未能将权限分散到 Layer2 上,就是未能将以太坊分散。Matter Labs 致力于让 zkSync 在 Layer2 上具有很强的抗审查能力。为了实现这一目标,我们正在构建一个可扩展的多验证者共识,并建立一个独立的审查-预防机制。
可用性
可用性是 zkSync 的优势所在。
将 zkSync 与现有的钱包一起使用是最简单不过的了。一个 zkSync 交易需要一个单一的 zkSync 专用秘钥来进行签名。对于钱包提供商来说,与 zkSync 的集成只需要几行代码。
zkSync 的最终性与以太坊的最终性紧密结合--用户最多等待几分钟就能看到自己的交易结算(包括退出)。"zkSync " 不依赖流动性提供商来加速用户退出,用户也不必定期登录 " 检查 " 自己的资金,以保证资金安全,防止恶意退出企图。最重要的是,zkSync 的 Gas 费比 Layer1 降低了约 100 倍。
zkSync 原生支持元交易:费用可以在被转移的同一区块中支付。在我们的 zkSync v1.1 更新中,我们增加了第三方在任何费用中支付交易费用的选项。例如,Reddit 可以用 ETH、DAI 或任何 ERC20 为其用户付费。
zkSync 具有直观的 Web 客户端和全面的区块浏览器。
互操作性
zkSync 可与任何支持 web3 的钱包(如 MetaMask 或 WalletConnect)配合使用。
zkSync 的 API 和 SDK 是开放的,无权限的,并且有完整的文档。
zkSync 可与 Layer1 上的智能合约互操作。
随着 Zinc 的发布--一个零知识友好的智能合约编程框架--zkSync 将能够直接将智能合约集成到 Layer2 中。
智能合约如何释放递归零知识证明的纯粹力量,一个很好的例子就是投票。一个涉及数百万社区成员投票的决定--投票权在 zkSync 上被代币化--可以通过一个 Layer1 智能合约来验证,成本是 51 万个 Gas!
zkSync v1.1 的新特性
递归:最高 3,000TPS;
zkSync v1.0 由 PLONK 提供技术支持,需要一次性信任设置。在信任设置上,我们采用了有 200 多人参加的 MPC 会议的成果。设置的体积必须保持相对较小,以使参与实用。不幸的是,这限制了一个区块的 zk 证明的最大尺寸,因此 zkSync 的最大吞吐量被限制在约 300 TPS。
为了解除这一限制,我们实现并完全集成到 zkSync 中的递归 PLONK 验证!现在,一个聚合区块可以验证多达 20 个正常区块,只有这最后一个证明需要在链上提交。之前的区块实现无需修改:它仍然包含相同的审核代码。
在我们的 zkSync "Reddit 版 " 负载测试中,只向智能合约提交了递归证明,将零知识证明开销降低到了每次转账 40Gas (在 EVM 中,一次 PLONK 证明验证需要 51 万 Gas)。现在,添加一个可以验证其他聚合区块的元块也是小事一桩,可以让 zkSync 将任意多块聚合成一个证明,将证明开销降低到每笔交易只有 1 个 gas。
现在 zkSync 中的纯数据可用性成本是每次传输 320Gas。随着我们的验证器节点和智能合约的进一步小改动,以将提交的数据批量化在一起--这些改动没有包含在本月的冲刺中,因为它已经非常紧凑--zkSync 的容量将被放大到 Ethereum 施加的最大限制:3000 TPS (假设 13 秒 Eth 区块间隔和 12,5M 区块 Gas 限制)。
交易批处理
用户体验应该是简单和便捷的。我们希望 zkSync 能够无缝集成到所有已有的钱包和支付工具中。我们已经使在被转移的代币中支付交易费用成为可能。如果用户只拥有 DAI,应该不需要额外拥有 ETH 来支付气费。
虽然用户一般可以用任何代币支付交易费用,但有几个例外。市场流动性不足的代币(即相对不常见的代币)将不得不用流动性较高的代币支付 Gas 费。其次,当第三方为其用户补贴交易费用时,第三方可以用它喜欢的任何代币支付交易费用,无论用户的货币是什么。
为了支持这一功能,我们引入了交易批处理。交易批处理将一组交易捆绑成单笔交易,担保人支付的费用也会相应减少。Reddit 可以使用这个功能来支付社区积分转账的交易费用。
Alex Gluchowski 作者
Edward 翻译
Edward 编辑
内容仅供参考 不作为投资建议 风险自担
版权所有 未经允许 严禁转载
☟☟☟
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:分享区块链领域专业、前沿、有趣的内容
评论0条