当前位置: 首页 > news >正文

UTXO 模型及扩展模型

目录

  • 引言
  • 1. 比特币的 UTXO 模型(信封)
  • 2. 以太坊的账户模型(全局状态机)
  • 3. UTXO 的代表性改进
    • (1)Nervos CKB:Cell(盒)
    • (2)Cardano:EUTXO(纸)
    • (3)Qtum:翻译层(译)
    • (4)Sui:双轨对象(双)
    • (5)Fuel:严格访问列表(点)
  • 4. 执行/并发的直觉对比
  • 总结

引言

区块链里最绕人的,往往不是数学,而是“账本怎么记”。比特币用 UTXO(像一次性零钱信封),以太坊用 账户+全局状态;后来的 CKB、Cardano、Qtum、Sui、Fuel 则在不丢掉 UTXO 并行/安全直觉的前提下,给“信封”加上状态、逻辑或调度能力。本文按“先直觉→再对比→最后看演化”的顺序,带你从比特币的 UTXO 出发,理解以太坊账户模型的取舍,再看 CKB 的 Cell(盒)、Cardano 的 EUTXO(纸)、Qtum 的 翻译层(译)、Sui 的 双轨对象(双) 与 Fuel 的 严格访问列表(点)。阅读时只记两个问题:能不能在链上“记状态”?并发靠什么避免冲突?

1. 比特币的 UTXO 模型(信封)

UTXO = Unspent Transaction Output(未花掉的交易输出)
一笔交易消耗若干旧 UTXO(作废),并生成若干新 UTXO(记入账本)。
特点

没有“余额字段”,余额 = 名下所有未花 UTXO之和。

一次性:每个 UTXO 只能被花一次,天然防双花。

钱包通常为找零用新地址(隐私更好,但不是强制;仍可被链上分析关联)。

局限:只会“锁→解锁”,难记中间状态,写复杂合约不便利。

2. 以太坊的账户模型(全局状态机)

账户持有余额与合约存储,可持续更新,合约表达力强。
代价:依赖全局状态与交易顺序,并行性受限,易“状态膨胀”

3. UTXO 的代表性改进

(1)Nervos CKB:Cell(盒)

把只能存数字的 nValue 一般化为 capacity + data(小盒子)

经济模型:存储付“租金”,抑制状态爆炸。

链下算、链上验:Layer1 只认“结果对不对”,计算可迁到链下/二层。

(2)Cardano:EUTXO(纸)

在 UTXO 上加:
Datum(纸条/状态)——随输出一起保存
Redeemer(解锁参数)——在花费时提交
验证器 Script 用 Datum + Redeemer + 交易上下文 判定能否花费(True / False)。
并行确定性强:不抢同一 UTXO,就能并发执行。

UTXO 图:只有“拆零钱、给谁”——简洁、一次性。
EUTXO 图:在“零钱”上贴规则(脚本),花的时候交参数(Redeemer),所以能写更复杂的条件,但仍保持“不抢同一 UTXO 就能并行”。

每个输出都可以挂脚本当“锁”;以后谁想花它,就要在输入端提供 Redeemer(参数)(还有通常的 Datum/ 纸条=状态,这张图没画出来),脚本会用 Datum + Redeemer + 交易上下文 验证是否允许花费。
在这里插入图片描述
疑点:
红色圆点是啥? Redeemer,花费该 UTXO 时提交的参数。
Datum 哪里? 通常存放在输出端随 UTXO 一起保存(这张图省略了“Datum/纸条”那一块)。
为什么金额能对上? 两次交易都满足“输入总额 = 输出总额 + 手续费”的守恒;图里画的是理想化的整分配。

EUTXO = UTXO +(Datum 状态)+(Redeemer 参数)→ 交给 Script 验证,结合交易上下文(时间/输入输出等),返回 True/False 决定能不能花。既能保存状态,又能写逻辑,兼顾了UTXO的并行性和以太坊的可编程性。
在这里插入图片描述
Script=锁,Datum=锁旁的便条规则,Redeemer=你交的钥匙/理由,Context=门卫看当天时间/票;最后给你放行/不放行。

