值得信赖的区块链资讯!
比推数据  |  比推终端  |  比推英文  |  比推 APP  | 

下载比推 APP

值得信赖的区块链资讯!
iPhone
Android

快速了解 Polkadot JAM 链的核心优势(上)| Polkadot Wiki

图片

JAM 论文可以在 graypaper.com 获取,JAM 奖金的相关信息可以在 jam.web3.foundation 获取。

JAM,即 Join-Accumulate Machine,是继中继链之后的一个前瞻性设计。其名称来源于 CoreJAM,意为 Collect Refine Join Accumulate,概述了该机器所体现的计算模型,最初由 Gavin Wood 在 RFC 中描述。然而,在实际链中,仅执行 Join 和 Accumulate 功能,而 Collect 和 Refine 过程则发生在链外。

与目前的迭代方法不同,JAM 将作为一个全面的单次升级引入。多个因素促成了这一决定:

  • 统一的升级可以精确限制升级后的操作,而这是迭代方法难以实现的。
  • 它减少了每隔几周或几个月就会发生的小规模升级和重大变化的频率。

虽然这一转变意味着一次重大的突破性变化,但将尽量将其影响降至可管理的水平。将多个较小的突破性变化整合为一次性过渡是更好的选择,它引入了一种新颖的区块链概念,独特地集成了各种现有的想法。

Rollup 链

JAM 将是一个特定领域的链,处理特定领域的问题。在这种情况下,是 roll-up。JAM 的 roll-up 在安全性方面受到了严格的限制。这正是 Polkadot 在过去五年里一直在做的事情,它已经是一个高度特定领域的 roll-up 链。JAM 本质上使其更少有主观性,更通用。

JAM 链接受 roll-up 的输出,更一般地说,是接受其他地方完成的计算结果,并将这些输出整合到共享状态中,类似于 Polkadot 中继链的功能。

JAM 链的任务是提供必要的设备,以确保输出在经过预定的转换后正确反映输入。

与智能合约的相似性

JAM 表现出与智能合约链的若干相似之处:

  • 无许可的代码执行直接在 JAM 链本身进行。
  • JAM 链的状态被组织成不同的封装。
  • 除了状态,封装还包括代码和余额。

这些状态封装被称为服务。因此,JAM 状态被划分为服务。新服务的创建是无许可的,类似于在智能合约链上部署智能合约。因此,向 JAM 链添加新服务不需要任何权威机构的批准或遵守治理机制,不像基于 Substrate 的链在添加新模块时需要治理批准。服务包括代码、余额和某些状态组件,类似于智能合约链上常见的结构。

服务入口点

JAM 服务的代码分为三个不同的入口点:

  • Refine 是执行主要无状态计算的函数。它为特定服务定义了 rollup 的转换。
  • Accumulate 是一个将 Refine 输出整合到服务整体状态的函数。
  • OnTransfer 处理来自其他服务的信息。

工作包是服务的输入。工作包可以包含多个工作项目。每个工作项目都与一个服务相关联,它反映了服务的实际输入。对于平行链服务,这就是交易和所有区块链输入的地方。

JAM 的安全装置由两阶段处理组成,其中 Refine 函数接受工作项目作为输入,并生成工作结果作为输出,然后将其送入 Accumulate 函数(先 Refine,再 Accumulate)。工作项目被 Refine 成工作结果,因此包含多个工作项目的工作包被 Refine 成工作报告,这些报告是多个项目的对应结果。一个工作包可以被分配使用一个核心特定时间段(通常为 6 秒)。

图片

JAM 是无交易的

JAM 的独特之处在于其无交易操作。JAM 内没有交易,所有操作都是无许可的,最初经历一个 Refine 阶段。在此阶段,服务预 Refine 输入数据,将其转换为由工作结果组成的工作报告。随后,这些工作结果被传输到链上。

尽管没有交易,JAM 仍然可以容纳特定格式的外部信息。有五种类型的外部信息:

  • Guarantees 保证
  • Assurances 担保
  • Judgments 判断
  • Preimages 原像
  • Tickets 门票

前三种类型是 JAM 链安全框架的一部分。保证和担保涉及验证者共同证明一个工作结果准确反映其对应的工作项目在通过服务的 Refine 函数后所经历的转换。

判断发生在工作结果的完整性被认为不确定并且大量验证者证明其有效性或无效性的情况下。在这种情况下,一个无效的工作项目可能已经被整合到服务的状态中,需要进行回滚。判断必须在提交工作报告到链的一小时内发生,在此期间最终性暂时暂停。

原像表示 JAM 链为 Refine 函数提供的一项功能。尽管 Refine 函数通常是无状态的,它可以执行一个有状态操作:查找哈希的原像。这一功能是 Refine 函数的唯一主观性方面。

票据作为匿名进入块生产机制的入口。它们并不立即需要用于块生产;相反,系统提前两个周期操作。这一机制是 SAFROL 算法的一部分,SAFROL 是原始 SASSAFRAS 算法的精炼版本。

