如何计算Solo挖矿命中区块的几率?
我们刚刚发布了全新的"Catch the Block"功能,在本文中,我们将了解Solo挖矿的具体原理,以及如何计算在区块链上“捕捉”或找到块的概率。
什么是Solo挖矿?
Solo挖矿是矿工独立尝试去确认交易区块的行为,换句话说,挖矿是一种不需要矿池就能实现加密货币挖矿的方法。
Satoshi Nakamoto(中本聪)写道:“一个CPU,一张选票“,即意味着那些家里拥有一台PC的矿工,都可以投票支持协议升级或区块链上的任何其他决策。
如果矿工想对区块链进行投票,则必须设立一个节点,然后矿工可以通过该节点进行挖矿,矿机将于与其他节点及其矿机进行竞相对区块的交易进行确认,这被称为Solo挖矿,即矿工试图通过自己挖矿并确认区块,同时不通过他人的协助(即矿池)。
与Solo挖矿相反的是矿池挖矿,矿池挖矿是一个非常类似于Solo挖矿的过程。不过,矿池挖矿中,并非由矿工自身单独对区块进行确认,而是从其他矿工那里获得帮助,从而提高了捕捉到区块的可能性或者说几率。矿池将根据矿工们的工作贡献来分配报酬。

请阅读该文章了解什么是Solo挖矿以及其相关信息。
Solo挖矿中,捕捉到区块的概率是多少?
当下Solo挖矿其实非常依赖运气因素,有些矿工试图只使用一台ASIC矿机来挖比特币,但他们也有一定的几率确认区块,并获得惊人的6.25 BTC奖励!发现一个区块的概率很大程度上取决于单个矿工用于挖矿的算力总量。
如果某个矿机拥有总区块链网络算力的1/3,那么统计学上,该矿机可以捕捉每3个区块中的1个。
让我们来看看,使用顶级ASIC矿机的进行Solo挖矿,该矿机发现区块的概率会有多少。
AntMiner S19 XP算力速度: 140 TH/s
比特币网络的总算力: 215,370,000 TH/s
比特币区块时间: 10 分钟
如果按照上面的数据计算,那么这台AntMiner S19 XP的算力占网络算力的比例为1/1538357,即矿工每10分钟捕捉到区块的概率为0.000065%。在统计学上,这台矿机在1538357个区块或10683天时即可捕获到一个区块,这大概需要29年。
使用NiceHash Solo挖矿,单独捕捉到区块的概率是多少?
NiceHash的Catch the Block挖矿产品其实与使用单独一台ASIC矿机进行Solo挖矿的原理非常相似,只不过您购买的是特定时间段内的算力,在这个时间区间内,您有机会命中一个区块并获得全部奖励。
另一个区别是,NiceHash提供了不同档次的套餐包,您可以选择购买一个算力更小的套餐包,花更少的钱,但命中区块的几率更低;或者您可以买更大号的套餐包,花更多的钱,从而提高捕捉到区块的几率。
让我们来看一个比特币Solo挖矿捕捉区块概率的案例。
黄金L(Gold L)套餐包价格: 0.01 BTC 或 本文撰写时约合195欧元
比特币网络总算力: 215,370,000 TH/s
比特币区块时间: 10 分钟
套餐包时间: 60 分钟 (也可能稍短或稍长)
以上述价格购买黄金L(Gold L)套餐包(价格可能会波动)之后,您将在特定时间内获得12652.6 TH/s的总算力总量,例如将时间设置为60分钟的话,您将有0.00587%的概率找到区块。因为套餐包持续总时间达60分钟,而比特币区块时间为10分钟,则您将有几率捕捉超过1个区块(尽管这种情况的概率非常小)!
最厉害的一点的是,存在一定的几率,您购买一个套餐包并捕捉到多个区块:
概率公式
假设一个泊松过程来模拟区块到达的过程。泊松过程是是一系列离散事件的模型,事件之间的平均时间是已知的或确定的,但事件发生的确切时间是随机的。泊松分布的一个基本特征是无记忆性,任何两个事件之间的间隔都是独立的,而且在统计学上是相同的。
一个事件在给定的时间间隔内至少发生一次的概率为该事件从未发生的补数,然后,我们可以使用指数累积分布函数(CDF)来定义在给定时间间隔内,事件至少发生一次的概率:
