挖矿

一、 挖矿设备的演化:越来越专业化

GPU池化术语发布 gpu矿池_矿池


通用CPU(普通电脑): 挖矿过程中计算哈希值只用到了通用CPU的很少的一部分指令,而且硬盘中的大部分内存都是闲置的,性价比很低。

GPU: 相比CPU,挖矿效率有很大的提高,GPU能够进行大规模的并行计算,但很多部件仍然是闲置的(比如对浮点数的运算,深度学习用于计算梯度很有用)。

ASIC矿机: Application Specific Integrated Circuit,专用集成电路,一种专门为挖矿设计的芯片,整个芯片的用途就是为了求解比特币中的mining puzzle。一台采用这种芯片的矿机算力,比2010年比特币网络的整体算力还要大。但是ASIC芯片制作成本高、周期长、投入巨大。而矿机的淘汰速度也很快,过一段时间就有更好的矿机问世,比老款矿机速度更快,老款矿机就会因性价比低而被淘汰。
 

二、矿池(Mining pool)

(1)单个矿工的问题:

1.矿工的算力相比于全网的算力是很小很小的,因此,单个矿工需要花费很长的时间才能挖出一个区块,而一旦挖到某个区块,矿工就可以一次性获得很大的收益。所以,这个过程就像买彩票一样,风险高,收益高。

2.除了挖矿以外,单个矿工还要承担全节点的责任,加重负担。

 

(2)矿池

 矿池可以将分散的算力集中起来,一个矿池可以管理很多个矿工,矿池负责打包候选区块,矿工负责接收矿池的任务进行哈希运算。加入矿池的矿工的收入期望并没有增加,获得的收益仍然与矿工的算力成正比。但是,通过加入矿池,矿工收入的稳定性提高了

 

矿池的收益分配: 按照贡献算力的大小进行分配,还是使用工作量证明的方法。矿池要求矿工提交一个比挖矿难度低的结果,称为share,比如挖矿要求计算出的哈希值前面包含70个0,而矿池则要求60个0。矿工提交符合要求的nonce,作为矿工的工作量证明,当然,提交的share大部分时候是没有意义的。

 

矿池份额:

GPU池化术语发布 gpu矿池_矿池_02


思考: 如果矿池中有不诚实的矿工,当矿工挖到了符合比特币puzzle的结果,但是不将这个结果发送给矿池,而是自己偷偷的把这个区块发出去,得到区块奖励,当挖到share就发给矿池算作工作量证明,这样可行吗?

不可行,因为矿池的管理者负责将交易打包成区块,而每个区块中都有一个铸币交易(coinbase transaction),这个交易的输出的地址是矿池管理者给出的。

 

大型矿池的出现是与区块链去中心化的思想相违背的,大型矿池使得网络中的恶意攻击更为容易,降低了区块链的安全性。