Refine 函数

在 JAM 的 Refine(精炼)处理阶段,每个时间段(持续 6 秒)最多可接受 15 MB 的数据。然而,Refine 最多只能产生 90 kB 的数据,这种显著的数据压缩是必要的,因为可用性系统的分布式特性。例如,在平行链的情况下,15 MB 的数据代表有效性证明(PoV),而 90 kB 的数据对应候选收据。

Refine 可以执行长达 6 秒的 PVM gas,相当于中继链的整个区块周期。与当前 PVF 的两秒限制相比,这一延长的执行时间是通过安全计量和 PVM 内在的其他优化实现的。

Refine 中也可以进行原像查找。如果认为哈希及其相关的原像在 JAM 链上可用,可以通过提供哈希来请求原像。这一功能使得代码的高效存储和检索成为可能,例如,通过在 JAM 链上存储代码并在工作包中引用其哈希,可以实现平行链代码的存储和检索。

Refine 是主要的处理主力,处理大部分无状态操作的任务。

Accumulate 函数

Accumulate(累积)函数负责将 Refine 函数生成的输出整合到链状态中。Accumulate 可以接受来自 Refine 的多个输出。Refine 和 Accumulate 都充当特定于服务的代码 blob 的入口点。

Accumulate 每个输出的执行时间比 Refine 的要短得多,通常不超过 10 毫秒。然而,时间长度取决于工作包中工作项目的数量。如果工作包包含多个项目,可用时间将在它们之间分配。

与 Refine 不同,Accumulate 是有状态的,赋予其访问 JAM 链状态的能力。它可以从任何服务读取存储,写入其键值存储、转移资金,并在资金转移中包含备忘录。此外,Accumulate 还可以创建新服务,升级其代码,并请求原像可用性等功能。

此外,Refine 可以调用 PVM 的子实例。这允许创建子实例或虚拟机,可以在其中部署代码和数据,自定义内存和堆栈配置,并在灵活的框架内执行计算。

onTransfer 函数

JAM 系统中的 onTransfer 函数也是有状态的,能够修改服务的状态。它可以检查其他服务的状态并修改自己的状态。这一功能促进了服务之间的通信,尽管是异步的方式。

与许多交互同步发生的智能合约平台不同,在 JAM 中,封装组件(例如智能合约或服务)之间的交互是异步发生的。消息及 token 一起被发送,在同一六秒执行周期的某个时刻,接收服务会处理它们。没有即时返回路径;如果需要返回路径,发送服务必须发起另一转移,或以接收服务可以稍后解释的方式修改其状态。

Accumulate 和 onTransfer 都被设计为并行执行,允许不同服务的累积和转移同时发生。这一设计为未来的增强打开了可能性,例如分配超过当前 10 毫秒的 gas 输入。理论上,可以利用一个次要核心来执行某些累积,为它们提供更多的 gas 可供利用。

JAM 链的通用化

如同最初的 Polkadot 白皮书所述,Polkadot 主要针对特定服务配置文件:提供平行链。为追求这一服务,Polkadot 开发了两个重要的子组件:

  • 分布式数据可用性系统
  • 计算的审计和保证系统(即具有强大安全保证的 roll-up 系统)

JAM 相较于 Polkadot 在主观性方面减少了一个层次,提供了更高层次的抽象和通用化。这有助于根据个人喜好更轻松地利用底层组件。

JAM 以无需许可的方式运行,类似于智能合约链,允许个人上传并期望代码的执行。此外,它还托管数据、启用原像查找并管理状态,类似于键值对系统。由于 JAM 缺乏直接接受交易的机制,JAM 的创世块包含一项促进新服务创建的服务。

JAM 中的服务对于它们可以容纳的代码、数据或状态的数量没有预定义的限制。他们的能力由加密经济因素决定;存入的 DOT 代币越多,数据和状态的容量就越大。例如,平行链服务将所有 Polkadot 1.1 功能整合到 JAM 上的单个服务中,并有可能提供其他服务来利用 Polkadot 的分布式可用性系统以及计算审计和保证系统。

原文:https://wiki.polkadot.network/docs/learn-jam-chain


关注我们:

PolkaWorld Telegram 群:

  • https://t.me/+z7BUktDraU1mNWE1

PolkaWorld Youtube 频道:

  • https://www.youtube.com/c/PolkaWorld

PolkaWorld Twitter:

  • https://x.com/polkaworld_org(英文)
  • https://x.com/polkaworld_pro(中文)


标签
说明:比推所有文章只代表作者观点,不构成投资建议
原文链接:https://www.bitpush.news/articles/6804258

比推快讯

更多 >>

下载比推 APP

24 小时追踪区块链行业资讯、热点头条、事实报道、深度洞察。

邮件订阅

金融科技决策者们都在看的区块链简报与深度分析,「比推」帮你划重点。