比特币矿池到底是如何运作的:从份额到收款

大多数关于矿池的解释都止步于一句话:"矿工把算力合并起来,然后分享奖励"。这话没错,但没什么用:它解释不了为什么换池后头一天收益会显得很奇怪,为什么周末关机对PPLNS的打击比对PPS大得多,也解释不了交易手续费的一部分究竟去了哪里。下面按步骤讲清楚机制:你的ASIC每秒钟往网络里发送了什么,这些东西是怎么被计算的,又是怎么变成余额里的聪的。

POOL BTC不是一个矿池,而是一个独立的矿池、计算器和服务比较网站,所以本文不需要为任何一种分成方案辩护。

什么是份额,为什么需要它

份额是矿工找到的一个区块头哈希,它低于矿池设定的难度门槛,但高于全网难度。它永远不会成为真正的区块,但可以作为工作量证明:要找到这样一个哈希,必须老老实实地尝试数百万种组合。矿池通过统计份额来衡量每台矿机的贡献。

寻找区块和寻找份额的运算机制完全一样。矿机拿到区块模板后,不断改变nonce和其他可变字段,跑双重SHA-256,然后查看结果。唯一的区别在于用什么数字去比较。如果哈希低于全网难度,那就是一个区块,是整个矿池的收入。如果低于share difficulty但高于全网难度,那就是一个份额,是记录你贡献的计量单位。

由此得出这套系统最重要的特性:份额无法伪造,也无法重复使用。每一个份额都绑定在带有矿池收款地址的特定任务上,所以你交不了别人的份额,自己的份额也不能提交两次。

这张彩票有多难中,可以从2026年8月29日的全网快照看出来:全网算力896,89 EH/s,难度125 807 076 547 197,5。区块奖励为3,125 BTC,最近4320个区块中,交易手续费又额外贡献了0,73%。按2026年8月29日早上大约77 817美元的价格计算,这就是矿池按照分成规则去分配的全部蛋糕。

share difficulty和全网难度有什么区别

全网难度对所有人都一样,每2016个区块调整一次。share difficulty则是矿池自己设定的,针对每个连接单独设置,而且可以随时调整。这纯粹是内部记账参数:它完全不影响找到区块的概率,只影响你的矿机汇报工作的频率。

逻辑很简单。门槛太低意味着每一瞬间都有大量份额涌来:网络被塞满,矿池服务器超载,而估算精度却并没有提高。门槛太高则意味着汇报太少:算力统计会剧烈波动,设备掉线也会被延迟发现。矿池通常把间隔控制在每个连接每分钟几个份额左右,根据算力调整门槛。

对喜欢对比后台面板的人来说有一个重要细节:界面上显示的份额数量在不同矿池之间没有可比性,因为每家的门槛都不一样。真正值得比较的只有被接受的算力和拒绝率。

什么是vardiff,为什么邻居的难度和你不一样

Vardiff是针对具体矿机自动调整share difficulty的机制。如果S21和老款S9用同一个门槛,表现会完全不同:算力强的机器会把服务器淹没在份额里,算力弱的机器提交份额又太少太慢。所以矿池会给算力强的机器提高门槛,给算力弱的机器降低门槛,目标是让所有人的汇报节奏大致相同。

这种调整不是瞬间完成的。新矿机接入之后,门槛需要一段时间才能调到合适的工作区间,在这段时间里,后台的算力曲线是不准的:一会儿偏低,一会儿偏高。这就是为什么很多新手在换池十五分钟后就跑去联系客服,抱怨矿池"偷"了他们的算力,其实是常见的误解。

第二个实际问题是:网络不稳定时vardiff会失灵。如果连接反复中断,矿机不断重连,门槛每次都会被重置回起始值,结果就是产生更多无效汇报,曲线明显变得扭曲。在这种情况下,声称算力和实际被接受算力之间出现差距是正常的,该解决的是网络问题,而不是换矿池。

Stratum是如何工作的:job、extranonce和任务队列

Stratum是矿机和矿池之间的通信协议。矿池发送带有区块模板的任务(job),矿机不断尝试各种组合,只把成功的结果发回去。完整的区块不会在网络上传输,流量非常小,所以一台服务器能同时支撑数万个连接。

