2024 年 4 月 18 日,Polkadot 创始人 Gavin Wood 在迪拜 Token 2049 活动上宣布了一项波卡生态的重大进展—— JAM 灰皮书发布!JAM 协议的诞生与发展开辟了波卡生态的另一种发展路径,它将替代当前中继链的技术角色,以模块化、简约化的技术设计助力波卡生态项目创新探索。
活动上,Web3 基金会专业人士还介绍 JAM 协议规范将于年底完成,由 Fellowship 负责开发、部署,并争取完成 3 个独立规范实例的开发,并为参与此项工作的团队分配 1,000W DOT。活动结束后, Gavin Wood 更是通过 X 平台表达对 JAM 未来发展的期许,认为这是指引 Polkadot 生态的重要技术风向,代表了 Polkadot 的未来。
看到这里,对 Polkadot 生态感兴趣的开发者或许对 JAM 协议充满好奇,这样一个去中心化网络究竟是何方神圣?
它能够带来哪些项目创新和 Web3 发展新机遇?就在一个多月前的 3 月 12 日曼谷 sub0 会议上,Gavin Wood 首次与大家分享了 JAM 架构。今天就让我们深入了解 JAM 的技术优势与应用潜力,共同展望 JAM 赋能波卡生态发展的新趋势。
🔍 点击查看 JAM 灰皮书:
https://graypaper.com
无状态的去中心化网络 JAM
JAM 是 Join-Accumulate Machine 的缩写,代表了继承中继链的前瞻性设计。作为 Polkadot 生态的新网络,JAM 是一种全新运算基础设施,支持多核计算功能、智能合约构建等技术业务。JAM 协议早期未完善版本首先在Polkadot Fellowship RFC-31 中提出,当时被称为“Core JAM”, Core JAM 以服务主张核心的收集/细化/连接/累积计算模型而得名,在此后的升级迭代中,全新的 JAM RFC 草稿出现并形成。
单一升级,颠覆 Core JAM 的技术路线
与前续技术升级路线不同,JAM 将作为全面的单一升级引入,这背后有两个重要的推动因素:
统一升级会限制升级后操作,这对于迭代方法来说是一个挑战;
单一升级能缓解数周/月内定期发生的持续小升级和重大变更;
据悉,JAM 也创新融合了 Polkadot 和以太坊要素,提供了全局单例无需许可的对象环境与安全边带计算方案,实现可扩展节点网络上的并行处理;此外还支持现有基于 Substrate 的平行链服务,允许开发者使用 Substrate 着手项目开部署,支持多客户端、多语言的信息交互与传递,通过链上去中心化治理维系稳定的社区运行状态。
开放自由、无需信任,JAM 的优越特征
值得一提的是,JAM 协议为了让自身变得更加通用和开放,其能够将数据输出集成至共享状态,为数据汇总提供必要的支持设备;除此以外,JAM 通过无交易操作区别于智能合约链的常见功能,基于执行引擎技术能够兼容处理 Rollups 而不进行复杂计算,所有操作无需许可但又保障安全、可靠,这也恰好凸显了 JAM 的无需信任特征。
在这样一个多核计算机的网络上,JAM 的所有工作事项都会被打包成工作包等代运算,经过细化(Refine)、累积(Accumulate)、传输(On Transfer)完成一系列项目执行流程,进一步提高运算效率。
揭秘运作流程:JAM 协议的突破
事实上,在上述提到的细化(Refine)、累积(Accumulate)、传输(On Transfer)过程中,蕴藏着 JAM 协议的技术巧思与创新突破。在 JAM 进行项目执行时,三个环节“各司其职”形成平稳、流畅的运作体系:
Refine 是执行大部分无状态计算的函数,它定义了特定服务的汇总转换;
Accumulate 函数获取输出数据并将其折叠到服务整体状态中;
OnTransfer 处理来自其他项目服务的数据信息;
细化(Refine)
在 JAM 的 Refine 处理阶段,每个时隙最多可以接受 15MB 的数据并持续 6 秒。因 Refine 最多生成 90 KB 数据体量而需要大量的数据压缩工作流。Refine 能够支持执行 6 秒的 PVM Gas(相当于中继链的完整区块周期),与 PVF 前两秒所受限制相比,这种延长执行时间是通过安全计量和 PVM 固有优势来实现的。作为工作执行任务的处理主力, Refine 基本上是无状态操作的任务。
累积(Accumulate)
Accumulate 函数负责将 Refine 函数生成的输出整合到链状态中,可以接受来自 Refine 的多个输出数据,且所有输出数据均源自同一服务。每个输出 Accumulate 函数的执行时间都比 Refine 短得多,通常为 10 毫秒左右。
与 Refine 不同,Accumulate 不仅有状态,并允许其访问 JAM 链,能够从任何服务读取数据、写入数据键值存储、转移资金;此外,Accumulate 函数还可以创建新服务、升级代码、请求原像,完成创建子实例或虚拟机,自定义内存和堆栈配置,灵活地在相应技术框架内执行项目计算。
传输(On Transfer)
JAM 链网络中的 On Transfer 能够修改服务状态,并支持检查其他服务和更改自身状态,以异步支持方式促进服务通信,当消息和代币一起被发送时,传输服务功能会同时接收并处理它们(如需返回路径,则发送服务必须发起另一次传输或接收服务来修改当前传输状态)。
Accumulate 和 On Transfer 都被设计为并行执行,允许不同服务项目累积和传输同时发生,理论上二级核心项目可用于执行某些 Accumulate 流程,并为其提供更多可利用的 Gas 空间。
结构差异:JAM 何以超越中继链?
上文提及 JAM 是一个继承中继链的前瞻性设计,事实上这并不是空穴来风。JAM 和中继链间的重要结构区别就在于功能固定程度:
——Polkadot 中继链由不同组件构成,JAM 则重构了这种技术架构,通过陈列基础组件让开发者搭建各种各样的技术服务,包括通用 DA 服务等,而不仅仅满足于平行链开发。
虽然中继链在升级中修复了某些技术功能元素,例如用于定义协议的语言(WASM),但 JAM 在这方面走得更快、更稳,比如 JAM 规定了用于编码区块和去中心化方案的类型。通过服务模型设计,JAM 继承了中继链 WebAssembly 元协议所实现的灵活度。
在这个模型中,可升级性属性转移到技术服务上,使生态链摆脱升级负担,这源于 JAM 固定参数提供了优化潜力。通过清楚地了解 JAM 链必须执行的具体任务以及设置固定参数的能力,网络拓扑和时序等领域的优化执行事项变得更具可行性。而在中继链中,每次升级都可能进行频繁更改,这让技术优化变得更加复杂。
尽管存在这些结构差异,JAM 仍然保留了应用程序级功能的灵活性,包括核心时间销售、质押和治理,所有这些流程都会在应用服务中进行有序化管理;此外 JAM 将通过代币余额与服务关联引入全新概念,为经济模型调整提供机会,而这在中继链的升级过程中是不容易实现的。
然而,JAM 协议的技术与应用优势远不止于此:
它更广泛地利用底层共识机制,以灵活自由的方法实施更具创新性的解决方案;
它支持混合资源消耗模型,通过服务和资源需求配对,优化验证者资源利用率来降低成本;
它引入重大增强功能,提供简化基准测试工作并减轻未来基准测试要求的压力;
它保留与现有设置的兼容性,引入协议、多实例、多分片智能合约概念,管理和执行平行链间的特定交互协议;
……
相信更多技术优势,当你决定踏入波卡生态,着手 JAM 协议开发探索时会有更多深刻、有趣的创新体验。
当 Polkadot 2.0 底层共识逐步形成,JAM 链就是 Polkadot 2.0 中引入的突破性新范式,并有潜力成为 Polkadot 2.0 的基础,为更多区块链提供多核计算和支持,包括更多智能合约、ZK-rollups 等,为用户带来更高效安全的 Web3 技术解决方案,让我们拭目以待!
JAM 实现者奖金计划
而现在,就有一个激励开发者探索 JAM 链的绝佳机会。近日,Web3 基金会宣布了“JAM 实现者奖金”——这是一个价值 1000 万 DOT 的奖金池,旨在促进 JAM 协议开发的多样性,其目标是鼓励开发者创建多个客户端以增强网络韧性,通过资金支持来推动和促进从一开始就参与到 JAM 协议开发的项目,更广泛地保障协议参与者的权益去中心化,减少因某个错误而导致的全面网络瘫痪风险。
如果 JAM 通过链上治理机制被正式认可为 Polkadot 技术,那么开发者将有机会得到相应的奖金激励,该计划也将补充当前和未来支持 Polkadot 生态和技术堆栈的融资计划,包括去中心化未来计划、Grants 和 Polkadot 链上金库等。
我们对想在不同编程环境中实现 JAM 协议的提案特别感兴趣。随着 JAM 的完整规范公布,我们期待支持那些热衷于使用如 OCaml、Go 和 Zig 等语言开发实现的团队。——Web3 Foundation
目前,JAM 实现者奖金计划仍在最终申请流程确认中,如果你对计划感兴趣并想争取 JAM 实现者奖金,
🛠️ 请填写表格:
https://docs.google.com/forms/d/e/1FAIpQLSdvisUospNv_ZUG-RMgCvPD1gp7rtX80Z65NpaQyvovBEf7Zg/viewform
⭐️ 点击查看 JAM 公投提案:
https://polkadot.polkassembly.io/referenda/682
⭐️ 点击查看更多关于 JAM 实现者奖金计划:
https://jam.web3.foundation/
📘 参考资料:
https://graypaper.com