在 Nexus 上的应用是有状态的“Nexus 函数”,由智能合约直接调用。
原文作者:Stanford Blockchain Review
原文来源:substack
原文标题:Nexus: Enabling General Purpose Verifiable Cloud Computing
编译:深潮 TechFlow
此文来自于斯坦福区块链评论,深潮 TechFlow 为斯坦福区块链评论合作伙伴,独家获授权编译转载。
随着区块链技术的不断发展,越来越多的应用场景涌现出来,但其在大规模应用时仍存在一些挑战,其中之一就是区块链的可扩展性。
为了解决这个问题,Nexus Labs 提出了一种新的解决方案——基于区块链的通用可验证云计算网络,可以为区块链、Rollup 和智能合约提供计算能力和可扩展性支持的解决访问。本文将介绍 Nexus 和 Nexus Zero 的特点和架构,并探讨它们如何促进区块链技术的发展。
可验证云计算提供了一种将传统程序(例如用 Rust 或 C++ 编写的程序)计算外包到远程服务器(如 AWS 或 Google Cloud)并接收程序输出和验证计算正确性的证明的可能性。这将允许用户将计算外包给不可信服务器,同时保留验证结果。
可验证云计算对于区块链领域的潜在影响是难以想象的。通过使智能合约能够以数学上可验证的方式外包计算、存储和与其他系统的交互,这项技术有望大幅增强智能合约系统的计算能力。
Nexus 是实现通用可验证云计算的一次尝试,将会特别用于扩展以太坊应用。在本文中,我们提供了一个简要概述,介绍我们团队正在努力实现这一未来所需的主要创新。
可验证性可以通过不同的方式定义和实现。通常有:
每种方法在实现易用性和安全性之间有显着的权衡,但一般来说,零知识证明提供最好的安全保证,而共识/状态机提供了当今最实用和最强大的基本算法。
仅靠可验证性是不够的。实现真正的去中心化应用需要提供两个安全保证:
像 Optimistic 和 ZK Rollups 这样的系统可以提供安全性(通过欺诈证明/ZKPs),但不能提供活性(例如,如果它们有一个中心化的排序器)。一个同时提供安全性和活性的系统被认为是完全正确的。
Nexus 是一个可验证云计算的去中心化市场。
它使开发人员能够托管使用传统语言(例如 Rust、C++、Go)编写的无服务器云应用程序,类似于 AWS Lambda,同时享有安全性和活性保证。
Nexus 有两种不同的版本:Nexus 和 Nexus Zero。
Nexus Zero 是一个去中心化的链下零知识证明者网络,它允许以太坊智能合约外包一般计算。
它由三个组件组成:
Nexus Zero 上的应用程序是无状态的“zk-Functions”,由智能合约直接调用。这意味着 Nexus Zero 使用一个通用电路来证明任何计算(在运行时上限内),而不是将程序编译为不同的电路表示形式。
Nexus 是一个去中心化云计算网络 。换句话说,它是由独立的、外部感知的“无服务器区块链”组成的网络。
在 Nexus 上的应用是有状态的“Nexus 函数”,由智能合约直接调用。Nexus 网络可用于从智能合约系统中外包计算、存储和 I/O 能力。Nexus 网络还可用于复制任何证明系统(例如 ZK / optimistic),并且在一般情况下完成 AWS / Google Cloud 正在做的事情,且具备完全正确性保证。
Nexus 网络达成内部共识,并可以通过特殊的多方计算技术(如阈值签名方案)与外部系统通信。节点激励基于传统的 PoS。
因此,人们可以使用 Nexus 立即启动一个连接到以太坊的“无服务器区块链”。这些网络可以作为侧链、预言机网络、存储/数据可用性网络、守护者网络、去中心化排序器网络或专用区块链使用。
除了实现通用可验证云计算外,Nexus Labs 的中心目标之一是提供极其简单和愉悦的开发体验。
这就是为什么 Nexus 和 Nexus Zero 都被设计成提供与传统云计算无异的体验。开发人员可以使用传统语言编写程序并导入自己喜欢的库。
上述是在 Nexus 上连接到以太坊的状态无关的“Lambda 函数”示例,它在每个新块上调用。函数还可以访问存储和本地类似于 POSIX 的文件系统。
此外,Nexus 函数还可以像智能合约一样保持状态(在调用之间保留状态),与智能合约不同的是,它们可以运行长时间运行的任务,如 rollup 排序器或任何零知识证明,只要它满足两个条件:1)是确定性的,2)编译为 WASM。
通用可验证云计算为区块链可扩展性为我们开辟了新的未知领域,未来有望大幅增强区块链、rollup 和智能合约的计算能力。