网络拥堵和以太坊的高昂手续费已经为兼容 EVM 的 Layer2 项目和 L1 竞争对手创造出了一个成熟的市场。因为开发者几乎不需要换用工具就可以部署去中心化应用,而且被以太坊主网的高价赶走的用户也欢迎这类解决方案,这些方案得以标榜自己是吞吐量升级路上的先行者。
但是这类解决方案往往也面临严峻的安全取舍。侧链技术依赖于(与主网)独立的共识机制,因此引入了验证者团体可以合起伙来偷盗或冻结用户资金的问题。这些风险在眼下可能并不显著,但是会随着时间推移而逐渐累积。一次成功的攻击就足以对企业和用户造成致命的影响。
去中心化交易所(DEX)和借贷协议差不多是以太坊网络最大的消费者,超过 290 亿美元锁在三个最大的借贷协议内,而撰文之时,DEX 的月交易额超过 650 亿美元。为了容纳今天锁在 DeFi 应用内的数十亿美元,以及未来从传统金融领域迁来的数万亿美元,扩展吞吐量的方案应该有能力协助全方位的经济活动,同时,其可保护的资金数量应该是没有上限的。
面向未来的扩展技术应该最大限度地依赖于基础层的安全性(而 侧链 没有做到)、尽量少地依赖于 博弈-信任 假设(optimistic rollup 和 Plasma 没有这样做)。这就是为什么我们相信 zk-Rollup 是长期中唯一可行的扩展方案。
像 zk-Rollup 这样使用 “有效性证明” 的系统(中文译本),在根本上 杜绝 了包含无效事务的可能,这就极大地降低了攻击者可以抽取的价值。zk-Rollup 是唯一依赖于密码学安全性的扩展方案,无论系统中锁定了多少价值,都可以保持健壮。密码经济学安全保证(“欺诈证明”)正好相反,每当恶意行为比诚实行为更有利可图时,系统就开始崩溃。
密码经济学在启动一个生态时是有用的,而且在设计更高层的协议仍会有一席之地。但是,若是用作扩展方案的安全机制,我们相信,最终来说它只是通用可编程的 zk-Rollup 出现以前的一种过渡方案。因为它(通用可编程的 zk-Rollup)可以容纳主流的应用场景,提供完全的可组合性,而且不会有当前的方案所面临的风险。这正是我们 Matter Labs 一开始推出 zkSync 时候的愿景。
zkSync 是第一种通用、开源、兼容 EVM 的 zk-Rollup 方案。对于协议和应用开发者来说,zkSync 会提供一个自动化的编译器,将 Solidity、Vyper 智能合约转化成 zkEVM 的字节码,这也意味着,在 zk-Rollup 上部署和维护已经过实战测试的代码,只需极小的额外负担。EVM 兼容也使得钱包和其他生态基础设施(例如 Etherscan 和 Infura)易于集成 zkSync。
zkSync 的吞吐量可达每秒 3000 笔,有这个限制,是因为 zk-Rollup 需要在链上公开数据,而以太坊的链上数据容量是有限的。为了适应网络活动和用户活动的多样性,我们还有一种额外的协议 —— zk-Porter —— 它的数据只在链下公开,所以吞吐量可达每秒 20000 笔。
两个网络的节点都可以跟对方互操作,但 zkPorter 的使用成本会便宜 100 倍(比如,一笔 Uniswap 交易的手续费小于 0.03 美元)。用户可以根据自己对安全性和成本的偏好选择使用 zk-Rollup 或 zkPorter,每笔交易都可以选 —— 偏好安全性的可以选择在 zk-Rollup 上操作,反之,喜欢便宜的可以选择 zkPorter。
在中期,zkPorter 解决了数据可得性问题,提高了 zkSync 的吞吐量和用户体验,而没有牺牲现有扩展方案的关键安全属性。网络的参与者(叫做 “守护者”)要锁定押金,在破坏数据可得性时候要受罚。在未来,zkSync 可以与 Eth 2.0 的高级分片技术结合而变得更加强大。在这种范式下,数据可得性会与网络的安全性紧密耦合,因为数据可得性层是由以太坊网络自身来保护安全的。
因此,zkSync 不仅解决了安全扩展的问题,可以处理眼前乃至中期的需求,其路线图还增强了以太坊的长期计划。zkSync 和 Eth2.0 分片最终可以相互结合,帮助我们实现扩展效果最大化、去中心化牺牲最小化的愿景。
“矿工可抽取价值(MEV)”问题以网络手续费居高不下和 “三明治攻击” 用户为表现形式,在牺牲普通用户利益的同时造成了巨大的价值泄露。为了缓解这一问题,Matter Labs 计划在 zkSync 未来的版本中引入 时间锁加密 技术。这一功能可以防止任何人(包括区块生产者)在交易上链前看到事务的实际内容。
这种基于隐私性来缓解 MEV 问题的做法正好是 Matter Labs 的拿手好戏,因为其所依赖的密码学元件与保护协议本身的那些属于同一谱系。
此外,让 zkSync 实现通用可编程性的递归的 PLONK 电路,作为一种内置的、低成本的办法,可以让智能合约容易验证零知识证明。隐私特性的原生支持意味着,隐私交易(比如 Tornado Cash)在 zkSync 上使用起来可以更便宜(比起在 optimistic rollup 上使用)。
由于缺乏成熟的跨链方案,DeFi 世界的流动性碎片化仍然是扩展方案要真正赢得市场的主要障碍。随着扩展方案的增多,我们预计,短期内,DeFi 应用将会同时存在于多个 L2 上(当然在 L1 上也会继续存在),只要在不同的网络上维护代码的开销仍然很低。
至于通用可编程的拓展方案,代码可移植和用户体验将赢得大部分项目的欢心。侧链的迅速流行证明了,长尾的开发者会为了将应用快速推向市场而选择阻力最小的路径。
Matter Labs 将会与那些想要在产品内集成 zkSync 的尝鲜团队紧密合作,打造尽可能平滑的开发和部署体验。
在中长期,扩展方案在性能和终端用户体验上的差异将逐渐湮灭,仅存的差别是安全性保证,以及他们在这段时间里建立起来的网络效应。考虑到这个行业的成长空间,应用开发者和高价值的流动性提供者会选择能够提供更强安全性保证的扩展方案。
zkSync 通过收取交易费来实现盈利,这些手续费用于证据验证和数据公开(链上),以及状态存储和证明生成(链下)。叫做 “验证者” 的网络参与者负责生成零知识证明,而 “守护者” 负责提名验证者、监控 P2P 事务流量以及检测审查行为。
验证者和守护者都需要锁定一种原生的协议 token 才能参与进来,好处是可以获得网络的手续费。zkSync 的事务处理量越高,网络从手续费中获得的利润就越高。原生的协议 token 为用户赋能,让用户可以成为网络的服务提供商 以及/或者 参与网络的治理。代币化让 zkSync 可以保持最小限度但可持续的价值抽取 —— 用户可以同时成为利益相关者、运营者和网络的所有者。
本着去中心化的精神,同样重要的是参与网络安全机制的软件要求和硬件要求保持低水平,这样用户才有可能真正参与进来。因此,守护者可以选择仅跟踪一小部分的交易,只需普通的笔记本电脑或者云服务器即可胜任。我们也预计会有人在云服务中提供基于 FPGA 的硬件加速服务,这样就有更多人可以成为验证者。
zkSync 在 2021 年上半年已经达成了多个关键的里程碑。第一个是放出 zkSync 1.x,提供了原生的铸币、转账和 NFT 的原子化互换功能。最近,zkSync 2.0 (中文译本)在公开测试网上启动,提供了 EVM 兼容性已经 Solidity/Viper 的代码转化功能。
接下来的里程碑包括:
zkSync 2.0 主网启动,引入协议 token 及其流动性挖矿程序。
引入时间锁加密功能以缓解抢跑问题、最小化 MEV 问题
基于 FPGA 的硬件加速以缩短证明的生成时间
隐私特性
ZincVM 原生 Rust 支持
原文链接:
https://medium.com/1kxnetwork/zksync-scalability-without-compromising-security-a86a67d5cc2
作者: Nichanan Kesonpat
翻译: 阿剑