交换过程是这样的:

  1. 矿机接入并订阅任务。
  2. 矿池给它分配一个独一无二的extranonce,也就是coinbase交易里专属于它的一段数据。
  3. 矿池发送job:上一个区块哈希、merkle分支、版本号、时间戳、目标难度。
  4. 矿机代入自己的extranonce,拼出自己版本的coinbase交易,并计算merkle root。
  5. 矿机不断尝试nonce和其他字段,把所有通过门槛的结果发送上去。
  6. 矿池验证份额,记账并保存,如果哈希低于全网难度,就把区块广播出去。
  7. 一旦网络上出现新区块,矿池就会下发新任务,并要求矿机放弃旧任务。

extranonce是这里的关键细节。正是它让每台矿机的搜索空间各不相同:两台拿到同一个任务的ASIC会算出不同的coinbase,也就是不同的merkle root,进而算出不同的哈希。没有它,半个矿场都会在重复别人的工作。

列表的最后一条解释了stale份额(过期份额)是怎么回事。从全网出现新区块,到你的矿机收到新任务,中间有一段延迟,这段时间里算出来的东西全都作废。这就是为什么对延迟有要求,也是为什么要选离自己地理位置最近的服务器。这和到Stratum服务器的距离、地区选择有什么关系,在如何选择比特币矿池一文中有详细分析。

矿机与矿池之间的job和share交换,POOL BTC
矿池下发任务,矿机提交份额

为什么是矿池"找到"区块,而不是某台矿机

严格来说,区块哈希确实是某个参与者的某台具体机器算出来的。但任务里的coinbase交易是矿池组装的,里面的收款地址也是矿池的地址。矿机在物理上无法把自己的地址塞进去:一旦改动coinbase,merkle root就会变,算出来的结果就对不上矿池下发的任务了。

所以"我的矿机挖到了一个区块"这句话在经济意义上并不成立:奖励是打到矿池地址上的,参与者只是按照所选方案的规则分到自己的一份。这也解释了为什么区块统计数据是以矿池为单位公布的,以及为什么矿池在全网算力中的占比能在区块链上被看到。

唯一的例外是solo模式,在这种模式下奖励地址由你自己指定。等待时间和方差上的差异非常巨大,我们在solo挖矿对比矿池挖矿一文中单独做过计算。

矿机的贡献是怎么计算的

贡献不是按份额个数算的,而是按难度单位算的:每个份额的权重就是它当时的share difficulty。门槛为10000时的50个份额,和门槛为100000时的5个份额,贡献是一样的。所以vardiff并不会让快机器或慢机器占到便宜,它只改变汇报的频率。

矿池根据累积的难度总和推算出你的算力。这就是后台经常让人搞混的两个数字。本地算力是矿机自己按照本机计算得出的。矿池算力则是根据被接受的份额统计还原出来的,在短时间窗口内会波动,仅仅是因为份额到达的节奏本来就不均匀。这两个数字要在一整天的窗口里才会趋于一致,而不是十分钟。

统计里还单独有一类被拒绝的份额:过期的、重复的、没通过校验的。对任何网络环境来说,有一小部分被拒绝都是正常的,但如果拒绝率成倍上升,那就说明网络或固件那边出了问题。

PPS、PPS+、FPPS、PPLNS和solo:这些分成方案在机制上有什么不同

分成方案回答的是这样一个问题:矿池到底是为什么付钱,是为了你提交的份额,还是为了实际找到的区块。其余的一切,包括风险上的差异,都是这个选择带来的后果。下面只讲机制,不做评价。

方案为什么付钱交易手续费谁承担运气风险关机后会怎样
PPS按固定单价支付每个被接受的份额不发放矿池收益立刻停止
PPS+按单价支付份额,外加按实际区块分到的手续费份额按实际发放基础部分风险由矿池承担,手续费部分由矿工承担基础部分立刻中断
FPPS按份额单价支付,单价里已经包含手续费的平均加成按平均值发放矿池收益立刻停止
PPLNS按找到区块那一刻窗口内的份额支付通常会发放矿工窗口内的份额继续生效,逐渐老化退出
Solo只为你自己找到的整个区块付钱全部归你完全由矿工承担没有任何累积

