全局状态 1/3:blockchain 如何知道‘谁拥有什么’?

发布: (2026年5月12日 GMT+8 00:55)
4 分钟阅读
原文: Dev.to

Source: Dev.to

什么是全局状态 ?

区块链不仅仅存储交易:它始终维护一个巨大的共享内存,称为 全局状态global state)。

全局状态是特定区块链在某一时刻 T 的共享内存(每条区块链都有自己的全局状态),并且对网络中的所有节点都是相同的。


全局状态与交易的区别

全局状态是 交易执行的结果,简而言之:

  • 交易 → 历史(发生了什么)
    交易被存储在区块链的区块中。每个区块包含一系列交易、元数据以及指向前一个区块的链接。

    区块 100 :
    - Alice 向 Bob 发送 10 个代币
    - Bob 向 Charlie 发送 1 个代币

    类比:交易 = 电影 🎬

  • 全局状态 → 当前情况(现在在哪里)
    这是一张 最终结果的快照,在该区块之前所有有效交易执行完毕后的状态。全局状态充当 快捷方式,可以直接说「现在是这样」,而无需从头重新计算。

    类比:全局状态 = 电影的最后一帧 📸


交易与全局状态的关系 — 快速概述

  1. 请求 → 交易(= 指令)
  2. 区块创建(交易列表)
  3. 节点执行区块中的交易
  4. 修改全局状态

💡 每产生一个新块,区块链就会从一个全局状态转变为另一个全局状态。

Diagramme du lien entre transactions et état global


全局状态包含什么 ?

全局状态是一系列账户的列表,每个账户包含:

  • 余额balance) : 账户拥有的资产。

    • 原生加密货币(ETH、BNB…) : 直接存储在全局状态中。
    • 代币 : 存储在智能合约的数据中,但可通过钱包查看。
  • 数据data / storage) : 智能合约存储的信息。

  • Nonce(交易计数器) : 钱包已发送的交易数量。
    ⚠️ 钱包(EOA)有 nonce,智能合约本身通常没有。

  • 代码(仅限智能合约) : 规则、函数、业务逻辑。

这些数据 位于全局状态内部,存放在对应的智能合约账户中。

这块内存只回答一个问题:« 在时刻 T,谁拥有多少以及处于什么状态 ? »

Illustration de la composition de l’état global


“全局状态” 还是 “全局状态” ?

  • 全局状态 : 当谈论概念或进行定义时使用。
  • 全局状态 : 当指代具体对象、其使用或其内容时使用。
0 浏览
Back to Blog

相关文章

阅读更多 »