比特币减半倒计时:还差多少个区块,距历史高点回撤,以及逐年涨跌年历
三块数据放在一页:离下一次减半还有多少天、还差多少个区块;比特币现在比历史最高价低了多少;2017 年以来每一年从年初到年末涨跌了多少,还没到的年份空着。
距下一次比特币减半
连接中比特币距历史高点
连接中比特币逐年涨跌,一年一格
每一格是那一年从第一根月 K 开盘到最后一根月 K 收盘的涨跌。还没到的年份空着——没人能提前填。
价格:币安公开行情的 BTCUSDT,现价由 data-stream.binance.vision 推送,约每秒一次;历史高点和年历用 data-api.binance.vision 的月 K 算,币安这个交易对从 2017 年 8 月开始,所以第一格只算 8 月到 12 月;页面开着时出了新高,历史高点会跟着换。区块高度:mempool.space 推送,新区块一出就更新;推送连不上时每分钟查一次,mempool.space 不响应就换 blockstream.info。两个面板标题旁写着「实时」就是连着的;断了会写明数字停在几点(你设备上的时间)。切到别的标签页半分钟后自动断开,切回来马上重连。
三块数据各是什么
距下一次减半。比特币协议规定每 21 万个区块,新挖出一个区块的补贴减少一半(比特币核心软件源码里 nSubsidyHalvingInterval = 210000)。下一次在第 1,050,000 个区块,补贴从 3.125 减到 1.5625 个比特币。页面连着 mempool.space,新区块一出,「还差多少块」就跟着少一块,平均大约 10 分钟一次。最上面的天、时、分、秒倒计时,是按最近一段时间的平均出块速度,从上一块出来的时刻往后推算的;每出一块它会重算一次,提前或推后几个小时都正常;平均出块速度变了 0.1 分钟,它会一下差出好几天。
比特币距历史高点。用币安 BTCUSDT 的现价(页面开着时约每秒更新一次),和币安这个交易对有记录以来的最高价比,算出低了百分之几、回到高点还要涨百分之几,以及今年以来(从 1 月第一根月 K 的开盘价算起)的涨跌。
逐年涨跌年历。每一格是那一年从第一根月 K 开盘到最后一根月 K 收盘的涨跌,砖红是涨、石板蓝是跌,颜色越深幅度越大;今年那一格跟着现价变,还没到的年份空着。发生过减半的年份标了「减半」。
估算是怎么做的
天数和日期是估算,不是日期。协议的设计目标是平均 10 分钟出一个区块,但实际出块往往快一点或慢一点:前几次减半之间实际隔了 1,319 天、1,402 天、1,440 天,都不到四年。所以页面用两种速度各算一次:一种是 mempool.space 统计的最近一段时间的平均出块速度(按最近约 500 到 2,016 个区块算,大约三天半到两周),一种是协议目标的 10 分钟,显示成一个区间;最上面的倒计时只用第一种。2026 年 10 月 20 日,这两种估算相差约一个月。出块速度一变,估算的日期就会跟着前后移动。
历史高点用的是月 K 的最高价。它是币安 BTCUSDT 自 2017 年 8 月上线以来所有月 K 里最高的那一个,包括盘中的最高价。2017 年 8 月以前比特币的价格都低于这个数,所以不影响结果。其它网站可能用收盘价或别家的报价,算出的回撤会差一点,比如按收盘价算,2026 年 10 月 20 日的回撤会少约 1 个百分点。
年历怎么算的,和别处的数字为什么不一样
年历的每一格是「当年第一根月 K 的开盘价」到「最后一根月 K 的收盘价」,用的是币安 BTCUSDT 的月 K。币安这个交易对 2017 年 8 月 17 日才开始,所以 2017 那一格只算 8 月到 12 月,不是全年。2018 年以后,这个口径和 CoinMarketCap 按日线算的全年涨跌相差都在 2.5 个百分点以内。各年的数字和它们与其它数据源的对照,写在比特币历史牛市里。
它不能告诉你什么
离减半还有多久,是日历,不是信号。过去四次减半之后一年到一年半都出现过那一轮的最高价,但没有资料能证明是减半导致了上涨,2024 年那一次的顺序也已经和前三次不同,见比特币减半后多久牛市。距历史高点的回撤也一样:回撤 35% 不说明还会跌,也不说明跌够了。
数据从哪来、取不到时会怎样
页面开着时,你的浏览器和两家数据源各保持一条连接:
- 价格:币安公开行情 data-stream.binance.vision 推送 BTCUSDT 现价,约每秒一次。推送断了,每 10 秒向 data-api.binance.vision 要一次现价(连续要不到,间隔会慢慢拉长),同时在后台重连。历史高点和年历用的月 K 只在打开页面时取一次;页面开着时如果价格创了新高,历史高点会按推送里的成交价跟着换。
- 区块高度:mempool.space 推送,新区块一出就到;推送断了,每分钟向 mempool.space 要一次,它不响应就换 blockstream.info。平均出块速度来自 mempool.space 的统计,推送连着时每出一个新区块重新取一次,取不到时只按 10 分钟估算。
两个面板标题旁写着「实时」,就是推送连着;写着「连接中」,是刚打开页面或正在重连;写着「每 10 秒刷新」「每 60 秒刷新」,是推送断了、页面正在定时去取;写着「连接断开,数字停在 20:31:05」,是两条路都暂时不通,面板里的数字停在那个时刻(你设备上的时间);最上面的倒计时例外,它按断开前取到的区块接着往下走。一次都没取到数字的面板,直接写「暂时没取到……」,不会用旧数字顶上。切到别的标签页半分钟后,连接会自动断开,切回来马上重连。这一页不在服务器上存任何数字。