用一个例子更容易理解这种行为上的差异。在PPS下,矿池按报价向你买断工作量:不管矿池最终有没有找到区块,都不影响你的收款,方差风险由矿池承担,并计入手续费里。在PPLNS下,矿池分配的是已经到手的奖励,所以你的收益取决于在你的份额停留在窗口期间,矿池一共挖到了多少个区块。

对三种最常见方案的详细拆解和计算示例,见FPPS vs PPLNS vs PPS+一文,本节涉及的术语都收录在矿工词典里。

大型矿池的BTC挖矿真的有PPLNS吗?

简短的答案是:几乎没有哪家把它作为默认方案。根据2026年9月1日的官方文档,Braiins、Foundry USA、Binance Pool和Luxor的BTC结算全部只用FPPS。AntPool和ViaBTC把PPLNS作为可选项提供,但两家的默认方案都是PPS+。Ocean用的不是PPLNS,而是自己的TIDES方案。Kryptex和NiceHash则跟经典意义上针对比特币的PPLNS完全没有关系。

这一点并不直观:网上一半的文章在讲PPLNS的时候,都把它写得像是行业默认方案,但实际上大多数大型矿池在BTC上根本就没有地方可以选它。

矿池BTC实际可用的方案PPLNS的状态
F2Pool默认FPPS,PPLNS作为备选可选
ViaBTC默认PPS+,PPLNS作为第二种模式可选
AntPool官方列出FPPS、PPS和PPLNS,默认PPS+可选
Braiins Pool只有FPPS,旧的scoring模式自2023年12月起已关闭不使用
Ocean自有的TIDES方案不属于PPLNS
Luxor只有FPPS不提供
Foundry USA只有FPPS不使用
Binance PoolBTC用FPPS,PPLNS只是在通用FAQ里作为公式提到官方未把它列为BTC的实际运行模式
EMCDBTC只有FPPS,PPLNS是针对其他币种描述的BTC没有
Kryptex PoolPPS+不是PPLNS矿池
NiceHash算力交易市场,与卖家按RTPPS结算不是PPLNS矿池

对那些专门为了PPLNS去选矿池的人来说,实际能选的其实不多,而且几乎总是要手动开启这个模式,而不是默认就有。下一节讲的窗口逻辑,只适用于这些矿池,而不是整个市场。

什么是PPLNS的滑动窗口,为什么停机在这种模式下代价更高

PPLNS统计的不是时间,而是矿池最近的工作量:窗口就是整个数据流中最近的N个份额(或者说N个难度单位)。矿池找到区块时,奖励会在此刻所有份额位于窗口内的人之间分配。你的份额比例就等于你在这个窗口里所占的难度比例。

由此得到一个关键结论:推动窗口前进的是别人的份额,而不是时钟。如果你关掉了机器,你的份额仍然留在窗口里,继续在每次找到区块时分到一份,但会被其他参与者的工作逐渐挤出去。被挤出的速度取决于窗口大小和矿池的总算力,而不是你自己的作息安排。

所以PPLNS有两个不对称的边缘阶段:

  1. 起步期。刚接入新矿池的头几个小时,窗口里还没填满你的份额,收益低于稳定后的水平。
  2. 尾巴期。关机之后收益不会立刻归零,而是随着你的份额被逐渐挤出窗口而慢慢减少。

尾巴期能部分抵消换池时的起步期损失,但前提是你彻底离开、不再回来。在PPLNS上频繁开关机比在PPS上代价更大:你每次都要为起步期买单,而尾巴期的收益却不一定能全部拿到。换池具体会在聪(satoshi)上损失多少,在换池成本一文里有具体计算。

具体矿池的窗口有多大

只有极少数矿池公布确切数字。下面的数据是根据2026年9月1日各矿池官网核实的,凡是没有公布倍数的地方,都如实标注。

矿池窗口的官方说法这意味着什么
Ocean (TIDES)八倍全网难度:份额日志窗口等于区块难度的八倍所有矿池中说明最详细的一个,文档里还给出了数学推导
ViaBTC最近5个难度轮次在经典PPLNS模式里,唯一公布了具体数字的矿池
AntPool最近N个难度轮次内的算力占比窗口以难度轮次计量,具体的N值官方并未公布
F2Pool最近N个份额,未标明针对BTC的具体倍数官方未公布具体倍数
Binance Pool通用FAQ里给出的最近N个份额的公式BTC的N值官方未公布
EMCD设备提交给矿池的最近N个份额官方未公布具体倍数

