挖矿怎么赚钱?
挖矿是怎么赚钱的?
或者说挖矿到底是一件干什么的事情,老是听说挖矿赚钱、挖矿病毒、挖矿是淘汰类产业,但并不是很清楚挖矿到底是一件什么样的工,。以比特币挖矿为例来认识一下挖矿。
一些基本概念
P2P网络
一般我们认为网络是由客户端和服务端组成,客户端向服务端请求资源,服务端响应客户端的请求完成闭环。但P2P网络将互联网中的每台计算机既当作客户端也当作服务端,即每台计算机可以向其他计算机发起请求也可作为服务端响应其他计算的请求。
这样做最明显的优势就是资源的高效共享和去中心化。
PoW证明
Proof of Work 工作量证明,是挖矿中的术语,指某个矿工为了赚取比特币而付出的计算资源的表现形式。
coinbase
无输入只有输出的铸币地址,可以理解成矿工完成某一区块挖矿的记录
挖矿过程
挖矿可以理解成一大群人(P2P网络中的矿工)计算某个复杂的数学方程式(sha2算法),出题人设置了这个数学方程式的一些标准(难度值),只有符合出题人的标准后才能提交答案进行验证,验证通过了就可以获得比特币,同时这一大群人又将重新对新的数学方程式进行计算,不断循环。
这个过程是去中心的话,因为参与者通过P2P网络的形式,这种形式本身就是去中心化的表现,所以不难理解比特币是一种去中心化货币。
矿工进行挖矿活动中解决的数学方程式就是sha2算法,如下图所示矿工首先确定sha2算法中的Prev Hash,Merkle Hash,Timestamp,bits,然后不断的变换Nonce的值来计算“出题人”给出的“标准”,比如计算结果中需要包含8个0或者18个0。
上述的”标准“不是一成不变的,反之他会动态调整。
难度值需要保证区块(被计算的数学方程式)10分钟产生一次,而难度值在2016个区块后进行调整一次。
如果区块的生成时间小于10分钟,说明全网算力增加,难度需增大
如果区块的生成时间大于10分钟,说明全网算力降低,难度需降低
共识算法
存在一种情况是两个矿工或者多个矿工同时完成了一个数学方程式的计算(区块),那么谁将获得这一轮的奖励呢?
挖矿过程是允许在同一个区块上出现分叉(fork)的情况,如下图对3号区块挖矿分出来绿色4和蓝色4,这两个区块都是可以继续挖矿的,但是这两个区块肯定有一个会优先完成,那么未完成的那个就会被废弃。
假设下图中绿色4和蓝色4同时完成了对3号区块的挖矿,同时5号完成了绿色4号区块的挖矿,那么蓝色4区块将被废弃,因为比特币采用最长链的共识算法。
如果蓝色4号区块被废弃,那在蓝色4上产生的交易记录无法在主链上(下图情况中是绿色4号链)被确认,那么被废弃的蓝色4号链上产生的交易记录会回到内存池,等待矿工打包到未来的区块中并终在主链上被确认。
一般认为经过6个区块确认的交易几乎不可能被修改。
谁发现的第一个比特币?
中本聪(一个日裔美国人)开创比特币对等网络开源用户群节点和散列函数系统,他发行了最初的50个比特币。
参考链接
https://liaoxuefeng.com/books/blockchain/bitcoin/mining/index.html
https://zh.wikipedia.org/wiki/%E6%8C%96%E7%A4%A6_(%E6%95%B8%E4%BD%8D%E8%B2%A8%E5%B9%A3)