TBC尝试把UTXO变成可编程计算层,而非再套一层EVM

TBC尝试把UTXO变成可编程计算层,而非再套一层EVM

N
News Editor
2026-09-21 08:16:20
TBC选择沿用 SHA256 PoW 与 UTXO 架构,并通过 TuringTXID、TuringContract 和 BVM,把合约状态放进合约 UTXO 及其后继交易中,而不是引入全局账户树。文章指出,这一路线的关键不在概念包装,而在代码、开发工具、性能口径和审计记录是否经得起复验。当前公开材料显示,TBC 已提供全节点代码与 JavaScript 合约 SDK,也披露了 CertiK 与 SlowMist 对 TBCNODE 的审计结果,但工具成熟度、独立性能测试和真实负载表现仍待外部开发者验证。

TBC 正在尝试回答一个老问题:如果不把复杂执行搬到侧链、Rollup 或另一套虚拟机里,UTXO 本身能不能承载持续演进的合约状态。

这篇面向开发者的分析指出,Bitcoin 的 UTXO 模型擅长确认「谁有权花掉这笔输出」,但复杂应用还需要继续验证状态从哪里来、下一笔交易必须满足什么条件、状态如何跨交易延续,以及不同合约能否同时执行。多数网络选择在 Bitcoin 外部增加执行环境,TBC 的做法则是把问题重新放回 UTXO 结构里。

比特币可编程性的难点,不只是脚本操作码有限

Bitcoin Script 一直保持克制。单个 UTXO 带有明确金额和花费条件,被消费后再生成新的输出;节点只需验证签名和脚本,不必维护类似 EVM 的全局账户状态。这样的边界很清楚,也给互不相关的输出留下了并行验证的空间。

真正的难点出现在状态需要跨交易延续的时候。AMM 需要记录储备量,代币合约要检查发行和转移规则,NFT 要维护所有权与元数据,链上订单簿还要处理订单、成交和结算之间的关系。原始脚本可以约束当前这次花费,却不方便验证一条持续变化的业务状态。

主流方案通常把复杂逻辑转移到侧链、Rollup 或另一套虚拟机中。这些方案已经形成较成熟的开发环境,但也引入新的边界:资产可能需要桥接,状态要在不同系统之间同步,执行层还要维护自己的验证与升级机制。问题并未消失,只是从「UTXO 怎样表达状态」变成了「多个系统怎样维持一致」。

TBC 的路径:让交易自己携带状态

TBC 保留 SHA256 PoW 与 UTXO 路线,同时引入 TuringTXID、TuringContract 和 BVM。它没有把合约状态集中到一棵全局账户树中,而是让状态存在于合约 UTXO 及其后继交易里:旧输出被消费,新输出带着更新后的状态继续存在。

这里的关键,不是把 UTXO 改叫账户,而是让脚本能够验证「父代」和「子代」之间的关系。这样一来,合约规则就可以随着交易向后传递,每次状态变化仍然表现为一笔可以独立检查的 UTXO 交易。

文章也划清了边界:TBC 是一条采用 Bitcoin 式架构的独立公链,并不是把合约直接塞进 BTC 主网。它要证明的是,UTXO 原生执行能否成为账户模型之外的另一种工程选择。

三项改动,试图把孤立输出连接成可验证状态机

TuringTXID:只携带验证所需数据

普通 TXID 会把整笔交易压缩成一个哈希。若合约只想核对历史交易中的某个字段,往往仍要拿到更多上下文。根据 TBC 白皮书,TuringTXID 采用分层哈希,让交易不同部分拥有可组合的摘要;无关数据可以裁剪,关键字段仍能沿着哈希路径完成验证。

这并不意味着链上数据没有成本,而是合约在验证局部历史时,不必反复搬运整笔祖先交易。对于状态跨多代延续的 UTXO 合约,这会直接影响脚本大小、网络传输和节点验证成本。

OP_PUSH_META 与 OP_PARTIAL_HASH:让脚本检查交易上下文

OP_PUSH_META 会把当前输入、前序输出以及输出摘要等交易元数据送入脚本,让脚本看到自己正在验证的交易结构。OP_PARTIAL_HASH 则用于对分段数据继续计算哈希,使脚本能够重建并核对关键摘要。

两者配合后,合约可以约束后继输出:新状态必须继续采用指定脚本,资产只能按预设规则移动,某些字段必须与前序状态保持关系。这里的「记忆」不是链外数据库,而是每一代 UTXO 携带的状态连续性,并在下一次花费时重新接受验证。