由此带来一个不太好办的比较问题:大多数矿池的窗口大小并未公开,所以你没办法事先算出关机后尾巴期会持续多久。靠公开统计数据自己去估算也做不到,因为后台面板只能看到份额,看不到它们退出窗口的规则。

关于Ocean有一个特别的细节:那里的份额日志根本不会被删除。文档明确说明,一个份额在窗口内平均会被支付八次,之后随着新工作量的不断涌入,它就不再被计入新区块的分配,仅此而已。这不是对离开的惩罚,而是按工作量自然退出的结果,"份额被烧掉"这种说法并不适用于TIDES。

什么是pool hopping(矿池跳换),窗口机制是如何防范它的

Pool hopping是一种在矿池之间来回跳换的策略,目的是在统计上当前收益更划算的矿池里拿到一份,然后在不划算的时期到来之前离开。这种策略在老式方案上是有效的,比如纯粹按轮次比例分配的方案,在那种方案里,一轮里靠前的份额比靠后的份额值钱。

在比例分配方案里,一轮从找到一个区块开始,一直持续到下一个区块出现。奖励在这一轮的所有份额之间分配,所以轮次短的时候每个份额都很值钱,轮次长的时候就不值钱。这意味着在轮次刚开始时加入、轮次拖得太长时离开是划算的。留下来的参与者则会吃亏,因为要跟中途赶来的跳池者一起瓜分同一份奖励。

滑动窗口从根本上抽掉了这种策略的立足点。窗口没有轮次的开始和结束:它的长度永远固定,永远由最近N个份额组成。什么时候接入并不带来任何优势,频繁跳池只会不断叠加起步期。出于同样的原因,窗口对作息不稳定的老实矿工也稍微苛刻一些,这是防范跳池所付出的代价,而不是什么附带缺陷。

矿池的手续费从哪里来,什么是transaction fee passthrough(交易费转付)

矿池手续费是按发放金额的一定比例扣除的,用来覆盖基础设施、开发、客服支持,对于PPS系列方案,还要覆盖矿池自己承担的方差风险。不同矿池的费率不一样,取决于方案:为了保证稳定收益,矿池会把这部分保险成本算进费率里;对于按份额分成的方案,费率则会低一些。

收入的第二个组成部分是区块里的交易手续费。区块奖励等于新增发行量加上区块内所有交易的手续费总和,不同方案对这部分的处理方式各不相同:

  1. 纯PPS只为发行部分付钱,交易手续费留给矿池。
  2. PPS+按实际情况分发手续费:实际区块里收了多少,就分多少。
  3. FPPS把平均加成直接算进份额单价里,所以在手续费平静的时期这样更划算,在手续费高企的时期则相反。
  4. PPLNS通常会把区块的全部奖励连同手续费一起分配。

这件事现在到底有多重要,全网统计给出了答案:最近4320个区块(高度960211到964530,截至2026年8月29日)里,交易手续费只占总奖励的0,73%。也就是说,在当前市场下,关于passthrough的争论其实只是在争不到百分之一的收入,矿池手续费费率上的差异几乎总是比这更重要。在内存池拥堵的时期情况会不一样,但这需要用最新数据去核实,而不是靠对2023年的记忆。

以下是各矿池自己在2026年9月1日文档中,对交易手续费的具体处理方式:

矿池交易手续费规则
F2PoolFPPS包含前一天的平均手续费,PPLNS则把实际找到的区块中的手续费按份额分配
ViaBTC在PPS+下,区块奖励按PPS发放,交易手续费则另外按PPLNS公式分发;在纯PPLNS下,全部内容都按这个公式发放
Braiins Pool手续费被视为归矿工所有,按一天的平均值分配
OceanTIDES把整个区块奖励一起分配,发行量和手续费不分开,方案本身对手续费大小并不敏感
LuxorFPPS对144个区块的手续费取平均值,并剔除第5和第95百分位的异常值
Foundry USAFPPS费率计算方式为1加上结算周期内手续费总额与发行总额之比,并剔除手续费最高和最低的各三个区块
Binance PoolFPPS公式中包含全网每区块的平均手续费
EMCDBTC的FPPS与全网手续费挂钩:手续费越高,发放越多
Kryptex PoolPPS+下按份额支付固定费用,另外在矿工之间分配交易手续费
NiceHashRTPPS由算力买家的市场报价决定,而不是直接套用"发行量加手续费"的公式

