区块链/Web3岗位面试题更新 2026-08-05

请解释区块链中的 UTXO 模型,并说明它相较于账户模型有哪些不同之处?

区块链工程师技术原理

考察说明

考查对区块链底层数据模型的理解,以及对比分析能力。

回答思路

  1. 【回答框架 1】UTXO(未花费交易输出)是比特币等区块链采用的数据模型,其核心思想是交易由输入和输出组成,输入引用之前交易的未花费输出,输出则生成新的UTXO,每个UTXO只能被花费一次,因此天然支持双花防护。
  2. 【回答框架 2】账户模型(如以太坊)则维护每个账户的余额状态,交易直接修改账户余额,类似银行账户。账户模型支持更复杂的智能合约逻辑,但需要处理重放攻击和状态一致性。
  3. 【回答框架 3】两者主要区别:UTXO模型强调无状态性,交易并发度高,隐私性较好,但难以实现复杂状态;账户模型易于编程,适合智能合约,但需要处理状态存储和并发问题。
  4. 【回答框架 4】UTXO模型通过未花费输出实现原生双花防护,而账户模型通过交易nonce和余额检查来防双重支付。UTXO模型适合简单支付场景,账户模型适合复杂DApp。
  5. 【关键点 1】UTXO模型以交易输出为基本单位,每个输出只能被引用一次。
  6. 【关键点 2】账户模型以账户余额为状态,支持直接修改。
  7. 【关键点 3】UTXO模型强调无状态和并发性,账户模型强调可编程性。
  8. 【易错点 1】不能混淆UTXO和账户模型的余额表示。
  9. 【易错点 2】不要认为UTXO模型无法实现智能合约,但确实复杂性更高。