Anoma 基础知识

资源与 ARM:Anoma 的核心概念

深入解析 Anoma 的资源模型和 ARM 架构,理解意图中心设计的核心概念。

什么是资源?

Anoma 资源机(ARM)是 Anoma 协议中定义和执行满足用户偏好的有效状态更新规则的部分。ARM 在 Anoma 协议中的作用与 EVM 在以太坊协议中的作用相似

在 Anoma 协议中,用户提交关于系统状态的偏好,系统根据这些偏好持续更新其状态。Anoma 资源机(ARM)是 Anoma 协议中定义和执行满足用户偏好的有效状态更新规则的部分。然后由共识参与者就新的提议状态达成一致。从这个意义上说,ARM 在 Anoma 协议中的作用与以太坊虚拟机在以太坊协议中的作用相似。

ARM 状态的原子单位称为资源。资源是不可变的,它们只能创建一次且只能消耗一次,这表示系统状态的变化。已创建但尚未消耗的资源构成了系统的当前状态。

每个资源都有一个与之关联的谓词,称为资源逻辑,以声明形式描述可以对资源执行的操作,实际上这意味着指定资源可以创建和消费的条件。这些条件可以包括其他资源的创建或消费、明确的操作授权(例如,检查由指定方提供的签名)等。

资源有不同的种类——资源种类由其关联的逻辑和一些称为资源标签的额外数据决定。不同种类的资源是不可替代的,除非资源逻辑明确允许,并指定在何种条件下这些资源可以被视为同类。

资源逻辑允许表达不同种类资源的行为及其相互作用,从而使应用程序得以实现。

ARM 属性

执行模型

两种最流行的执行模型是账户模型和 UTXO 模型。Anoma 资源机在资源模型中运行,这既不是账户模型也不是 UTXO 模型。在 Anoma 协议中,资源是系统的状态单元,类似于在 UTXO 模型中,UTXO 是系统的状态单元。然而,与比特币 UTXO 模型将 UTXO 视为货币单元,并且在该上下文中表达能力有限不同,资源模型是通用的,并提供了灵活性——资源逻辑允许构建不限于仅金融场景的应用,并且资源模型可以支持在任何模型中运行的应用

任意复杂度的原子状态转换

Anoma 资源机将交易完成标准设置为交易余额,而不是使用交易大小作为完成标准。每个交易中创建和消耗的资源数量不受 ARM 限制。它允许代理使用单个交易表达任意复杂的状态转换,这在逻辑状态转换需要比交易大小限制更多的创建/消耗时,在多种场景下非常方便。这为用户提供了在交易的原子性和复杂性之间进行权衡的控制权。

信息流控制

交易所涉及意图的当事人可以决定透露其状态信息的多少以及透露给谁,这不会影响 ARM 对这些状态的处理方式。这种信息流控制特性是通过屏蔽执行实现的,在这种执行方式中,状态转换仅对参与其中的当事人可见。这允许选择性披露,而不是默认情况下完全透明的情况,在完全透明的情况下,用户无法控制谁可以访问其状态。资源机基于可以实例化隐私光谱两端的抽象(屏蔽资源和透明资源)进行操作,从而实现两者之间的任何可能情况,这使得它能够拥有统一的态模型,并将具体的隐私决策委托给应该属于的用户。

账户抽象化

在以太坊的背景下,账户抽象指的是通过智能合约独家控制资产,这与初始设置中资产由用户账户控制的方案形成对比。

账户抽象默认带有 ARM:每个资源都由资源逻辑控制——这是一种自定义谓词,它编码了该类型资源有效状态转换的约束,并确定资源何时可以被创建或消耗。资源逻辑可以指定任意约束,并且不受限制(但可以根据需要包含,例如,一个签名)。

以意图为中心的架构

意图[3][4]是用户表达其使用系统下一状态偏好的方式。与结算为中心的架构[5](用户必须直接编写交易的架构)相反,以意图为中心的架构允许用户在不需指定如何实现期望状态的情况下表达他们的愿望(但如果你需要,你也可以指定)。

Anoma 的架构是以意图为中心的,Anoma 资源机旨在表达意图并确保其正确和完整地执行和结算

ARM 在 Anoma 中的作用

让我们看看系统如何在资源模型中运行,从系统用户表达偏好到执行所需状态更新的点。

未消耗的资源集构成了系统的当前状态。用户通过表达他们想要消耗和创建的资源来描述下一个期望状态(用户的意图)。

意图被匹配在一起形成事务。事务描述了建议的状态转换——要创建什么资源以及要消耗什么资源。

一个交易只有在所有涉及资源的资源逻辑得到满足时才被视为有效——即谓词返回真值。执行一个有效的交易会导致期望的资源被创建和消耗,满足用户的意图,更新系统状态。

结论

Anoma 资源机(Anoma Resource Machine)是 Anoma 协议的核心,旨在促进以意图为中心的架构,具有可编程性,赋予用户对其数据的控制权。ARM 规范的第一个版本定义了资源和交易是什么,描述了交易组合的规则,统一了所有隐私上下文中的证明概念,指定了程序格式,并涵盖了更多方面