AntPool存在的一个矛盾,值得提前了解

关于AntPool,没法用一句话说清楚,与其挑一个方便的版本来讲,不如老实承认这一点。矿池的两个官方页面对PPLNS下未分配的交易手续费说法不一致。GitBook上的说明写道,交易手续费同样会分给矿工,而且矿池在PPLNS上收取的手续费为零。而同一份文档在Zendesk上2022年12月14日的更旧版本却写道,没有付给矿工的交易手续费会用于运维和工程师奖金。

这两个页面都是官方的,都能正常访问,也都没有被标注为过期。我们不替你选边站:如果这部分收入对你来说很重要,最好用书面方式向矿池客服提问并保留回复记录,而不是随便信一个先看到的说明页面。

截至2026年8月29日的矿池手续费

以下所有数字均在2026年8月29日重新核实过,部分矿池不公开自己的费率,或者只有登录后才能看到。这些行都做了明确标注,没有用猜测来代替。

矿池手续费方案状态
F2PoolFPPS 4%,PPS+ 2,5%,PPLNS 2%FPPS / PPS+ / PPLNS官方帮助文档已确认
ViaBTCPPS+ 4%,PPLNS 2%PPS+ / PPLNS官方费率页面已确认
Kryptex PoolPPS+ 3%PPS+在矿池页面上手动核实过
NiceHash2%RTPPS官方博客已确认
Trustpool1%PPS+官方页面无法打开,数字来自二手信息源
EMCDBTC为4%FPPS部分确认,矿池页面只返回一个空的JS框架
Promminer3%FPPS未确认,网站无法访问
AntPool官网未公布手续费FPPS / PPS / PPLNS未确认,费率页面返回404
Binance Pool没有公开的手续费页面,会跳转到登录页FPPS未确认
Luxor不公布具体费率,只说明现货FPPS的折扣机制FPPS未确认,各来源说法不一致
Foundry USA不公开,采用阶梯费率FPPS未能从页面上获取具体数字
Neopool不公开FPPS未确认

只靠手续费百分比来比较矿池还有一个理由说不通:三分之一的大型矿池根本没有公开这个百分比。真正应该计算的,是根据你自己的账单算出每太哈希每月的最终发放金额。你可以根据自己的ASIC型号和电价,在挖矿计算器里预估结果。

区块奖励:发行量与交易手续费,POOL BTC
交易手续费只占奖励中很小的一部分

什么是起付门槛,为什么在算力较小时它比手续费更重要

起付门槛是矿池向你发起转账所需的最低余额。只要累积的金额还没到这个门槛,钱就留在矿池内部账户里,不会打到你的钱包。这期间收益照常记账,问题只在于这笔钱什么时候真正离开矿池。

起付门槛之所以存在,是因为链上交易本身是有成本的。发送一笔"粉尘"金额,手续费可能比这笔钱本身还贵,所以矿池会等到累积的金额足够大,网络手续费不会把发放金额吃掉为止。这对小算力矿工的直接影响是:你的算力越小,两次实际到账之间的间隔就越长,你的钱在别人账户上"躺着"的时间也就越久。

正是在这一点上,起付门槛比手续费更重要。矿池之间手续费的差异只是收入的零点几个百分点,而如果只有一台家用矿机,起付门槛定得太高就意味着要等上几周甚至几个月,而且这段时间里始终存在对手方风险。接入之前,值得先核实四件事:

  1. 最低门槛是多少,能不能手动调高或调低。
  2. 发放的时间安排:是每天按累积门槛发放,还是按固定日历发放。
  3. 发放时的全网手续费由谁承担,是矿池承担,还是从你的余额里扣。
  4. 如果你在没达到门槛之前就离开矿池,余额会怎么处理。

截至2026年8月29日的门槛情况:

