Aptos 术语表
累加器根哈希
Section titled “累加器根哈希”- 累加器根哈希 是 Merkle 累加器 的根哈希。
详情请参阅 账户。
- 账户地址 是 Aptos 账户的地址。
- 账户地址指向 Aptos 网络上的特定目的地。地址决定了区块链上两方之间交换的特定数量资产的目的地和来源。
- Aptos 地址是 64 个字符的十六进制字符串(32 字节)。这些字符串通常以
0x为前缀,对于前 16 个地址,前导零会被省略(例如0x1)。
详情请参阅 账户。
- 应用程序编程接口(API) 是一组协议和工具,允许用户通过外部应用程序与 Aptos 区块链节点和客户端网络进行交互。Aptos 提供 REST API 来与我们的节点进行通信。
- 详情请参阅 API 文档。
Aptos 代币(APT) 是 Aptos 区块链的原生代币,用于支付网络和交易费用。
Aptos 是一个面向所有人的 Layer 1 区块链。它使用 Move 编程语言,于 2022 年 10 月 17 日启动主网,旨在重新定义 Web3 用户体验。Aptos 区块链致力于通过提高速度、安全性、可扩展性、可靠性和可用性,以较低的交易成本创造更好的用户体验。“Aptos” 在 Ohlone 语言中意为”人民”。欲了解更多关于 Aptos 区块链的信息,请访问 Aptos 官方网站。
AptosBFT
Section titled “AptosBFT”- AptosBFT 是 Aptos 协议的 BFT 共识算法。
- AptosBFT 基于 Jolteon。
Aptos 区块链
Section titled “Aptos 区块链”- Aptos 区块链 是由 Aptos 网络(验证者网络)上的验证者达成共识的不可变交易账本。
Aptos 域名服务(ANS)
Section titled “Aptos 域名服务(ANS)”- Aptos 域名服务(ANS) 是 Aptos 区块链的去中心化域名地址服务。Aptos 域名是一个人类可读的 .apt 域名,用于替代公钥,例如 love.apt。
- 该服务还允许用户在注册域名的基础上注册子域名。了解更多请访问:Aptosnames.com
Aptos Core
Section titled “Aptos Core”Aptos-core 是包含 Aptos 网络软件代码的 开源仓库。Aptos-core 包含以下软件:
- Aptos 区块链本身,它生成并存储已确认交易的不可变账本
- 验证过程,它实现共识算法以验证交易并将其添加到 Aptos 区块链的不可变账本中
Aptos 生态系统
Section titled “Aptos 生态系统”Aptos 浏览器
Section titled “Aptos 浏览器”- Aptos 浏览器 是一个帮助用户查看 Aptos 区块链详细信息的界面,包括账户信息、验证者和交易。
- Aptos 浏览器帮助用户验证他们在 Aptos 钱包和区块链上其他工具中的操作。
Aptos 框架
Section titled “Aptos 框架”Aptos 框架 定义了区块链更新的公共 API 和链上数据的结构。它定义了 Aptos 功能三大支柱的业务逻辑和访问控制:支付、资金库和链上治理。它作为一组用 Move 编程语言编写的模块实现,并作为 Move 字节码存储在链上。
Aptos 节点
Section titled “Aptos 节点”Aptos 节点 是 Aptos 网络的对等实体,跟踪 Aptos 区块链的状态。有两种类型的 Aptos 节点:验证者 和 全节点。
Aptos 协议
Section titled “Aptos 协议”- Aptos 协议 是关于如何在 Aptos 网络内提交、排序、执行和记录交易的规范。
AptosAccount
Section titled “AptosAccount”AptosAccount是一个 Move 资源,包含与账户相关的所有管理数据,如序列号、余额和认证密钥。AptosAccount是每个账户都保证包含的唯一资源。
AptosAccount 模块
Section titled “AptosAccount 模块”- AptosAccount 模块 是一个 Move 模块,包含用于操作特定
AptosAccount.T资源中管理数据的代码。 - 用于检查或增加序列号、提取或存入货币以及提取 gas 存款的代码都包含在 AptosAccount 模块中。
Aptos 开发网
Section titled “Aptos 开发网”- 参见 开发网。
- 在 Aptos 上,区块是同时提交的一批 交易。
- 区块号类似于区块链文献中的”区块高度”。
- 交易通过账本版本而非区块进行引用。
BlockSTM
Section titled “BlockSTM”- BlockSTM 是由 Aptos Labs 团队开发的最先进的动态并行执行引擎。
- 动态并行允许开发人员灵活编写应用程序,无需面临静态声明交易写集的设计约束。
- 它已被业界多个区块链采用。
- 更多详情可在 博客文章 和 a16z crypto 的演讲 中找到。
拜占庭(验证者)
Section titled “拜占庭(验证者)”- 不遵循共识协议规范并希望破坏协议正确执行的 验证者。
- BFT 算法传统上支持最多三分之一的算法投票权由拜占庭验证者持有。
拜占庭容错(BFT)
Section titled “拜占庭容错(BFT)”- 拜占庭容错(BFT)是分布式系统在存在低于某个阈值的故障或”拜占庭”验证者时提供安全性和活性保证的能力。
- Aptos 区块链使用 AptosBFT,一种基于 Jolteon 的共识协议。
- BFT 算法通常与多个实体一起运行,这些实体共同持有 票(在 Aptos 网络的系统应用中称为”验证者”)。
- 选择 是为了抵抗持有 票的某些验证者可能是恶意的情况。
- 在此配置中, 通常设置为 。最多持有 票的验证者将被允许出现故障——离线、恶意、缓慢等。只要 票由 诚实 验证者持有,他们就能够就一致的决定达成共识。
- 这意味着 BFT 共识协议可以正确运行,即使最多三分之一的投票权由被入侵或失败的验证者持有。
- 命令行界面 指用于在 Aptos 区块链上开发、操作节点和调试问题的 Aptos CLI。了解更多请访问 Aptos CLI 页面。
- 客户端 是从区块链接收信息并管理交易的软件。客户端通过 Aptos 节点与区块链交互。
- 代码实验室和教程 描述了各种工作流程——例如使用 Aptos CLI 铸造非同质化代币(NFT)——以便用户了解流程的工作原理并在其代码中使用相关功能。如果用户的账户中有必要的资金,他们可以按照在开发网、测试网和主网网络中使用的相同代码实验室和教程步骤进行操作。
- 共识 是验证者的一个组件。
- 共识组件负责所有验证者之间对要执行的交易区块、其顺序和执行结果的协调和达成一致。
- Aptos 区块链由这些达成一致的交易及其相应的执行结果形成。
- 共识组件负责在 Aptos 区块链上的所有验证者之间实现安全、信任和一致。
- 共识协议 由 n 个验证者共同执行,以接受或拒绝交易,并就交易的顺序和执行结果达成一致。
- 参见 BFT。
- 去中心化应用(dapps) 是在 Aptos 区块链上自主运行的程序或数字应用。智能合约通常用于实现此功能。
- Aptos 开发网 是使用一组验证者测试节点运行的 Aptos 网络的公开部署实例。
- 开发网是为实验新想法而构建的 Aptos 网络演示。
- 开发网模拟数字支付系统,开发网上的代币 没有任何现实价值。
- 开发网是开发人员有机会测试给定协议的网络。它类似于测试网,独立于主网运行,但每周重置。
Ed25519
Section titled “Ed25519”- Ed25519 是我们支持的数字签名方案。
- 更具体地说,Aptos 网络使用 Ed25519 曲线上的 PureEdDSA 方案,如 RFC 8032 中定义的那样。
- 纪元 是验证者集合重新配置和区块链其他管理操作之间的时间段。在 Aptos 主网上,目前是每 2 小时。
- 事件 是执行交易效果的面向用户的表示。
- 交易可以设计为以列表形式发出任意数量的事件。例如,
Coin<AptosCoin>转账会为发送方账户发出WithdrawEvent,为接收方账户发出DepositEvent。 - 在 Aptos 协议中,事件提供了交易成功执行产生特定效果的证据。
DepositEvent(在上述示例中)允许接收方确认已收到付款到其账户。 - 事件持久化在区块链上,用于响应 客户端 的查询。
- Aptos 区块链中的 执行 是管理交易区块的 Aptos 节点组件。执行组件存储成功的交易。
交易在其 过期时间 之后将不再有效。假设:
- 是验证者之间达成一致的当前时间( 不是客户端的本地时间);
- 是交易 的过期时间;且
- 并且交易 尚未包含在区块链中,则可以保证 永远不会被包含在区块链中。
- 全节点 是确保数据在网络上保持最新存储的客户端。它们从其他全节点和验证者节点复制区块链状态和交易。
- 同质化资产 是一种资产,如货币、股份、游戏内资源等,可以与另一个相同的资产互换而不会损失其价值。例如,APT 是同质化资产,因为您可以将一个 APT 换成另一个。
- 按照 资产标准 在 Aptos 区块链上创建同质化资产。
- 这是 Coin 标准的下一代,解决了
aptos_framework::coin的不足,如缺乏冻结和销毁的保证执行,以及高级功能,如可编程转账,例如 ERC-20 中的 approve。
- 对于传统的 Aptos 代币标准(aptos_token::token),同质化代币 是可以与其他相同代币互换的代币(即共享相同
TokenId的代币)。这意味着代币具有相同的创建者地址、集合名称、代币名称和属性版本。 - 对于 Aptos 数字资产标准(aptos_token_objects::token),同质化代币 是具有包含数字资产资源的元数据对象的同质化资产。
- 同质化单位 是同质化资产的单个单位。这些单位是相同的,可以互换而不会损失价值。例如,每个 Octa(APT 的最小单位)都是一个同质化单位。
- Gas 是在区块链网络上支付计算和存储费用的方式。Aptos 网络上的所有交易都需要一定数量的 gas。
- 交易所需的 gas 取决于交易的大小、执行交易的计算成本以及交易创建的额外全局状态量(例如,如果创建了新账户)。
- gas 的目的是调节对验证者有限计算和存储资源的需求,包括防止拒绝服务(DoS)攻击。
详情请参阅 Gas 和存储费用。
Gas 单价
Section titled “Gas 单价”- 每笔交易都指定了发送方愿意为每单位 gas 支付的 gas 单价。
- 交易所需的 gas 价格取决于当前网络的使用需求。
- Gas 价格以 Octa 表示。
详情请参阅 Gas 和存储费用。
诚实(验证者)
Section titled “诚实(验证者)”- 诚实 意味着验证者忠实地执行共识协议,而不是拜占庭的。
- 索引器 是 Aptos 的组件,它检索、处理并高效地将原始数据存储在数据库中,以提供对 Aptos 区块链状态的快速访问。
- 从高层来看,索引器从 gRPC 流获取数据,运行处理器来转换原始区块链数据,并通过 GraphQL 端点提供转换后的数据。
Jolteon
Section titled “Jolteon”- Jolteon 是 BFT 共识协议的最新提案。
- AptosBFT,即 Aptos 网络的共识算法,基于 Jolteon。
- 它简化了安全性推理,并解决了以前共识协议的一些性能限制。特别是,与 HotStuff 相比,它将延迟降低了 33%。
- 领导者 是为共识协议提议交易区块的验证者。
- 在基于领导者的协议中,节点必须就领导者达成一致才能取得进展。
- 领导者由一个以当前 轮次号 为输入的函数选择。
- 主网 指一个完全运行的区块链。主网网络已完全部署,执行将数字货币从发送方转移到接收方的功能。
最大 Gas 量
Section titled “最大 Gas 量”- 交易的 最大 Gas 量 是发送方准备为交易支付的最大 gas 单位数量。
- 只有当使用的 gas 不超过最大 gas 量时,交易才能成功执行。
- 收取的 gas 等于 gas 价格乘以处理此交易所需的 gas 单位。
- 如果交易在执行过程中耗尽 gas 或账户在执行过程中余额耗尽,则发送方将被收取已使用的 gas,交易将失败。
详情请参阅 Gas 和存储费用。
- 内存池 是验证者的组件之一。它在内存中保存已提交但尚未达成一致和执行的交易的缓冲区。内存池从其他 全节点 接收交易。
- 验证者内存池中的交易从当前节点的 JSON-RPC 服务和其他 Aptos 节点的内存池添加。
- 当当前验证者是领导者时,其共识组件从其内存池中提取交易,并提议形成区块的交易顺序。然后验证者法定人数对提案进行投票。
Merkle 树
Section titled “Merkle 树”- Merkle 树 是一种经过身份验证的数据结构类型,允许高效验证数据完整性和更新。
- Aptos 网络将整个区块链视为一个记录交易和状态历史的单一数据结构。
- Merkle 树 实现简化了访问区块链的应用程序的工作。它允许应用程序:
- 从任何时间点读取任何数据。
- 使用统一框架验证数据完整性。
Merkle 累加器
Section titled “Merkle 累加器”- Merkle 累加器 是 Aptos 区块链用于存储账本的 只追加 Merkle 树。
- Merkle 累加器可以提供交易包含在链中的证明(“包含证明”)。
- 它们在文献中也被称为”历史树”。
- Move 编程语言中的 模块 可以是创建、转移或存储资产的程序或库。
- Move 是一种新的编程语言,实现了 Aptos 区块链上的所有交易。
- 它有两种不同类型的代码——Move 脚本 和 Move 模块。
- Move 是一种安全的 Web3 编程语言,强调访问控制和稀缺性。它是用于构建 Aptos 区块链的编程语言。您可以在 Aptos 上的 Move 中阅读更多相关信息。
Move 字节码
Section titled “Move 字节码”- Move 程序被编译成 Move 字节码。
- Move 字节码用于表达 Move 脚本和 Move 模块。
Move 模块
Section titled “Move 模块”- Move 模块 定义了更新 Aptos 区块链全局状态的规则。
- 在 Aptos 协议中,Move 模块是 智能合约。
- 每个用户提交的交易都包含一个 Move 脚本。Move 脚本调用一个或多个 Move 模块的过程,根据规则更新区块链的全局状态。
Move 资源
Section titled “Move 资源”- Move 资源 包含可以根据 Move 模块 中声明的 过程 访问的数据。
- Move 资源永远不能被复制、重用或丢失。这保护 Move 程序员不会意外或故意丢失资源的跟踪。
Move 脚本
Section titled “Move 脚本”- 用户提交的每笔交易都包含一个 Move 脚本。
- 这些交易,也称为 Move 脚本,代表客户端提交给验证者的操作。
- 操作可能是将代币从用户 A 转移到用户 B 的请求,也可能涉及与已发布的 Move 模块(智能合约)的交互。
- Move 脚本是一个任意程序,通过调用模块的过程与 Aptos 区块链全局存储中发布的资源交互。它编码了交易的逻辑。
- 单个 Move 脚本可以向多个接收方发送资金,并调用多个不同模块的过程。
- Move 脚本 不 存储在全局状态中,也不能被其他 Move 脚本调用。它是一次性程序。
要查看 Move 脚本的示例用法,请参阅 Move 脚本。
Move 虚拟机(MVM)
Section titled “Move 虚拟机(MVM)”- Move 虚拟机 执行用 Move 字节码 编写的 Move 脚本以产生执行结果。此结果用于更新区块链 状态。
- 虚拟机是 验证者 的一部分。
- Move 虚拟机(MoveVM)处理每个验证者节点,将交易与当前区块链账本状态一起翻译,以产生变更集作为输入或存储增量作为输出。
- Nonce 是仅使用一次的数字,是为身份验证协议和加密哈希函数的特定用途生成的随机或半随机数字。
- Octa 是 APT 的最小单位。1 APT = 108 Octa。
- 开源社区 是用于描述从事开源软件工作的开发人员群体的术语。如果您正在阅读这个术语表,那么您就是 Aptos 项目开发者社区的一部分。
- 证明 是验证区块链中数据准确性的方法。
- Aptos 区块链中的每个操作都可以通过密码学验证其确实正确且数据未被遗漏。
- 例如,如果用户查询特定已执行交易中的信息,他们将获得返回给他们的数据正确的密码学证明。
权益证明(PoS)
Section titled “权益证明(PoS)”权益证明(PoS) 是一种安全机制,用于确认区块链交易的唯一性和合法性。PoS 共识机制由 Aptos 区块链利用,由验证者网络提供支持,验证者反过来更新系统并处理交易。
- 仲裁存储 是在验证者集合中分发交易(批量)的组件。
- 它通过消除领导者瓶颈显著提高了共识吞吐量。
- 它将数据分发与元数据排序解耦,允许验证者异步并行分发数据。
- 更多详情可在 博客文章 中找到。
Randapp
Section titled “Randapp”- 使用随机性实现其功能的 dapp。
- 资源账户 用于管理独立于用户管理账户的资源。例如,开发人员可以使用资源账户来管理用于模块发布的账户,比如管理合约。
- 合约本身在初始化后不需要签名者。资源账户为模块提供了向其他模块提供签名者并代表模块签署交易的手段。
使用说明请参阅 资源账户。
REST API 服务
Section titled “REST API 服务”- REST API 服务 组件是 Aptos 节点的外部接口。任何传入的客户端请求,如提交的交易或查询,必须首先通过 REST 服务。客户端需要通过 REST 服务组件来访问存储或系统中的任何其他组件。这过滤请求并保护系统。
- 每当客户端提交新交易时,REST 服务会将其传递给 内存池。
- 轮次 包括就一个交易区块及其执行结果达成共识。
- 轮次号 是一个共享计数器,用于在共识协议的 纪元 期间选择领导者。
- Aptos 软件开发工具包(SDK) 是一套工具,使开发人员能够在 Aptos 平台上快速创建自定义应用。了解更多请访问 使用 Aptos SDK。
- 账户的 序列号 表示从该账户提交并在链上确认的交易数量。每次从该账户发送的交易执行或中止并存储在区块链中时,它都会递增。
- 只有当交易与发送方账户的当前序列号匹配时,交易才会执行。这有助于对来自同一发送方的多个交易进行排序,并防止重放攻击。
- 如果账户 A 的当前序列号是 X,则账户 A 上的交易 T 只有在 T 的序列号是 X 时才会执行。
- 这些交易将保留在内存池中,直到它们成为该账户的下一个序列号(或直到它们过期)。
- 当交易被应用时,账户的序列号将变为 X+1。账户具有严格递增的序列号。
- 替代名称:发送方地址。
- 发送方 是发起交易的地址。交易必须由发送方签名,但可以有多个签名者。
- 降低 BFT 协议延迟的方法。参见 Shoal 论文
- 智能合约 指自动直接执行合约条款的计算机程序。
- 相关详情请参阅 Move 模块。
- Aptos 协议中的 状态 是分布式数据库的快照。
- 交易修改数据库并产生新的更新状态。
- 状态根哈希 是 Aptos 区块链在给定版本的所有键和值状态的 Merkle 哈希。
- 表 实现了 Table 类型,在 Aptos 中用于在账户内大规模存储键值数据信息。
相关 Aptos 源文件请参阅 table.move。
- 测试网 描述了一个尚未完全功能但比开发网更稳定的 Aptos 网络;它是用于测试的主网替代网络。
- 代币 是在区块链上发行的数字价值单位。它们可以兑换为持有的资产或价值。代币可以是以下类型:同质化代币(FT)、非同质化代币(NFT)和半同质化代币(SFT)。
- 参见 Move 脚本
- 替代名称:验证者们。
- 验证者 是 Aptos 生态系统的实体,在 Aptos 区块链上进行验证。它接收客户端请求并运行共识、执行和存储。
- 验证者维护区块链上所有交易的历史记录。
- 在内部,验证者需要保持当前状态,执行交易,并计算下一个状态。
- Aptos 验证者负责验证交易。
- 验证者节点 是参与共识的特殊全节点类,特别是 Aptos 中的拜占庭容错(BFT)共识协议。验证者就要添加到 Aptos 区块链的交易以及添加顺序达成一致。
- 版本 是每笔 交易 按顺序递增的数字。
- 在 Aptos 上,交易是全局排序的,每笔交易都有一个版本(在区块链文献中通常称为”高度”)。
- 交易版本 0 是第一笔交易(创世交易),交易版本 100 是区块链中的第 101 笔交易。
格式良好的交易
Section titled “格式良好的交易”如果以下每个条件对交易都为真,则 Aptos 交易是 格式良好的:
- 交易具有有效签名。
- 发送方地址存在账户。
- 它包含公钥,公钥的哈希与发送方账户的认证密钥匹配。
- 交易的序列号与发送方账户的序列号匹配。
- 发送方账户的余额大于 最大 gas 量。
- 交易的过期时间尚未过去。