加入 PolkaWorld 社区,共建 Web 3.0!
今天是 Sub0 Reset 大会在曼谷进行的最后一天,今天全天都是关于 JAM 的主题!Parity 开发者 Shawn 在活动现场分享了 JAM 如何改变 Web3 应用开发的未来!PolkaWorld 第一时间进行了该视频的整理!
虽然 Shawn 只演讲了 15 分钟,但内容质量很高!Shawn 从 Polkadot 愿景和目标讲起,到 Polkadot 如何一步一步实现其愿景,并在最后介绍了 Polkadot Cloud 的概念!
继续阅读,查看 PolkaWorld 整理的全部演讲内容!
与今天的一些其他 JAM 的演讲者不同,我自己并没有在实际开发 JAM。但我在 Polkadot 的工作主要是关注应用和应用开发,所以今天跟大家讨论一下 JAM 对普通应用开发者的影响是什么?对那些想要在 Polkadot 上部署并运行应用的人来说,这意味着什么?所以,这就是我今天演讲的主题 —— JAM 如何改变 Web3 应用开发的未来!
事实上,围绕 JAM 已经有很多非常酷的讨论。今天我们一整天的主题都是 JAM,我认为除了可以深入探讨 JAM 的许多技术亮点,比如它拥有真正的技术规范,允许很多团队进行多种实现,它引入了一个一致性的环境,带有 PVM、基于 actor 的智能合约、大量的核心、强大的执行能力以及宽广的带宽等之外,我认为 JAM 还有一个比这些更酷的叙事,也是我今天希望传递给大家的一个重点。
那就是,JAM 让 Polkadot 从单纯的区块链托管演变成一个可以托管任何 Web3 应用或服务的平台。JAM 不再仅仅是关于区块链,Polkadot 也不再仅仅是关于区块链,它关乎 Web3 应用和服务。
那什么是 JAM 和 Polkadot?我想很多人会感到困惑,JAM 是什么?它是新的东西吗?是某种改变吗?它和 Polkadot 有什么关系?让我们从基础开始!
Polkadot 的愿景:更少信任,更多真相
我想强调的是,Polkadot 不仅仅是一个区块链。虽然 Polkadot 的确有一个链,也有代币。但当我们提到 Polkadot 时,其实它代表的是一种愿景 —— 一个更少信任、更多真相的世界。这才是我们在 Polkadot 努力实现的东西,而区块链只是实现这一目标的途径之一。
当我们说“更少信任,更多真相”时,这实际上就是 Web3 技术的具象化。因此,当我们提到 Web3 时,我们是在说能够提供一个“更少信任、更多真相”的世界的技术。
在谈到 Web3 时,我们会想到它的各种特性,这些特性最早由一些行业领袖,如安德烈·安托诺普洛斯提出的开放性、公共性、无边界性、中立性以及抗审查的特质,还有 Gavin Wood 博士提出的 Web3 的核心原则包括构建坚韧、通用、高效、一致和易于接触的系统。这些特性和原则代表了我们想要构建的理想体系,也是我们相信可以引领我们走向“更少信任、更多真相”世界的关键要素。
当然,我们也承认,仅凭技术无法改变世界,单靠技术本身无法达成任何目标。这里还需要很多其他的因素。但我们确实相信,迈向这一目标的第一个基础正是技术。这也是为什么区块链领域充满了兴奋与期待。所以,这只是迈向这个理想世界的起点,而非终点,前方还有许多工作等待我们去完成。
这就是为什么 Polkadot 不仅仅是一个区块链,而是一个愿景。实现这个新世界,还有很多步骤要走,尤其是在解决区块链扩展问题之后。
那么,Polkadot 当前的使命是什么?我们的使命是构建这项技术,提供一个可扩展、安全且坚韧的平台,用于 Web3 应用和服务。这就是我们一直以来所做的所有工作,包括中继链、JAM等,都是在构建这一基础技术。
Polkadot 如何实现 Web3 的承诺?
那么,我们是如何实现这一目标的呢?从比特币到以太坊,技术一步步在让区块链更易于用于计算和服务智能合约。区块链技术是我们实现“更少信任、更多真相”技术栈的途径之一。当然,Polkadot 的历史也围绕着扩展区块链技术展开。那么如何让这一基础技术更加易用、更具扩展性呢?
在这方面,Polkadot 提供了一个异构分片多链网络的理念,在这里我就不详细介绍这些历史了。这一切都是为了扩展技术。然而,尽管如此,仍然存在局限性。无论区块链如何扩展,它本质上是一个区块链 —— 即一串区块,每个区块在一个时间窗口内只能执行一定的操作量。
因此,每当构建应用或设计时,存在一个基本限制。即便区块链能够扩展到数百万次交易,它的执行范围仍然受限于单个区块的处理能力。这对应用开发者来说是一个很大的限制。那么,利用现有的区块链技术,我们能托管什么样的程序呢?到目前为止,主要是两种:智能合约和 Rollup 链。
智能合约是一种特别的区块链程序,因为它是为区块链设计的,知道自己运行在区块链上。智能合约有 “gas 限制” 的概念,即程序在某个点需要停止执行,系统需要能够在任意时刻停止执行。因此,智能合约本质上是为适应区块设计的一种有限程序。
然后,我们还有 rollups。显然,如果你有一个区块链,而那个区块链已经被划分成区块,那么将这些区块嵌入到我们区块链的区块中进行扩展就变得相对容易了。唯一的限制是,这些区块需要比它们所嵌入的区块链小一些,或者这些区块的表示方式需要更小,例如 ZK Rollups 或 Optimistic Rollups 等。它们的区块表示形式需要比目标区块链小。但这种方式的实现并不是开发的最佳方式。
在区块链上开发,一直以来都是一种非常专业化的实践。这实际上形成了一个新的障碍,阻碍我们实现“更少信任、更多真相”的理想世界。如果我们能够简化区块链应用的创建流程,就可以加速我们通往这一未来世界的进程。所以 JAM 正是为了解决这一问题,特别是通过 JAM 内部的 PVM(新虚拟机环境)来实现。
JAM:让区块链上的应用更像在云服务器上运行
PVM 非常令人兴奋,你们可能已经听说过一些。它基于 RISC-V,能够轻松移植到所有常见硬件平台上,运行速度接近原生水平,具备良好的开发者环境的所有工具、低廉的 gas 计量、快速的编译速度等优势。
PVM 兼容 x86 并具备出色的性能,已经可以运行常规程序了。也就是说,你不必只在区块链上使用 PVM,你甚至可以在电脑或其他虚拟机上直接使用它。PVM 的设计初衷就是可以运行普通程序。事实上,PVM 的首个演示之一就是在电脑上运行《Doom》游戏,这是一个很好的验证,说明这是一个允许开发者轻松启动各种应用的环境。
那么,如何解决区块链的限制呢?PVM 只是一个虚拟机环境,我们依然面临区块的独立性限制。如何帮助应用开发者解决这个问题呢?
关键在于“延续性”(continuations)。这是我昨天才学到的一个词,Gav 解释了这一概念,延续性就是我们在区块链世界中用 PVM 解决这个问题的方式。
所以这大概是什么意思呢?我将用一个简化的例子来解释这个概念,可能并不完全准确,但可以帮助理解。
我们在运行程序时,通常会有一个堆栈和一些状态,当程序运行时,堆栈会填满。如果你不熟悉堆栈,它基本上有两个操作:压入(push)和弹出(pop)。假设我们有一个程序要计算 4 的阶乘。
我们先调用阶乘 4,然后依次将内容压入堆栈,这会递归调用自己,一直到达到 0。这时可以开始解决堆栈并填充状态。初始值是 1,1 × 1 = 1,1 × 2 = 2,2 × 3 = 6,6 × 4 = 24,最后得到答案。
这就是计算机程序运行的基本方式,有堆栈,有状态,然后执行。你可以想象,如果在执行过程中的任何一点保存一个状态 —— 例如在这里暂停,给你当前的状态和堆栈信息,你实际上有足够的信息来完成整个程序的执行。这意味着你可以查看堆栈和状态,然后继续完成执行。
所以,安全状态(safe state)实际上是让程序可以在任何时间点暂停,然后重启并继续操作的能力。也许你已经猜到我的意思了,如果你熟悉“安全状态”这个词,那你和我一样是个玩家。你会知道在 NES 模拟器或 Game Boy 模拟器上,这种功能是非常常见的。在遇到一个难打的 Boss 之前,你可以进行安全状态存档。
你可以在打 Boss 前保存当前进度,这样在失败后可以重启安全状态,直接回到开始时的地方,而不需要重新打整个关卡。安全状态让你可以反复重玩游戏。它的工作原理就是保存所有的内存、状态、堆栈,将它们存储在某个地方,然后再恢复出来继续执行程序。这就是简化后的延续性流程。
那么,这在区块链上是如何实现的呢?你先启动程序,运行到 gas 用完时停下来。因为区块链有区块限制,这点没有改变。然后你把所有堆栈、寄存器和内存保存到一个数据可用性层中(这是一种非持久性存储)。因此,不需要将其存储在区块链的状态中,因为它会立刻被重新使用。
接着等待下一个区块,把所有内容加载回来,继续执行程序。你可以反复这样做,直到程序完成或你停止支付费用。过去的区块链应用开发模式要求你必须拆分应用,考虑到是在区块链上构建,因此要将一切都分开到单个区块中,这样的过程非常繁琐。
而理想的方式就是像在云服务器上部署应用一样,让它可以直接运行。JAM 的方式正是如此!
我们可以将复杂性抽象出来,让你只需构建应用并将其部署到我们的云上,我们会通过延续性、PVM 和多步状态转换功能为你自动拆分。所以,你可以看到 Polkadot 就是一个 Web3 云平台,而且一直都是。我们一直在朝着这个愿景努力。所以现在我想向你们介绍 JAM 和 Polkadot 云的概念。
Polkadot Cloud
Polkadot 云正是我们的使命。它是一个安全、可扩展、坚韧的 Web3 应用和服务平台,具备你期望从云服务提供商那里获得的各种 Web3 服务:去中心化的执行、结算和最终确认、数据可用性、对象存储、区块链托管服务、智能合约托管服务。这些都是你期望的云服务功能,也是我们一直在提供的,只不过以前我们更多地谈论平行链和区块链。
而 JAM 带我们进入了一个新阶段,不再仅仅是关于区块链,而是关于任何类型的应用如何访问和使用这些 Web3 云服务。Polkadot 云有着令人惊叹的规格:
它将拥有超过 1,000 个验证节点
341 个核心
超过 300 的中本聪系数
85 倍于单个 CPU 的负载
852 MB 的输入/输出带宽
2 PB 的数据可用性
超过每秒 100 万笔交易
听起来像是一个能够满足你需求的理想 Web3 应用部署平台,能够真正实现扩展性。
与 Web2 云的对比
那么,让我们来对比一下,我们的 Web3 云与标准的 Web2 云相比如何?如果你是一个 Web2 开发者,来到加密领域,会觉得这些东西非常陌生,还是会觉得这其实相当熟悉呢?
我们提供去中心化的执行服务,和 Amazon EC2 很相似,一些弹性云计算功能。如果你了解 Polkadot 的近况,我们即将引入弹性扩展的 Coretime,支持按需购买。我们提供的服务类似于一个具有高可用性且价格友好的可扩展云计算平台,这就是我们构建的内容。
我们还有对象存储服务,这相当于 Amazon S3。你可以想象,在区块链上利用数据可用性层进行非持久性存储,或通过中继链、收集人等服务进行长期存储。因此,我们已经提供了类似云对象存储的服务,但以 Web3 的方式实现。
智能合约托管服务类似于 AWS Lambda,这是一种“无服务器计算”模式,开发者无需关注服务器的维护和管理。就像在 AWS Lambda 中发布应用程序一样,发布智能合约也变得非常简单:你只需编写代码并将其部署到云端,它会在需要时自动启动并扩展。
这种系统正是我们在 Web2 云服务中所期望的,而现在 Polkadot 将它带入了 Web3 世界。虽然在实现上可能有所不同,但本质是一样的。因此,有了 JAM 的 Polkadot 实现了真正意义上的 Web3 互联网,这是之前许多项目所承诺但未实现的东西。
JAM 是 Polkadot Cloud 的起点
有多少区块链在宣称要改变互联网、要构建 Web3 互联网,但它们关注的都是代币,以及如何推出下一个热门币。我们期望的 Web3 云,是为任何想要获得 Web3 服务的韧性、强度和去中心化的应用而构建的,不仅限于区块链。用一句话来说就是,JAM 让 Polkadot 进化了。这是一个起点,Polkadot 不再只是托管区块链,而是一个托管任何 Web3 应用或服务的平台。
用更简单的一句话说就是,JAM 是 Polkadot 云的起点。所以,我想借此机会真正开启一个讨论。我相信有很多应用开发者正直接在云上构建各种服务或应用,并思考他们的平行链未来。对于如何重新审视 Polkadot 云以及在其上部署的应用,我很乐意与大家讨论这些问题!
PolkaWorld Telegram 群:
https://t.me/+z7BUktDraU1mNWE1
PolkaWorld Youtube 频道:
https://www.youtube.com/c/PolkaWorld
PolkaWorld Twitter:
@polkaworld_org
更多内容
波卡周报 | 第二批核心全部售罄!降低 DOT 通胀到 8% 并逐年降低的提案正在投票中!
关注 PolkaWorld
发现 Web 3.0 时代新机遇
点个 “在看” 再走吧!