BVM 与并行验证:隔离状态,减少无关竞争

在全局账户状态机中,多笔交易如果读写同一状态,执行顺序会影响结果。TBC 把合约状态拆分进不同 UTXO,不相关输入之间没有共享写入点,节点因此可以把它们分配给多个计算核心进行验证。

不过,这并不等于所有合约都能无限并行。争用同一个 UTXO、访问同一热点池,或存在前后依赖的交易,仍然需要排序;磁盘 I/O、网络传播和签名验证也会成为瓶颈。文中提到,TBC 公开的 13,000+ TPS 属于项目性能口径,并不是脱离交易类型与硬件环境的通用常数;ParaUTXO 的百万级吞吐也应被视为研发目标,而不是已经兑现的主网能力。

公开代码和 SDK 已上线,但开发平台仍待补齐

TBC 目前最直接的公开入口是 TBCNODE 与 tbc-contract。前者提供全节点代码,后者是面向 JavaScript 开发者的智能合约 SDK。官方快速开始给出的安装命令只有一行:

npm i tbc-contract

按照文中介绍,这套 SDK 已覆盖链上数据查询、UTXO 获取、交易组装、签名和广播,并提供 MultiSig、NFT、FT 与 Pool 等工作流。开发者可以先在 testnet 生成交易,检查原始交易结构,再决定是否进入更复杂的合约场景。tbc-lib-js 与钱包连接组件则提供更底层的交易和签名能力。

不过,文章也指出,这距离成熟开发平台仍有差距。文档一致性、可复现基准、本地调试、索引服务、测试框架和第三方教程,都还需要继续补齐。对开发者来说,这些并不是应当被隐藏的信息,而是判断一个网络是否欢迎外部开发者的重要依据。

两份节点审计披露了问题与修复状态

2026 年 8 月,CertiK 与 SlowMist 先后公开了 TBCNODE 审计记录。

  • CertiK 的人工审查覆盖 21 个文件,共记录 11 项发现,其中 9 项标记为 Resolved,2 项为 Acknowledged;没有 Critical,1 项 Major 已解决。
  • SlowMist 针对 TBCNODE v3.3.1 进行白盒审计,同样记录 11 项发现,整体结论为 Low Risk,唯一 High 项标记为 Fixed。

文中提醒,两份报告采用的分类方法不同,不能简单相加为 22 个独立漏洞。更有意义的是,审计对象落在核心节点软件,问题、版本和处理状态都有公开记录,专业读者可以据此检查哪些问题已经修复,哪些风险被项目方确认接受。

同时,审计也不等于永久安全证明。它只覆盖特定提交、约定范围和时间点,无法自动担保后续版本、节点配置、密钥管理或真实负载下的运行表现。若 TBC 想继续积累这项优势,审计提交、修复矩阵、复测和版本发布仍需保持绑定。

TBC 接下来要争取的是开发者复验

如果 UTXO 能在不引入全局状态的前提下承载长期合约,BTCFi、RWA、支付、NFT 和链上数据就会多出一种实现方式:资产、状态与花费条件保留在同一类交易结构中,互不相关的工作可以并行处理。TBC 现在争取的,正是这条技术分支的可行性。

但架构新颖,不等于采用已经发生。文章认为,TBC 仍要面对工具成熟度、独立性能测试、开发者数量、节点分布和真实应用负载等问题。接下来更重要的,不是再增加一个宏大形容词,而是让外部团队能够在测试网复现交易、部署合约、测量性能并审查代码。

文末给出的判断很直接:开发者不必先相信「UTXO 可以编程」这句话,打开 TBCNODE,安装 tbc-contract,核对两份审计对应的版本,然后让代码自己回答。

资料来源

  • TBCNODE 代码仓库
  • TBC-Contract SDK
  • TBC JavaScript Library
  • TuringBitChain White Paper
  • CertiK TuringBitChain Audit
  • SlowMist TBCNODE Audit Report
本文最初由 Bit.Fan 发布。 欲了解更多加密货币新闻与市场洞察,请访问 www.bit.fan.
800

免责声明:

本平台展示的市场信息、项目资料与第三方内容仅用于行业信息分享,不构成任何形式的投资建议或收益承诺。

加密资产交易具有较高风险,用户应充分评估自身风险承受能力并独立作出决策,相关盈亏及法律责任由用户自行承担。