---
title: Bitcoin UTXO 集统计与简单交易
date: '2018-08-15 20:38:32'
draft: false
summary: 对 UTXO 集的统计分析显示，大多数交易仍然是一对一转账，而手续费升高时灰尘 UTXO 的问题会更突出。
slug: bitcoin-utxo-set-statistics
syndication:
- platform: Weibo
  url: https://weibo.com/1648815335/GuMXfFFY4
tags:
- bitcoin
- utxo
- blockchain
- data-analysis
topics:
- blockchain
type: post
---

看到一篇分析 `Bitcoin UTXO set` 的论文《Analysis of the Bitcoin UTXO set》，虽然数据是前一年的，但里面有几个结果还是很有参考意义。

最直观的一个结论是：`Bitcoin` 上真正需要被长期维护的 `UTXO` 数据，其实并不大。按论文当时的统计，整个 `UTXO set` 不到 `3GB`。如果把 `UTXO` 理解成“余额状态”，那区块链上其余绝大多数数据都更像历史账单。

另一个很有意思的发现，是大多数交易远比很多人想象中简单。平均每笔交易引用 `2.26` 个 `UTXO`，但其中 `87.9%` 的交易实际上只引用了一个 `UTXO`。也就是说，主流使用方式仍然非常接近“一笔钱从一个地址转到另一个地址”的直接转账模型。

从 `UTXO` 类型分布看，`P2PKH` 仍然占绝大多数，高级脚本能力的使用比例很低。多签地址只占很小一部分，而且里面大多还是 `1-of-2`、`1-of-3` 这种更偏防丢钥匙的实用场景，而不是特别复杂的合约型使用。

论文还分析了 `Dust` 和 `unprofitable UTXO` 这两个问题。

- `Dust`：转账成本已经超过自身价值三分之一的 `UTXO`
- `unprofitable UTXO`：连转账手续费都覆盖不了的 `UTXO`

这部分结果挺出人意料。按照论文里的测算，当手续费超过某个阈值之后，`70%` 的 `UTXO` 都会落入 `Dust` 区间。而回头看当时一段时间里的链上手续费，确实经常高于这个阈值。

这件事很重要，因为它说明：`UTXO` 机制的问题不只是“状态怎么存、怎么证明”，还包括状态在经济上什么时候会变得不值得再使用。也就是说，链上数据结构和手续费市场其实是强耦合的。

我会觉得，这类统计分析特别有意义。相比只讨论抽象模型，它能更直接地告诉我们：真实网络上的使用模式到底是什么，哪些设计被大量使用，哪些能力其实只是纸面上存在。

<!-- WEIBO_MEDIA_START -->
## 原微博中的媒体

![](./weibo-4273380259932776-1.jpg)

![](./weibo-4273380259932776-2.jpg)

![](./weibo-4273380259932776-3.jpg)

![](./weibo-4273380259932776-4.jpg)

![](./weibo-4273380259932776-5.jpg)
<!-- WEIBO_MEDIA_END -->
