筹码分布核心概念:UTXO模型 vs 账户模型,持仓地址与筹码集中度

好,咱们今天聊点硬核的。做链上数据分析,你首先得搞清楚一个底层问题:区块链到底是怎么记账的?

这直接决定了你看到的「筹码分布」长什么样。我刚开始研究链上数据时,就踩过这个坑——拿着比特币的UTXO思维去分析以太坊,结果算出来的集中度数据完全对不上。嗯,后来才明白,这两套模型压根不是一个逻辑。

一、UTXO模型:比特币的「现金抽屉」

UTXO,全称是Unspent Transaction Output,中文叫「未花费交易输出」。说白了,它就像你钱包里的现金。

你想想看,你有一张100块的钞票,想买杯35块的咖啡。你不会把100块撕成两半,而是直接给店员100块,他找你65块。这65块就是一张「新钞票」,也就是一个新的UTXO。

比特币就是这么干的。每一笔交易,都会消耗掉旧的UTXO,产生新的UTXO。你的余额,其实就是你拥有的所有UTXO的总和。

核心特征:
  • 每个UTXO只能被花一次,花完就销毁
  • 交易输出是离散的,像一堆零钱
  • 地址本身不存钱,只是UTXO的「锁箱」

我在分析比特币链上数据时,经常需要把UTXO按时间、金额、地址归类。比如,一个地址有10个UTXO,每个0.1 BTC,那它的总余额就是1 BTC。但它的筹码分布,其实是10个独立的小块。

二、账户模型:以太坊的「银行账户」

以太坊就不一样了。它用的是账户模型,跟咱们的银行账户几乎一样。

你有一个账户地址,里面直接记录着你的余额。转账时,系统直接从你的余额里扣掉35块,加到对方余额里。没有「找零」这回事,也没有UTXO那种碎片化结构。

核心特征:
  • 余额是连续的数字,不是离散的UTXO
  • 交易直接修改账户状态
  • 一个地址只有一个余额值

我个人习惯用账户模型分析ERC-20代币的持仓。比如USDT,每个地址的余额就是一个数字,简单直接。但这也带来一个问题——你很难追踪「同一笔钱」的流转路径,因为余额是聚合的。

三、两种模型的对比:一张表说清楚

维度 UTXO模型(比特币) 账户模型(以太坊)
余额表示 多个UTXO的总和 单个数字
交易结构 输入→输出,有找零 发送方→接收方
隐私性 较高(可换地址) 较低(地址可追踪)
并发处理 复杂(需处理UTXO冲突) 简单(直接改状态)
链上分析难度 高(需聚合UTXO) 低(直接读余额)

你看,这两种模型各有优劣。UTXO模型更「抗审查」,但分析起来费劲。账户模型更「友好」,但隐私性差一些。做量化交易时,我建议你根据链的特性选择分析工具。

四、持仓地址:谁在持有筹码?

搞清楚了记账模型,咱们再来看「持仓地址」这个概念。

持仓地址,就是持有某个代币或币种余额的地址。但这里有个坑——一个地址可能对应多个实体,一个实体也可能控制多个地址。

我曾经分析过一个项目,发现前10大持仓地址占了80%的供应量。当时觉得「完了,高度控盘」。后来一查,其中5个地址都是同一个交易所的热钱包。嗯,虚惊一场。

避坑指南: 分析持仓地址时,一定要做地址聚类。把同一个实体的地址合并计算,否则你的集中度数据会严重失真。

常用的聚类方法包括:

  • 同源交易聚类:多个地址共用同一个输入,大概率是同一人
  • 行为模式聚类:地址的转账时间、金额模式相似
  • 中心化服务聚类:交易所、矿池的地址通常有固定模式

五、筹码集中度:衡量「庄家」的尺子

筹码集中度,说白了就是看筹码是分散在散户手里,还是集中在少数大户手里。

常用的指标有两个:

  1. 前N大地址持仓占比:比如前10大地址持有总供应量的百分比
  2. 基尼系数:衡量分布均匀程度的指标,0代表完全平均,1代表完全集中

我一般会同时看这两个指标。前10大地址占比高,不一定代表集中度高——可能只是交易所地址。但基尼系数高,就真的说明筹码分布很不均匀了。

注意: 筹码集中度是动态变化的。大户可能通过多个地址分散持仓,也可能通过OTC市场悄悄吸筹。只看链上数据,有时会「灯下黑」。

六、知识体系:一张SVG图看懂

下面这张图,是我自己梳理的筹码分布核心逻辑。你看完应该能明白,UTXO模型和账户模型如何影响持仓地址的分析,以及集中度指标怎么用。

筹码分布核心知识体系 记账模型 账户模型 UTXO特征 离散输出、找零机制 地址不存余额 账户特征 连续余额、直接修改状态 地址即账户 持仓地址分析 地址聚类 → 实体识别 → 持仓计算 筹码集中度指标 前N大占比 · 基尼系数 · 动态变化

这张图的核心逻辑是:记账模型决定了你如何解读持仓地址,持仓地址的聚类结果又决定了筹码集中度的准确性。一环扣一环,缺一不可。

七、实战中的小技巧

最后,分享几个我自己的经验:

  • 分析比特币时:先用UTXO聚合工具(比如OXT)把地址的UTXO合并,再看余额。否则你会被碎片化数据搞晕。
  • 分析以太坊时:直接读合约的balanceOf方法就行,但要注意「代理合约」和「多签钱包」——它们可能代表多个实体。
  • 计算集中度时:别只看前10大。我习惯看前100大、前1000大,再画个洛伦兹曲线,这样更全面。
一个小工具: 我常用Python的pandasnumpy做集中度计算。基尼系数的公式其实很简单:
G = (2 * Σ(i * y_i) / (n * Σy_i)) - (n+1)/n
其中y_i是按余额排序后的持仓量,i是排名。

好了,这一章的内容就到这儿。记住,UTXO模型和账户模型是链上分析的「底层语言」。搞不懂它们,后面的筹码分布、资金流向分析都是空中楼阁。


公众号:蓝海资料掘金营,微信deep3321