Scroll 是一个新的 Layer-2 解决方案,旨在提供无限的可扩展性、极快的确认延迟、完全的去中心化和无需信任的隐私。它通过构建在 zk-Rollup 和高性能的链下分布式系统之上来实现这一点,并进行了一些关键改进,包括新的分层零知识证明系统架构、Layer 2上的 DApp 的一种新交互模型和一个新的Layer 2 挖矿机制。
本文已过时!我们对我们的路线图和技术进行了巨大而显著的修改。请参阅新的概述 here 。
Scroll 是一种新的 Layer-2 解决方案,旨在提供无限的可扩展性、闪电般快速的确认延迟、完全的去中心化和无需信任的隐私。它通过构建在 zk-Rollup 和高性能 off-chain 分布式系统之上来实现这一点,并进行了一些关键改进:
我们希望通过降低交易费用和提高交易速度来支持以太坊网络上现有的领先 DeFi 项目。立即联系 bd@scroll.tech 与我们集成。
去年见证了区块链上各种 DApp 的爆炸式增长。它们允许完全的去中心化和可编程性,并且随着市值的提高而变得越来越有价值。例如,去中心化金融 (DeFi) 是一种基于区块链的金融系统,最近越来越受欢迎。DeFi 中锁定的总价值已超过 250 亿美元,并且仍在快速增长。
用于开发 DApp 的最大和最去中心化的平台是以太坊。然而,由于目前大约每秒 20 笔交易 (TPS) 的吞吐量限制,以太坊在高峰使用时段经常会遇到严重的拥堵。这对用户体验产生了严重的负面影响。例如,每笔交易可能会花费 20 美元的 gas 费,这对于普通用户来说是难以承受的。
Scroll 是一种新的 Layer-2 解决方案,旨在解决以太坊中的问题并启用更多功能,例如更严格的隐私。Scroll 的团队成员来自世界著名的大学,在计算机系统、硬件、区块链和密码学方面拥有强大的背景。我们的使命是通过创建一个利用 zk-Rollup 的更高效的解决方案来共同解决这个问题。我们提出了一种新的分层零知识证明系统架构、一种新的 Layer 2 上 DApp 交互模型和一种新的 Layer 2 挖矿机制。
我们相信我们的解决方案可以在未来提供最佳的用户体验,包括最低的费用和最快的交易速度。背景
zk-Rollup 是最流行和最常用的 Layer-2 解决方案。
Hermez Network、zkSwap 和 Loopring 正在使用具有不同底层零知识证明系统的 zk-Rollup 来定位可扩展的支付用例(代币转账、AMM 和 DEX)。但是,它们依赖于特定于应用程序的 circuits,并且无法支持通用 DApp。
zkSync 可以使用 SyncVM 和 Zinc 编译器来支持 DApp。但是,它们的交易吞吐量受到 on-chain 存储的限制,并且由于其底层证明系统,证明生成成本很高。StarkWare 还使用 Cairo 编译器来支持 DApp,但是它们的证明大小很大并且 on-chain 验证成本非常高。
我们的方案通过使用更高效的分层(可能是递归的)零知识证明系统和一种新颖得 Layer-2 挖矿机制来缓解上述问题。可扩展性瓶颈得到缓解;矿工还可以为证明生成提供更强大的计算能力。
其他 Rollup 解决方案(例如 Arbitrum 和 Optimistic VM)使用欺诈证明来支持通用 VM。用户可以更轻松地将其 DApp 迁移到其 Layer 2。但是,它们的安全性保证依赖于一种挑战模型(Optimistic Rollup),并且它们需要更长的确认时间。我们认为 zk-Rollup 将是具有更强安全保证和更短确认时间的 Layer 2 的最佳选择。
Scroll 是一种Based Rollup 和 PoW 的新型 Layer-2 解决方案。它是最快和最便宜的 Layer-2 解决方案,支持各种 DApp。从高层角度来看,Scroll 使用最先进的零知识证明技术来同时支持 zk-Rollup 和 Validium。用户甚至可以在 Scroll 上进行高频交易,并以最低的 gas 费与所有 DeFi 应用程序进行交互。
从技术上讲,Scroll 遵循经典的 zk-Rollup 图。基本思想是将大量状态事务聚合到一个 rollup block 中,并为该 block 生成一个简洁的 off-chain 证明。然后,Layer 1 上的智能合约验证该证明,并直接应用由这些交易产生的更新状态。与所有先前的解决方案不同,我们使用一种新的分层零知识证明系统,并让矿工为我们生成证明。对于用户而言,所有存入的资金都锁定在 Layer 1 上的智能合约中,该合约具有与主网相同的安全保证。但是,他们现在可以花费最低的交易费用,并享受大量其他来自 off-chain 批量交易的好处。
Scroll 的高级架构如图 1 所示。更具体地说,Scroll 的架构可以分为五个方面。
1. 智能合约
2. 零知识证明系统
3. Circuit 部署
4. Layer-2 挖矿机制
5. zk-Rollup 和 Validium
我们在以下小节中提供更具体的描述。Scroll 的高级架构。
图 1. Scroll 的高级架构
第一方面是 on-chain 智能合约。具体来说,Scroll 的智能合约可以分为三种不同的类型:
(1) 第一种类型是事实注册合约。它们用于证明验证和事实记录。off-chain 证明者需要将证明以及不同智能合约的状态更新发送到事实注册合约。然后,事实注册合约验证该证明,并在验证通过后记录更新的状态。不同的 DApp 合约可以与事实注册合约交互以直接更新其状态。
(2) 第二种类型是不同的 DApp 状态合约。它们用于存储和更新不同 DApp 的状态。Scroll 中的每个 DApp 都分为两个部分。一种是繁重的业务逻辑。它包含复杂的计算和状态事务。它将移至 off-chain(circuit 形式),并且计算的完整性将通过简洁的证明来验证。另一种是更简单的状态更新逻辑。它包含简单的交互和有限的状态。它将在与事实注册合约交互后更新。
(3) 第三种类型是 staking pool 合约。当用户需要存入或从我们的 Layer 2 中提取资金时,将使用它。所有 stake 都以与 Layer 1 相同的安全级别安全地存储。该 pool 与事实注册合约交互,并执行相应的操作以转移代币。
第二方面是 off-chain 零知识证明系统。与所有先前的解决方案不同,Scroll 的零知识证明系统包含两个独立的层,并且每一层都采用不同的零知识证明系统。可以将此视为 on-layer 递归或证明聚合。
第一层直接为不同的 DApp circuits 生成证明。我们使用通用且透明的零知识证明系统作为我们的第一层。零知识证明系统需要满足三个属性:
(1) 使用短(或无)证明密钥进行快速证明;
(2) 无限的可扩展性,这需要较低的空间复杂度;
(3) 所有 DApp 应用程序的一次(或无)设置。
第一个要求使用户即使仅凭自己也可以有效地生成证明。这使得将来可以使用具有隐私保护功能的智能合约,并且在用户端进行的证明工作要少得多。用户还可以将证明生成外包给矿工,在这种情况下,矿工将有效地生成证明,而无需为各种 DApp 存储大量的证明密钥。第二个和第三个要求使得可以支持所有智能合约逻辑,而无需进行受信任的设置,也无论计算的复杂程度如何。第一层中零知识证明系统的选择可能会牺牲验证时间和证明大小,以满足这些必需的属性。
第二层聚合第一层中生成的证明,并为其生成一个简洁的证明。这是一个包装层;你可以将其视为 Layer 2 和 Layer 1 之间的直接桥梁。此处使用的零知识证明系统需要满足两个属性:
(1) 短证明;
(2) EVM 友好的验证算法。
这两个要求使 on-chain 验证更加有效。此包装层的目的是创建一个通用的 on-chain 验证器。通过此包装,on-chain 验证智能合约可以通用用于各种 DApp。矿工将使用通用的证明密钥为此层生成证明。此处零知识证明系统的选择可能会牺牲证明时间,以满足这些必需的属性。
这种分层架构背后的考虑因素是灵活性和效率。没有在所有方面都胜出的完美的零知识证明系统;如果你想要一个快速的证明者,则需要牺牲验证者的效率或证明大小。我们结合两种证明系统的方法可以在两个方面都达到最佳性能。它也更容易支持更多功能(即隐私)并清楚地分离不同的部分(即包装)。我们还有一个通用的高效 on-chain 验证器,其 gas 费更低。
第三方面是 circuit 部署。对于第一层中 DApp circuits 的实际部署,我们采用以下混合方法。
(1) 第一种类型是定制的 ASIC circuits。对于 AMM 和 DEX 等常用 DApp,我们设计定制的 circuits 以实现高效率。我们还可以在内部采用其他定制的证明系统和密码学原语。它们可以通过密码学承诺进行交互,并且可以通过随机线性组合将证明链接在一起。它也可以用作我们早期阶段的原型。
ASIC circuits 及其内部交互如图 2 所示。我们使用两个帐户系统来为不同的 DApp 建模。如果用户想要在两个帐户系统之间进行 transfer,则她需要生成一个承诺作为中间媒介。这些承诺可以被认为是一个巨大的 UTXO 池。一个人需要 transfer 到这个 pool,然后再 deposit 到另一个帐户系统中。这伴随着两个证明。这样,交互的建模就更加清晰了。
图 2. 两个 ASIC circuits 之间的代币 transfer 示例
(2) 第二种类型是通用的 CPU circuit。为了支持图灵完备的计算和方便的合约部署,我们使用具有优化 IR 的通用 CPU circuit。可以将智能合约编译为 circuit IR,然后在 CPU circuit 内部逐步验证。我们通过证明递归来提高效率。更具体地说,下一步的证明包含上一步的验证。我们可以实现这一点,因为 CPU circuit 对于不同的 IR 操作是固定的。我们可以将验证 circuit 嵌入到内部,并使用递归证明和最小化的空间复杂度依次证明每个 CPU 计算步骤。
这最终导致了 zkVM,并使 DApp 更容易迁移。CPU circuit 及其内部证明递归如图 3 所示。用户可以与 solidity 代码交互并生成 traces(状态转换)。然后,将 traces 发送到 CPU circuit,该 circuit 递归地(或并行地)验证状态更新是否正确,并带有一个简洁的证明。
图 3. CPU circuit 的工作流程
我们还在考虑构建一个更强大的编译器,该编译器可以直接将类似 solidity 的语言编译为 ASIC circuits,而不是基于跟踪的 CPU circuit,以实现通用性。
有许多现有的零知识证明系统可以满足上述所有要求(分层要求和 circuit 部署)。我们正在考虑的一些有希望的候选者包括 Halo2、Plookup 和一些带有非加粗FFT 多项式承诺的其他 SNARK。
第四方面是针对矿工的。我们让矿工在第二零知识证明系统层中进行证明包装,以及在第一零知识证明系统层中进行外包证明生成。我们还将允许对隐私保护智能合约进行随机证明外包。
矿工将受到激励,以为这两个零知识证明系统提供足够的计算能力。我们设计了一种不同于标准 PoW 平台的新型奖励模型,以鼓励矿工并行地以最快的速度生成具有随机性的证明。我们还可以通过分离交易打包过程和挖矿来避免 MEV 问题。
最后一个方面是 Rollup 的具体选择。我们为用户提供了两种选择,即 zk-Rollup 和 Validium,它们在安全性和成本之间提供了灵活的折衷方案。
在标准 zk-Rollup 中,所有交易都作为 calldata 上传到 on-chain,并且安全级别与 Layer 1 完全相同。缺点是交易费用较高,但与 Layer 1 相比,它仍然仅为交易费用的 1%。
如果用户愿意稍微牺牲安全性以换取更低的费用,则他们可以改用 Validium。证明已上传到 on-chain,但交易数据将被记录在 off-chain。我们使用高效的分布式系统、一类著名的委员会和去中心化的存储(矿工)来以安全的方式记录数据。这提供了一个稍微弱的安全保证,但是释放了几乎无限的交易吞吐量,甚至可以实现更多有趣的用法,例如高频交易。
Scroll 架构的更详细概述如图 4 所示。第一层中的 DApp circuits 和 CPU circuit 通过一个巨大的承诺池进行交互。证明生成外包给矿工。然后,矿工再次聚合证明并生成一个最终证明。这实现了通用且高效的 on-chain 验证器。
图 4. Scroll 架构的详细概述
- 原文链接: scroll-zkp.medium.com/sc...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!