交易和状态

Aptos 区块链核心的两个基本概念是交易和状态:

  • 交易:交易代表 Aptos 区块链上账户之间的数据交换(例如 Aptos 币或 NFT)。

  • 状态:状态(即当前区块链账本状态)代表区块链当前状态的快照。

执行交易时,Aptos 区块链的状态会发生变化。

交易

当 Aptos 区块链客户端提交交易时,他们请求使用他们的交易更新账本状态。

区块链上的签名交易包含以下信息:

  • 签名: 发件人使用数字签名来验证他们是否签署了交易(即身份验证)。

  • 发送方地址: 发送者的 账户地址

  • 发送方公钥: 对应于用于签署交易的私有认证密钥的公共认证密钥。

  • 程序: 程序包括:

    • Move 模块和函数名称或 Move 字节码交易 script。

    • script 输入的可选列表。对于点对点交易,这些输入包含接收者的信息和转账给他们的金额。

    • 要发布的 Move 字节码模块的可选列表。

  • Gas 价格 (以指定的货币/Gas 单位表示):这是发送方愿意为执行交易而为每单位 Gas 支付的金额。 Gas 是一种支付计算和存储费用的方式。Gas 单位是计算的抽象度量,没有内在的现实世界价值。

  • 最大 gas 数量: 最大 gas 量是允许交易消耗的最大 gas 单位。

  • Gas 货币代码: 用于支付 Gas 的货币代码。

  • 序列号: 是一个无符号整数,在执行时必须等于发送者的帐户序列号。

  • 过期时间: 交易停止有效(即过期)之后的时间戳。

账本状态

Aptos 区块链的账本状态(或全局状态)包括区块链中所有账户的状态。 区块链中的每个验证者节点都必须知道区块链分布式数据库(版本化数据库)最新版本的全局状态,才能执行任何交易。

Aptos 区块链中的所有数据都保存在单一版本的分布式数据库中。 版本号是一个无符号的 64 位整数,对应于系统已执行的事务数。

版本化数据库

Aptos 区块链中的所有数据都保存在单一版本的分布式数据库中。 版本号是一个无符号的 64 位整数,对应于系统已执行的事务数。

这个版本化的数据库允许验证节点:

  • 针对最新版本的账本状态执行交易。

  • 响应客户对当前和以前版本的分类帐历史的查询。

交易改变状态

图 1.0 表示执行交易 TN 如何将 Aptos 区块链的状态从 SN-1 更改为 SN。

图中:

名称描述

账户 AB

在 Aptos 区块链上代表 Alice 和 Bob 的账户

SN-1

表示区块链的第 (N-1) 个状态。 在这种状态下,Alice 的账户 A 的余额为 110 Aptos Coins,Bob 的账户 B 的余额为 52 Aptos Coins。

TN

这是在区块链上执行的第 N 个交易。 在本例中,它代表 Alice 向 Bob 发送 10 个 Aptos 币。

F

它是一个确定性函数。 F 总是为特定的初始状态和特定的交易返回相同的最终状态。 如果区块链的当前状态是 SN-1,交易 TN 是在状态 SN-1 上执行的,那么区块链的新状态总是 SN。 Aptos Blockchain 使用 Move 语言来实现确定性执行功能 F。

SN

这是区块链的第 N 个状态。 当交易 TN 应用于区块链时,它会生成新的状态 SN(将 F 应用于 SN-1 和 TN 的结果)。 这导致 Alice 的账户余额减少 10 到 100 Aptos Coins,Bob 的账户余额增加 10 到 62 Aptos Coins。 新状态 SN 显示这些更新后的余额。

Last updated