(3)Qtum:翻译层(译)

UTXO 验证 + 账户抽象层(AAL) + EVM
交易先按 UTXO 逻辑验证,再被翻译为 EVM 合约调用,桥接 UTXO 并发与合约能力。

(4)Sui:双轨对象(双)

OwnedObject(像 UTXO,单写者):天然并行;同一版本只能“花”一次。

SharedObject(像账户,多写者):读写需全局排序。两者可按业务混用。

(5)Fuel:严格访问列表(点)

交易提前声明要访问的合约 / UTXO / 资源,执行前先点名后上车,减少资源争用;
并引入“合约 UTXO”增强表达力。

4. 执行/并发的直觉对比

比特币 / CKB(UTXO / Cell):本地验证 + 结果上链;只要不争同一 UTXO / Cell,即可并行。

以太坊(账户):对交易顺序先达成共识,再按顺序执行全局状态机;并行受限。

总结

区块链的关键在于“账本怎么记”:比特币用 UTXO(像一次性零钱信封)换取简单、可并行与防双花;以太坊用账户+全局状态获得更强合约能力,但并行受限、易状态膨胀。围绕取舍,各链给 UTXO 加“记忆/规则/调度”:CKB 的 Cell 用 capacity+data 泛化存储并“链下算、链上验”,Cardano 的 EUTXO 以 Datum + Redeemer + Script 做确定性验证,Qtum 以 AAL 把 UTXO 交易翻译给 EVM,Sui 以 Owned/Shared 双轨在并行与共享间切换,Fuel 用严格访问列表“先点名后上车”减少争用。归根到底记住两问:能否在链上记状态?并发靠什么避免冲突?
一句口令概括演化路线:信|盒|译|纸|双|点(BTC、CKB、Qtum、Cardano、Sui、Fuel),按业务在“并行确定性”与“合约表达力”之间选型即可。

http://www.dtcms.com/a/352786.html

相关文章:

  • 香港数字资产交易市场蓬勃发展,监管与创新并驾齐驱
  • 完整实验命令解析:从集群搭建到负载均衡配置(2)
  • 记录使用ruoyi-flowable开发部署中出现的问题以及解决方法(二)
  • 电脑开机显示器不亮
  • 智能安防:以AI重塑安全新边界
  • 欧盟《人工智能法案》生效一年主要实施进展概览(一)
  • docker-runc not installed on system
  • 【科研绘图系列】R语言在海洋生态学数据可视化中的应用:以浮游植物叶绿素和初级生产力为例
  • Kafka 4.0 兼容性矩阵解读、升级顺序与降级边界
  • [特殊字符]论一个 bug 如何经过千难万险占领线上
  • 大数据毕业设计选题推荐-基于大数据的城镇居民食品消费量数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
  • electron应用开发:命令npm install electron的执行逻辑
  • 搜狗拼音输入法的一个bug
  • 解锁Java分布式魔法:CAP与BASE的奇幻冒险
  • 如何安装 mysql-installer-community-8.0.21.0.tar.gz(Linux 详细教程附安装包下载)​
  • 配置ipv6
  • UE5蓝图接口的创建和使用方法
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day14
  • 在 Ubuntu 系统上安装 MySQL
  • KDMS V4 重磅升级,智能迁移赋能国产化替代!
  • Ubuntu下MySQL、MongoDB与Redis:从安装到协同的完整指南
  • Hive中的with子句
  • 学习游戏制作记录(存档点和丢失货币的保存以及敌人的货币掉落)8.27
  • 【OpenGL】LearnOpenGL学习笔记16 - 帧缓冲(FBO)、渲染缓冲(RBO)
  • 關於一些特性的小記
  • visual studio2022 配置 PCL 1.13.1
  • SwiftUI 三阵诀:杨过绝情谷悟 “视图布阵” 之道
  • 阿里云——计算服务深度解析与选型
  • 非容器数据库(non-CDB)迁移为可插拔数据库(PDB)步骤
  • GPIO推挽和开漏的名称由来和本质含义