矿池最低发放额状态
NiceHash0,00001 BTC已确认
EMCD0,0001 BTC信息源存在冲突(0,0001与0,001 BTC),尚未解决
Promminer0,0001 BTC未确认,网站无法访问
F2Pool0,001 BTC官方帮助文档已确认
Kryptex Pool0,001 BTC手动核实过
Luxor0,001 BTC加上0,000075 BTC的提现网络手续费官方文档已确认
Trustpool0,001 BTC未经一手来源确认
Neopool0,001 BTC未经一手来源确认
AntPool据聚合平台数据为0,001 BTC官方页面无法打开
ViaBTC费率页面未公布未确认
Binance Pool未公开未确认
Foundry USA本次核实未能确认未确认

如果没到门槛就离开,余额会怎么处理

大多数矿池对此没有直接的官方说法。以下内容已得到确认:F2Pool会把低于门槛的金额留在余额里,不会清零,而是继续累积。ViaBTC如果没达到最低金额,会把收益留在余额里,等到下一个结算周期。Luxor只有在子账户余额超过门槛加提现手续费之后才会发放,也就是说余额同样会一直等待。

有一个法律上的例外值得单独说明。根据F2Pool的服务条款,如果用户在收到书面通知后六个月内仍未提供有效的收款地址,就会丧失对已累积金额的权利,矿池有权将这笔钱视为已经作废。矿池的帮助文档还专门提到,如果超过90天没有设置收款地址,这笔奖励可能会被当作捐赠处理。在我们核实过的矿池里,这是唯一一家明确写出"丧失累积权益"规则的矿池。其他矿池在我们能找到的页面上没有类似规则,但这只说明没找到,并不代表它们确实没有这条规则。

关于AntPool、Foundry USA、Binance Pool、EMCD、Braiins、Kryptex、NiceHash和Trustpool,我们都没能找到关于离开矿池后余额去向的官方说法。如果余额对你来说数目不小,唯一靠谱的办法还是一样:在接入之前先用书面方式向客服问清楚。

关于Ocean前面已经说过,那里的份额日志根本不会被删除,退出窗口是按工作量计算的,而不是因为你离开了。

一个份额的完整旅程:总结

  1. ASIC通过Stratum收到job和自己的extranonce。
  2. 矿机拼出带有矿池地址的coinbase交易,并计算merkle root。
  3. 遍历nonce,跑双重SHA-256,把结果和门槛比较。
  4. 低于share difficulty的哈希被发送到矿池服务器。
  5. 矿池验证这个份额,记录下等于其难度的权重。
  6. 后台面板的算力根据累积的权重重新计算。
  7. 一旦某个哈希低于全网难度,矿池就会把区块广播出去。
  8. 区块奖励(发行量加交易手续费)进入矿池地址。
  9. 矿池扣除自己的手续费,按方案规则分配剩下的部分。
  10. 你的那一份被记入内部余额。
  11. 达到起付门槛后,矿池会向你的地址发起一笔链上交易。

从第4步到第11步,中间可能经过几个小时,也可能经过好几周,几乎所有对矿池的抱怨,说到底都是对这段时间里发生的事情的误解。

总结

矿池本质上是搭建在普通挖矿之上的一套记账系统,而不是另一种挖矿方式。它下发任务,把确认过的工作量按难度单位计算,再按事先公布的规则分配收到的奖励。分成方案回答的是谁为运气不好买单,PPLNS窗口回答的是关机之后你的工作还能值多久,起付门槛回答的是钱到底什么时候真正打到你的钱包里。

在选择矿池之前,这篇文章里有三件事值得记住。比特币的PPLNS并不是到处都有,也几乎从来都不是默认方案。只有极少数矿池公布窗口大小,所以关机之后的尾巴期长度大多数情况下都算不出来。截至2026年8月29日,最近4320个区块的交易手续费只占奖励的0,73%,所以围绕它怎么分配的争论,现在争的其实是不到百分之一的收入。

理解了这些机制之后,你就不会再只盯着官网首页上的百分比去比较矿池,而是会去比较每太哈希的最终发放金额。具体该怎么在各个矿池上操作,在如何选择挖矿矿池一文中有详细分析。

屏幕上的挖矿统计数据,POOL BTC
矿机统计里能看到什么