作者:Bryan;来源:PolkaWorld
3 月 12 日,Gavin 在曼谷的 sub0 会议上首次分享了 JAM 架构!JAM 是什么?这对 Polkadot 有什么影响?会带来什么样的创新?Acala CTO Bryan 第一时间在 X 上进行了他的独特解读,以下为 PolkaWorld 整理版本,速看!
如果你想了解更多关于 JAM 的信息,这是 CoreJam 的草案 RFC,JAM 的前身。请注意,这是最初的草稿,许多技术细节已经发生变化。将会有一个新的 JAM 的 RFC 草稿。https://github.com/polkadot-fellows/RFCs/pull/31
JAM:重组 Polkadot 中继链组件,超越中继链架构
JAM 的一个重要特点是它能够将去中心化技术栈中的区块链部分进行抽象化。它提供了一个类似于世界计算机的概念,拥有多个核心,能够执行任何程序或服务。
Polkadot 中继链是由不同组件构成的,JAM 实际上重构了这种架构,把基础组件也可以暴露出来,让开发者可以使用这些基础组件搭各种各样的服务,包括通用的 DA 服务,而不仅仅是现在的只能搭建平行链。
通过使用 JAM,我们可以运行平行链服务来构建去中心化且安全的区块链。但是,构建去中心化区块链只是 JAM 的众多应用之一。我们还可以利用 JAM 开发更多有趣的应用,数据可用性(DA)是其中一个有用的例子,但它并不是改变游戏规则的创新。
开发者可以在 JAM 上面部署各种各样的服务,其中一个可以是Parachain Service,即可以通过 JAM 来构建平行链或区块链;但开发者也可以在 JAM 上部署一个 Chainless EVM Service,就是可以没有链的服务,一个例子是合约钱包。
JAM 带来无服务器应用
Bryan 分享了一个 JAM 可能带来的变化是 Chainless Dapp,即无链去中心化应用。
这到底意味着什么?在目前的情况下,每一个需要计算能力的去中心化应用(dApps)都是在区块链或者类似的平台上运行的。但是,引入了 JAM 之后,去中心化应用可以在不依赖于传统区块链的情况下执行计算任务,即 Chainless Dapp。
用 Web2 的话来说,以太坊或者大多数独立的区块链网络,就像是某人地下室中托管的服务器。而 Polkadot 提供了一种类似于云计算的解决方案,人们可以租用一个实例一段时间来运行自己的区块链,同时还能享受到由 Polkadot 网络提供的共享安全性。这意味着,用户可以利用 Polkadot 的基础设施来运行和维护自己的区块链,而不需要自己搭建和管理服务器。
而 Polkadot 2.0 更进一步,它提供了无服务器解决方案。开发者不再需要担心服务器。应用程序可以根据请求在云中的某个地方运行。同样,受到共享安全性的保护。
Serverless 之前,云服务很简单,就是通过租机器在上面部署服务。然后负责维护这个机器,升级系统,打补丁,但有一个比较高的维护成本。现在的平行链开发也是这样,我们都要花很多精力在维护链,在升级 Polkadot-sdk 等上面,成本比较高。
Serverless 的概念是,作为开发者,我只需要写我的 business logic,我不用维护机器,不想考虑负载均衡,scale up/down 等东西。JAM 可以使得协议开发者开发出一个类似 AWS lambda 的功能,减少应用开发者的维护成本。对于开发者来说,就没有服务器这个概念了。
AWS lambda 是一个 Serverless 服务,开发者可以写代码,丢给 AWS lambda,然后做一些配置,用户访问这个服务的时候,aws 会在某个机器上面执行代码,处理用户请求,AWS lambda会负责所有机器的维护、系统升级、安全等等。
无服务器应用带来的许多优势同样适用于不依赖于区块链的去中心化应用(无链的去中心化应用)。这些应用具有很高的可扩展性,因为可以同时在多个处理核心上运行应用的多个副本。此外,这种应用可以非常经济,因为它只在被使用时才消耗资源,而不是持续运行,从而降低了成本。它可以显著降低运营成本,因为不再需要维护服务器(区块链)。执行运行时的维护者(即 JAM 服务)处理所有运营工作,如升级和实现新功能。
无服务器技术已经彻底改变了一些云应用的开发方式。JAM 也将带来类似的变革。然而,需要注意的是,并不是所有的现代云应用都采用了无服务器架构,传统的服务器仍然在今天的技术环境中占有一席之地。这一点也适用于平行链技术,它仍然有自己的优势和应用场景。
想象一下,开发者以后也可能会有一个比如 JAM Service 叫做 EVM contract,这个可能是某个社区项目维护的,负责升级 EVM 版本,添加功能等等。用户就可以利用这个 JAM Service 直接部署和执行 EVM 合约。
JAM 将带来的无限潜能的未来
JAM 的发展不会止步于此。JAM 提供了一个非常有趣的模型和许多具有巨大潜力的原语。我相信我们将会发现更多不同模型的现代去中心化应用。从本质上讲,与 Polkadot 1.0 相比,JAM 的目标是消除一些现有的限制,为开发者提供更多的自由度和灵活性。
我在这里还没提不同 JAM 应用之间可以进行同步消息传递的这部分能力。这是 Web2 应用无法做到的事情,因为它们通常依赖于服务器来处理消息传递,而不是直接在应用之间进行同步通信。这一功能为去中心化应用的交互和协作提供了更多的可能性。
在 Web2 技术中,异步请求(即在等待响应时可以继续执行其他任务的请求)基本上是一个已经解决的问题。然而,我们必须承认,异步请求增加了很多复杂性,并且引入了许多错误。其中一些常见的问题包括“回调地狱”(callback hell,即多层嵌套的回调函数导致代码难以理解和维护)和“竞态条件”(race conditions,即多个并发操作导致不可预测的结果)。在当今的跨链消息传递协议中,我们开始观察到这些问题。但这可能不再是一个问题了。
JAM 还处于非常早期的阶段,需要做很多工作才能使其投入使用。如果你想在 JAM RFC 发布的第一时间了解它,请关注 Fellowship RFC 仓库:https://github.com/polkadot-fellows/RFCs