Glossary 词汇表
A
Accumulator Root Hash (累加器根哈希)
累加器根哈希是 Merkle 累加器的根哈希值。
Account (帐户)
Aptos 区块链中的帐户是一个任意数量的 Move 模块和 Move 资源的容器。这实质上意味着每个帐户的状态都是由代码和数据组成的。
帐户由帐户地址标识。
Account Address (帐户地址)
Aptos 帐户的地址,见帐户基础。
AptosBFT(Aptos 拜占庭容错)
Aptos 拜占庭容错是 Aptos 协议的拜占庭容错共识算法。
Aptos 拜占庭容错基于 HotStuff。
Aptos Blockchain(Aptos 区块链)
Aptos 区块链是一个由 Aptos 网络上的验证节点(验证节点网络)商定的不可更改的交易账本。
Aptos-core
Aptos-core 是 Aptos 支付网络赖以运行的开源技术。Aptos-core 包含以下软件
Aptos 区块链本身,它生成和存储确认交易的不可变的账本,以及
验证过程,它实现了验证交易的共识算法,并将其添加到 Aptos 区块链的不可变账本中。
Aptos Framework(Aptos 框架)
Aptos 框架定义了区块链更新的公共 API 和链上数据的结构。它定义了 Aptos 功能的三个关键支柱的业务逻辑和访问控制:支付、财政和链上治理。它以一套用 Move 编程语言编写的模块来实现,并以 Move 字节码的形式存储在链上。
Aptos node(Aptos 节点)
Aptos 节点是 Aptos 网络的一个对等实体,追踪 Aptos 区块链的状态。有两种类型的 Aptos 节点,验证节点和全节点。
Aptos Protocol(Aptos 协议)
Aptos 协议是关于在 Aptos 网络内如何提交、下单、执行和记录交易的规范。
AptosAccount
AptosAccount
是一个 Move 资源,持有与账户相关的所有管理数据,如序列号、余额和认证密钥。AptosAccount
是每个账户保证包含的唯一资源。
AptosAccount module(AptosAccount 模块)
AptosAccount 模块是一个移动模块,它包含了操作特定
AptosAccount.T
资源中的管理数据的代码。AptosAccount 模块中包括检查或增加序列号,提取或存入货币,以及提取 gas 存款的代码。
Aptos devnet(Aptos 开发网)
见开发网。
B
Byzantine (Validator)拜占庭(验证节点)
不遵循共识协议规范的验证节点,希望破坏协议的正确执行。
BFT 算法传统上支持高达 1/3 的算法投票权由拜占庭验证节点掌握。
Byzantine Fault Tolerance (BFT) - 拜占庭容错(BFT)
拜占庭容错(BFT)是指分布式系统在出现低于一定阈值的故障或 "拜占庭 "验证节点时提供安全和有效性保证的能力。
Aptos 区块链使用 AptosBFT,一种基于 HotStuff 的共识。
BFT 算法通常由若干实体操作,它们共同持有 N 张票(在 Aptos 网络对该系统的应用中被称为 "验证节点")。
N 的选择是为了抵御一些持有 f 票的验证人,这可能是恶意的。
在这种配置中,N 通常被设置为 3f+1。持有最多 f 票的验证节点将被允许有缺陷:离线、恶意、缓慢等等。只要诚实的验证节点持有2f+1票,它们就能就一致的决定达成共识。
这意味着 BFT 共识协议可以正常运行,即使高达 1/3 的投票权由被破坏或失败的验证节点掌握。
C
Consensus(共识)
共识是一个验证节点的一部分。
共识组件负责在所有验证节点之间就将要执行的交易块、它们的顺序和执行结果进行协调和达成协议。
Aptos 区块链是由这些商定的交易及其相应的执行结果形成的。
Consensus Protocol(共识协议)
共识协议由 n 个验证节点集体执行,以接受或拒绝一项交易,并就交易的顺序和执行结果达成一致。
见 BFT
D
devnet(开发网)
开发网是一个公开部署的 Aptos 网络实例,使用一组验证测试节点运行。
开发网是 Aptos 网络的一个示范,它是为实验新想法而建立的。
开发网模拟了一个数字支付系统,devnet 上的代币不具备现实世界的价值。
E
Ed25519
Ed25519 是我们所支持的数字签名方案。
更具体地说,Aptos 网络在 Ed25519 曲线上使用 PureEdDSA 方案,如 RFC 8032 所定义。
Event(事件)
事件是执行交易的效果面向用户的表示。
一个交易可以被设计为发出任何数量的事件作为一个列表。例如,一个
Coin<AptosCoin>
的转移会对发送方帐户发出一个WithdrawEvent
,对接收方帐户发出一个DepositEvent
。在 Aptos 协议中,事件提供证据,证明交易的成功执行导致了一个特定的效果。
DepositEvent
(在上面的例子中)允许收件人确认他们的账户中收到了一笔付款。事件将永久被保存在区块链上,并被用来回应客户端的查询。
Expiration Time(过期时间)
一项交易在其到过期时间后就不再有效。如果假设:
Time_C 是验证节点之间商定的当前时间(Time_C不是客户端的本地时间)
Time_E 是一个交易 T_N 的过期时间;并且
Time_C > Time_E,并且交易 T_N 没有被纳入区块链
那么就可以保证 T_N 永远不会被包含在区块链中。
F
Faucet(水龙头)
水龙头是创造 Aptos 测试货币的方式,不具备现实世界的价值。
水龙头是一个与开发网一起运行的服务。这项服务只是为了方便开发网铸造代币。
你可以向水龙头发送请求以铸造代币并代表你将其转移到指定的帐户中。
G
Gas
Gas 是一种在区块链网络上支付计算和存储的方式。Aptos 网络上的所有交易都需要花费一定数量的 gas。
一笔交易所需的 gas 取决于交易的规模,执行交易的计算成本,以及交易创造的额外全局状态的数量(例如,如果创建了新账户)。
Gas 的目的是调节对验证者有限的计算和存储资源的需求,包括防止拒绝服务(DoS)攻击。
Gas price(Gas 价格)
每笔交易都规定了发送方愿意支付的 gas 价格。 gas 价格以货币/ gas 单位指定。
一笔交易所需的 gas 价格取决于当前对网络的使用需求。
Gas 成本在某个时间点上是固定的。Gas 成本以 gas 单位计价。
H
Honest (Validator)- 诚信(验证节点)
一个忠实地执行共识协议的验证节点,并且不是拜占庭式的。
HotStuff
HotStuff 是最近提出的一种 BFT 共识协议。
Aptos 网络的共识算法 AptosBFT,是基于 HotStuff 的。
它简化了对安全的推理,并解决了以前共识协议的一些性能限制。
L
Leader(领导节点)
领导节点是一个验证节点,为共识协议提出一个交易块。
在基于领导节点的协议中,节点必须就领导节点达成一致才能取得进展。
领导节点是由一个以当前轮数为输入的函数选择的。
M
Maximum Gas Amount(最大 gas 量)
交易的最大 gas 量是指发送方准备为该交易支付的最大 gas 量。
收取的 gas 等于 gas 价格乘以处理该交易所需的 gas 单位。如果结果小于最大 gas 量,则说明交易已成功执行。
如果交易在执行过程中耗尽了 gas,或者帐户在执行过程中耗尽了余额,那么发送方将被收取所使用的 gas,交易将失败。
Mempool
Mempool 是验证节点的组成部分之一。它持有一个已经提交但尚未同意和执行的交易的内存缓冲区。Mempool 从 JSON-RPC 服务接收交易。
验证节点的 Mempool 中的交易是从当前节点的 JSON-RPC 服务和其他 Aptos 节点的 Mempool 中加入的。
当当前验证节点是领导节点时,其共识组件从其 mempool 中提取交易,并提出构成区块的交易的顺序。然后,验证节点的法定数对该提议进行投票。
Merkle Trees(默克尔树)
默克尔树是一种认证的数据结构,可以有效验证数据的完整性和更新。
Aptos 网络将整个区块链视为一个单一的数据结构,记录了一段时间内的交易历史和状态。
默克尔树的实现简化了访问区块链的应用程序的工作。它使应用程序能够
从任何时间点读取任何数据。
使用一个统一的框架验证数据的完整性。
Merkle Accumulator(默克尔累加器)
默克尔累加器是 Aptos 区块链用来存储账本的仅有附加的默克尔树。
默克尔累加器可以提供一个交易被纳入链中的证明(「纳入证明」)。
它们在文献中也被称为「历史树」。
Move
Move 是一种新的编程语言,实现了 Aptos 区块链上的所有交易。
它有两种不同类型的代码:交易脚本和 Move 模块。
Move Bytecode(Move 字节码)
Move 程序被编译为 Move 字节码。
Move 字节码用来表示交易脚本和 Move 模块。
Move Module(Move 模块)
Move 模块定义了更新 Aptos 区块链全球状态的规则。
在 Aptos 协议中,一个 Move模 块是一个智能合约。
每个用户提交的交易都包括一个交易脚本。交易脚本调用一个或多个 Move 模块的程序,根据规则更新区块链的全球状态。
Move Resources(Move 资源)
Move 资源包含的数据可以根据 Move 模块中声明的程序进行访问。
Move 资源不能被复制、重复使用或丢失。这就保护了 Move 程序员不至于意外地或故意地失去对资源的追踪。
Move Virtual Machine (MVM) - Move 虚拟机(MVM)
Move 虚拟机执行用 Move 字节码编写的交易脚本,以产生一个执行结果。这个结果被用来更新区块链状态。
该虚拟机是验证节点的一部分。
N
Node(节点)
节点是 Aptos 网络的一个对等实体,跟踪 Aptos 区块链的状态。
一个 Aptos 节点由逻辑组件组成。Mempool,共识,和虚拟机是节点组件的示例。
O
Open-Source Community (开源社区)
开源社区是一个术语,用于指从事开源软件的开发者群体。如果你正在阅读本词汇表,那么你就是 Aptos 项目开发者社区的一员。
P
Proof(证明)
证明是验证区块链中数据准确性的一种方式。
Aptos 区块链中的每一个操作都可以通过加密验证,证明它确实是正确的,数据没有被遗漏。
例如,如果用户查询某个已执行交易内的信息,他们将得到一个加密证明,证明返回给他们的数据是正确的。
R
REST Service(REST 服务)
REST 服务组件是 Aptos 节点的外部接口。任何传入的客户端请求,如提交的交易或查询,都必须首先经过 REST 服务。客户端需要通过 REST 服务组件来访问存储或系统中的任何其他组件。这样可以过滤请求并保护系统。
每当客户端提交一个新的交易,REST 服务就会将其传递给 mempool。
Round(回合)
一个回合包括就一个交易块和它们的执行结果达成共识
Round Number(回合数)
回合数是一个共享的计数器,用于在共识协议的一个时期内选择领导节点。
S
Sequence Number(序列号)
一个帐户的序列号表示从该账户提交并在链上提交的交易的数量。每次从该帐户发送的交易被执行或中止时,它都会被递增,并存储在区块链中。
只有当交易与发送方帐户的当前序列号相匹配时才会被执行。这有助于对来自同一发送方的多个交易进行排序,并防止重放攻击。
如果一个帐户 A 的当前序列号是 X,那么帐户 A 的交易 T 只有在 T 的序列号是 X 时才会被执行。
这些交易将被保存在 mempool 中,直到它们成为该帐户的下一个序列号(或直到它们过期)。
当交易被应用时,该帐户的序列号将变成 X+1。该帐户的序列号是严格递增的。
Sender(发送方)
等同于:发送方地址
发送方是指交易的发起人帐户的地址。一笔交易必须由发端人签字。
Smart Contract(智能合约)
见 Move 模块。
State(状态)
Aptos 协议中的状态是分布式数据库的一个快照。
交易会修改数据库,并产生一个新的和更新后的状态。
State Root Hash(状态根哈希)
状态根哈希是对所有密钥的默克尔哈希,并对 Aptos 区块链在特定版本的状态进行估值。
T
Transaction(交易)
一个原始交易包括以下字段:
发送方(帐户地址)
交易脚本
Gas 价格
最大 gas 量
序列号
过期时间
一个签名过的交易是一个带有数字签名的原始交易。
一个被执行的交易会改变 Aptos 区块链的状态。
Transaction Script(交易脚本)
用户提交的每个交易都包括一个交易脚本。
它代表了客户端提交给验证器的操作。
该操作可能是一个代将币从用户 A 转移到用户 B 的请求,也可能涉及与已发布的 Move 模块/智能合约的互动。
交易脚本是一个任意程序,它通过调用模块的程序与 Aptos 区块链全局存储中发布的资源进行交互。它对交易的逻辑进行编码。
一个交易脚本可以向多个接收方发送资金,并调用几个不同模块的程序。
交易脚本不存储在全局状态中,不能被其他交易脚本调用。它是一个一次性使用的程序。
V
Validator(验证节点)
替代名称:验证者
验证节点是 Aptos 生态系统的一个实体,在 Aptos 区块链上进行验证。它接收客户端的请求,并运行共识、执行和存储。
验证节点维护着区块链上所有交易的历史。
在内部,验证节点需要保持当前状态,执行交易,并计算下一个状态。
Version(版本)
版本在区块链文献中也被称为「高度」。
Aptos 区块链没有一个明确的区块概念,它只使用区块来批处理和执行交易。
高度为 0 的交易是第一笔交易(创世交易),而高度为 100 的交易是交易存储中的第 101 笔交易。
W
Well-Formed Transaction(格式标准的交易)
如果一个 Aptos 交易满足以下条件,那么它就是格式标准的:
该交易有一个有效的签名
发送方地址存在帐户
它包括一个公钥,并且公钥的哈希值与发送方帐户的认证密钥相匹配
交易的序列号与发送方的序列号一致
发送方帐户的余额大于最大 gas 量
交易的过期时间未过
Last updated