101:账户模型是标准的根:UTXO vs Account vs Object

  • Henry
  • 发布于 4小时前
  • 阅读 36

不同链的代币、NFT、权限与执行方式,都由底层账户模型决定。理解 UTXO、账户模型与 Move 对象模型的差异,是理解多链标准的第一原则。

📚 作者:Henry 🧱 系列:《Web3 多链标准体系全解析》 · 第 2 篇 👨‍💻 受众:Web3 前端工程师 / 区块链开发者 / Web3入门者

👉适合人群: ✅ Web3 初学者 ✅ 想转型到 Web3 的技术 / 内容 / 产品从业者\ ✅ 希望用碎片化时间积累系统认知的朋友

如果你觉得有收获,欢迎点赞(❤️)+ 收藏,一起学习、彼此交流 🙌

在所有标准开始之前,我们必须先理解几个最核心的问题:

  • 为什么不同的链标准完全不同?
  • 为什么 ERC20 无法在比特币上复现?
  • 为什么 Solana、Cosmos、Aptos、Sui 的资产结构都各走一条路?

答案是:

底层账户模型决定标准上限

无论是代币(FT)、NFT、权限模型、交易格式,甚至跨链协议的设计,都由账户模型决定。

我们一起聊聊 Web3 最底层的三种账户模型:

  • 比特币:UTXO 模型
  • 以太坊:账户(Account)模型
  • Move 生态(Aptos/Sui):对象(Object)模型

理解了它们,就能真正理解为什么“不同链必须有不同标准”。

账户模型: Web3 的“第一性原理”

资产是什么?合约是什么?交易是什么?

这些表层概念都由账户模型定义:

  • 资产在哪里存储?
  • 资产如何变化?
  • 资产可不可以被复制?
  • 一个地址有多少状态?
  • 状态如何并行执行?
  • 可否防止重入与双花?

这些问题决定: ✓ 能否支持 DeFi ✓ NFT 如何存在 ✓ Gas 计算方式 ✓ 合约安全特性 ✓ 标准的接口形式 ✓ 扩展性和组合性 ✓ 跨链设计是否可行 也就是说:

账户模型是 Web3 的根,标准只是树冠。


UTXO 模型:比特币的“硬币账本”

UTXO(Unspent Transaction Output)是什么?

把它理解为:

  • 每个 UTXO 是一枚硬币
  • 只有未花费的硬币可以用
  • 每次转账必须“找零”
关键特点: 特性 说明
无账户余额 只有硬币集合(UTXO 集)
交易消耗旧 UTXO,产生新 UTXO 每次转账都会生成一组新的 UTXO
天然并行 不同 UTXO 可独立处理
难以表达合约逻辑 UTXO 不擅长存状态

为什么 UTXO 没法直接实现 ERC20?

ERC20 的核心是:

mapping(address => uint256) balanceOf;
mapping(address => mapping(address => uint256)) allowance;

UTXO 没有:

  • balance
  • approve
  • allowance
  • 可变状态

因此:

UTXO 上无法原生支持 ERC20/NFT,需要额外协议模拟。

(例如 BRC20 是 JSON 铭文 hack,不是标准)

UTXO 的优势

  • 安全简单
  • 并行性极强
  • 容易验证
  • 巨大可扩展潜力(通过 Layer2)

但不擅长复杂状态 → 限制智能合约表现力。


Account 模型:以太坊的“世界状态机”

以太坊的创新是:

引入全局账户 + 可变状态 = 有状态智能合约

账户模型结构

账户类型 状态内容
外部账户(EOA) nonce、余额
合约账户 code、storage、余额

为什么 ERC20 在以太坊成立?

因为账户模型支持:

  • 全局状态(storage)
  • 映射(mapping)
  • 余额(balance)
  • 授权结构(allowance)
  • 合约可执行逻辑

因此 ERC20 / ERC721 才能存在。

账户模型的优点

  • 适合可组合合约(DeFi)
  • 适合复杂状态机
  • 适合 NFT 与元数据
  • 生态繁荣,标准清晰

账户模型的缺点

  • 全局状态导致 并行执行困难
  • 重入漏洞成为常见攻击
  • 状态规模不断膨胀
  • Gas 费用高

因此新一代链开始走向“对象模型”。


对象模型(Object Model):Move 生态的资产革命

Move(Aptos / Sui)的核心理念是:

资产应该是一种受保护的对象,而不是某个 mapping 中的一条记录。

对象模型的基本概念

  • 每个 Object 有唯一 ID
  • 资产本身是链上一等资源
  • 资产不可复制,不可随意删除
  • 状态独立,不共享全局映射

举例:

struct Coin has key {
    value: u64
}

每一个 Coin 都是一个真实对象,而不是 ERC20 中的一个数字。

对象模型极大提升安全性

对象具有:

特性 影响
不可复制 天然抗通胀、抗攻击
不可随意转移 防止授权漏洞
无共享 map 天然防重入攻击
独立状态 更易并行执行

对象模型对标准的影响

Move 链的资产标准不是接口,而是对象结构与能力(abilities)

所以:

  • 没有 ERC20
  • 但有 TokenV2(Aptos)
  • Kiosk / Dynamic Fields(Sui)

对象模型正在重塑资产标准。


三种账户模型的对比总结

特性 UTXO Account Object (Move)
状态存在哪里? UTXO 集 账户 storage 独立对象
能否存复杂状态? 不能
并行执行能力 极强 较弱
安全性 受重入/状态共享影响 极高(资源安全)
典型链 BTC ETH、EVM Aptos、Sui
是否支持 ERC 标准 ✔️ ❌(但有更先进的对象标准)

结论:

三种模型并行存在,不是替代关系,而是需求差异导致的设计结果。

账户模型决定标准、生态与产品形态

为什么不同链的标准完全不同?

因为账户模型不同:

账户模型 导致的标准体系
Bitcoin UTXO BRC/Runes(协议补丁)
Ethereum Account ERC20/721/1155 体系
Solana Account(并行) SPL / Metaplex
Cosmos Account(链独立) CW / ICS(IBC)
Aptos/Sui Object TokenV2 / Kiosk / Dynamic Fields

因此:

标准不是随机产生的,而是由底层账户模型决定的必然产物。


对 Web3 开发者的意义:为什么必须理解账户模型?

理解账户模型,就能:

  • 知道不同链为什么要设计特定标准
  • 知道资产为何表现不同
  • 知道为什么 ERC20 无法在 UTXO 链上实现
  • 理解 Move 链为什么号称更安全
  • 掌握不同链执行效率差异
  • 判断一条链适合做什么应用
  • 更好地设计多链应用与跨链架构

这就是账户模型的力量。

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论