Cover photo

Lagrange宣布公开测试网“Euclid”,旨在实现以太坊的第一个可验证数据库和 ZK 协处理能力

      Lagrange实验室宣布推出新的公开测试网“Euclid”,这是Lagrange ZK 协处理器和可验证数据库开发中的一个重大里程碑。通过 Testnet Euclid,开发人员可以开始构建利用可验证的 ZK 数据库进行高效且低成本查询的 dApp,该数据库存储着历史区块链数据。与 typicaZK 协处理不同,后者首先证明从区块链中提取数据的过程(这可能计算成本高昂,并且每次提取都受限于小型数据集),然后对提取的数据进行计算。Lagrange的 ZK 协处理器通过可验证地索引和构建区块链数据的证明友好数据库,然后在其上运行高效且并行化的计算和证明。

ZK 协处理器与可验证数据库

      Lagrange的首个测试网 Euclid 为一种独特的 ZK 协处理方法奠定了基础,使得以太坊上的每个智能合约都拥有自己的可验证数据库。借助Lagrange的 ZK 协处理器,开发人员可以尝试一种新的设计模式,用于定义、部署和查询链上的可验证数据库。该测试网的目标是测试Lagrange将在产品未来版本中改进和完善的功能,其中包括:

超级并行化

      Lagrange ZK 协处理器以并行化和分布式方式运行,将计算分解为多个小任务,可以分配给多台机器,机器集群可以并行执行这些计算。因此,协处理器中的计算可以水平扩展,即随着更多机器的参与,可以更快地生成更大数据集上的证明。这导致了对大量链上状态数据的计算和证明变得更加高效,这主要得益于Lagrange的证明构建实现的。

动态更新

      与其需要证明链的历史状态,然后随后在现有数据集上证明一系列计算不同,Lagrange ZK 协处理器能够在历史合约存储状态的现有可验证数据库上执行动态和定向的计算。这大大减少了证明时间,并且在计算特定数据点上非常有用,这些数据点是针对不断增长的链上状态大数据集的,例如在一定时间段内计算去中心化交易所(DEX)上资产对的平均流动性。

超可扩展的查询

      我们的可验证数据库方法意味着 ZK 协处理器能够查询比其他 ZK 协处理器更大的存储槽集。其他方案可以证明单个存储槽,但依赖于智能合约或计算密集型的通用证明来执行计算,而Lagrange ZK 协处理器可以同时证明数量显著更多的存储槽,并在其上执行计算,然后将最终结果带到链上。

      例如,每个新的以太坊区块,Lagrange都会生成并更新一个数据库索引的正确性证明,以插入 8888 个新的存储槽值。这已经比其他存储证明或协处理器解决方案要大一个数量级,这些解决方案往往难以计算超过几百个存储槽的证明。一旦存储数据加载到 Euclid 中,用户可以在单个证明中查询数百万个存储槽,远远超过现有最先进解决方案的可能性。

      Lagrange的 ZK 协处理器是由Lagrange技术栈的各个方面支持的,包括可验证数据库、用于可更新、简明批量证明的专有 Reckle Trees 研究以及我们对证明通用 MapReduce 计算的研究。使用Lagrange的开发人员可以构建以前无法实现的区块链应用类型,并在计算规模上实现其他解决方案无法实现的水平。

关于测试网 Euclid

      在测试网 Euclid 中,Lagrange将 Pudgy Penguins 的存储实例化为一个可验证数据库,开发人员可以通过链上查询进行测试。我们的第一个可验证数据库作为一个通用框架,允许开发人员使用 SQL 查询任何 ERC-721 NFT 合约,跨指定的区块范围,并且已在以太坊主网上实现。

      首先,用户可以在请求的区块范围内对 Pudgy Penguins NFT 合约数据运行特定的 SELECT 语句。我们已经硬编码了以下查询:

SELECT DISTINCT(nft_ID) from DB.pudgies
WHERE owner = x AND 
block_number> y AND 
block_number <z LIMIT 5 OFFSET offset;

      一旦确定了所需的变量,协处理器将运行查询并返回在某个指定区块范围内由所有者持有的部分 NFT ID。您可以通过在以太坊区块浏览器(如ethscan)上输入 NFT ID 并查看所有者是否与查询中的所有者匹配来轻松验证此操作。

      在实际应用中,SQL 查询可能更为复杂,但是测试网 Euclid 的目标是展示Lagrange可扩展系统的强大功能。完整的 SQL 支持将在未来的版本中提供。

性能

目前,对于 100 个区块的区块范围,端到端大约需要 2 分钟才能获得完整的证明:

  • 该查询在 100 个区块中并行运行,涉及 8888 个存储槽/区块 * 100 个区块 = 888,000 个存储槽。

  • 整个过程耗时 1 分钟 20 秒。另外,还需要额外的 40 秒来生成最终的 Groth16 证明并提交到链上。

      虽然这已经比典型的协处理器更高效、更快,但我们还有许多计划中的更新正在进行中,这些更新将进一步改善性能和用户体验。

      Testnet Euclid的代码库已在此处开源,有关如何参与此测试网的说明可以在Lagrange的文档中找到。

下一步是什么

      该计划是根据开发人员对未来测试网的意见,继续迭代Lagrange的 ZK 协处理器和可验证数据库。

在接下来的几周内,以下内容将在 Testnet Euclid 上上线:

  • 在合作伙伴节点运营商的参与下进行去中心化证明

  • 来自其他 L2/汇总的廉价查询

  • 用户选择索引和查询的合约的自登记

  • 来自用户的 SQL 格式的自定义查询

  • 内置示例查询和智能合约交互以及分析的仪表板

还有社区参与方面,我们将征求不同用户的测试和反馈,以改进和构建新功能。

      然后,我们将在 EigenLayer 上启动 ZK 协处理器作为 AVS,届时操作员将能够加入Lagrange的证明网络,为超并行协处理做出贡献。我们的路线图很快就会分享更多内容,敬请期待!