交易和状态
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。
图中:
名称 | 描述 |
---|---|
账户 A 和 B | 在 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