术语表 /挖矿与共识
矿池
- 矿池是什么?
- 矿池将数千名独立矿工的算力汇集在一起,使他们能够以小额、定期的支付分享区块奖励,而不必各自等待多年才挖到属于自己的区块。
矿池解决的是统计问题,而不是技术问题。矿工提交称为份额(share)的“险些命中”结果,以证明自己投入了多少工作量,矿池则依据这一证据支付收益,无论当天是否找到区块。第一个矿池于2010年11月开张;如今最大的两家矿池合计挖出了接近一半的区块,这正是令人不安之处。
运作方式
矿池把一次概率极低的大奖变成可预期的工资,其做法是衡量原本看不见的工作量。
衡量工具就是份额。除了比特币网络的真实目标之外,矿池还会设定一个容易得多的自有目标,矿工每找到一个低于这一较易阈值的区块头,就提交该结果。份额对网络毫无价值,但作为证据却十分完美:它无法伪造,也无法在其他矿池重复使用,因为区块内的收款地址是该矿池自己的,而且份额的到达速率就是对矿工算力的直接抽样。偶尔,某个份额恰好同时满足真实目标,那就是矿池的区块。
各种支付方案的区别在于谁来承担坏运气。在完全按份额付费(full pay per share)方案下,矿池对每个份额支付固定金额,不论是否找到区块,自行承担全部波动,并为此收费,通常为2%至4%。在按最近 N 个份额付费(pay per last N shares)方案下,矿工只从实际找到的区块中获得报酬,因此矿池收费较低,通常在0%至2%之间,而区块产出稀少的几周会直接冲击矿工的收入。家庭矿工一般偏好较平稳的方案;需要偿还融资的大型运营商几乎总是如此。
有两个细节常让人意外。第一,币基(coinbase)输出支付给矿池而不是您,因此矿池在支付前是替您保管收益的托管方。第二,在沿用已久的 Stratum V1 协议下,区块模板由矿池构建,也就是说,是矿池而不是其数以千计的成员来选择包含哪些交易。Braiins Pool 是那个2010年首个矿池的后继者,它和基于 Stratum V2 构建的较新矿池正努力把这一选择权交还给矿工。
购买比特币时为何重要
矿池集中度是比特币最接近控制点的东西,它决定您的交易能否进入区块。
这种集中是真实存在的,值得了解。Foundry USA 曾掌控约三分之一的全网算力,其次是 AntPool,少数几家矿池产出了大部分区块。这并不意味着它们能盗取比特币或改变供应量,因为无论由谁产出,节点都会拒绝无效区块。矿池能做的是拒绝包含特定交易。
这一点已经被检验过一次。2021年5月,Marathon Digital 推出一个矿池,过滤涉及美国制裁名单上地址的交易,并挖出了一个排除这些交易的区块。反对声浪立即出现,该公司在数周内放弃了这一政策,并公开承诺不再审查交易。这一事件使交易过滤成为被严肃讨论而非停留在理论层面的问题,对本站所涉及的、制裁筛查力度较大的司法管辖区的人尤其重要。
对普通买家而言,实际影响轻微但真实存在。某个矿池的过滤只会延迟交易,因为下一个矿池会将其收入区块,代价以区块数而不是币量来衡量。尽管如此,这仍是推进相关协议工作的最有力理由,该工作旨在让单个矿工自行选择交易。
矿池消除的波动
单台矿机的概率说明了为什么矿池在比特币上线后两年内就占据了主导。
一台200太哈希的矿机,面对约850艾哈希每秒的全网算力,约占总量的0.000024%,相当于每天找到区块的概率为29,500分之1。这意味着平均每81年才能找到一个区块,且不能保证在您有生之年出现。加入矿池后,同一台矿机每天大约可赚取10,600聪,天天如此,需扣除矿池手续费。期望值几乎相同;变化在于,您可以用它来支付电费。以一张彩票换取可预期的收入,这就是矿池出售的全部产品。
矿池 vs 单独挖矿
矿池把一份区块奖励分给许多矿工;单独挖矿则独占全部奖励,但通常一无所获。容易混淆的是,存在被称为单独矿池的服务,例如 solo.ckpool.org,它们提供矿池基础设施,但采用赢家通吃的支付方式:您使用其服务器和连接,如果您的矿机找到区块,就能获得全部奖励,扣除少量手续费。这是把底层设施外包的单独挖矿,而不是矿池联合挖矿。真正的矿池会按提交份额的比例分配其赢得的每一份奖励。
矿池 vs 51%攻击
大型矿池不等同于掌握多数算力的攻击者。占有40%区块的矿池并不拥有那些硬件;它租用的是数以千计运营者的忠诚,这些运营者可以在数分钟内把矿机重新指向别处,也确实这样做过,GHash.io 于2014年6月一度占到全网算力的一半以上,随后公开承诺将保持在40%以下,同时其成员转投了竞争对手。攻击者需要的是机器本身,或是愿意一夜之间毁掉自己业务的矿池。这种集中是真实的治理问题,也是发动攻击的脆弱基础,因此业界将其视为去中心化问题,而不是迫在眉睫的盗窃风险。