主页 > imtoken正版下载 > 两种挖比特币的方法
两种挖比特币的方法
比特币挖矿的两种方式
比特币挖矿通常有两种方式。早期通常是单枪匹马,即单枪匹马淘金。随着矿机性能的指数级提升怎么才能挖比特币,Solo 已经不能保证收益了,现在通常是加入矿池的方式。网络
单人模式
之前的图网络
以下说明:ide
独立矿工通常通过 bitcoind 在网络上获得新交易。挖矿软件(如50Miner、GUIMiner等)周期性调用RPC方法(getblocktemplate)从bitcoind获取新交易
该方法返回一个新交易列表+coinbase交易挖掘软件使用获得的交易构造一个新区块,并创建一个80字节的区块头。然后,挖矿软件将区块头和难度设置传输给挖矿硬件(如CPU、GPU、ASIC等)怎么才能挖比特币,挖矿硬件穷举计算所有可能的区块头nouce值来寻找是否匹配很难设置哈希值。
如果没有,挖矿软件会给coinbase添加一个额外的nouce值,然后交给挖矿硬件进行计算。
如果是这样,挖矿硬件将带有适当nouce值的块头返回给挖矿软件。挖矿软件将区块头+区块传输到bitcoind。 bitcoind 向 P2P 网络广播块并等待网络确认。矿池方式
挖矿,计算量越来越大,矿工获得收益的概率不仅越来越小,而且越来越不稳定。所以就有了矿池的方式,大家一起挖,挖完之后按照产出的多少来分配收益。 svg
基本方法是:矿池将目标难度降低几个数量级,然后分配给每个矿工。矿工可能会发现很多符合矿池目标值的头,称为shares。
其中,如果一个header恰好满足目标难度值,将由矿池提交到P2P网络,收益将按照每个矿工提交的份额进行分配。性能
可以和上图对比
ui
同时解释:翻译
矿池通过bitcoind从P2P网络获取新的交易。矿工的挖矿软件与矿池挂钩,通过以下方式之一获取用于构建区块头的信息。
getwork RPC
直接提供给矿工构建的区块头。现在基本只用在solo模式下,是0.9.5及以下版本。
getblocktemplate RPC
为矿工提供 coinbase 交易、所有新交易以及版本号等其他必要信息。难度值是矿池接受份额的难度值,而不是P2P网络的难度值。
矿工可以检查交易,甚至可以追加或删除交易