1.什么是PoW

    PoW,全称Proof of Work,即工作量证明,又称挖矿,矿工利用挖矿设备做一定难度的计算得出一个哈希数,而验证方能比较轻易地验证这个结果是否是正确,而最先算出这个哈希数的矿工将获得该区块的记账权,并可以获得一定数量的手续费,即矿工费。因此PoW挖矿即不断打包计算出新的区块Block,进而延续生成Block Chain的过程。验证的过程就好比因数分解,有一个数是由多个值相乘所得,给出这个值,让计算出这个值是哪几个数相乘所得,CPU就要进行相应的计算核对,找出相应的计算方式的过程有一定难度,而核对就简单的多了。当然,pow的计算过程要比因数分解的难度要大的多。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

2.怎样才算挖矿成功

  当某个节点提供出一个合理的Block Hash值,验证方能简单证明该节点确实经过了大量的尝试计算。一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。Block Hash值的计算是使用“blockchain”,在字符串后面加上nonce的整数值串。nonce是随机数,不停地更换尝试,才能计算得到N个0开头的hash值。在“blockchain”+nonce进行SHA256哈希运算,如果得到哈希结果(以十六进制表示)是以若干个0开头,则验证通过,即可获得一定量的矿工费,即挖矿成功。0 的个数越多,计算难度越大,也就是挖矿的难度越大。寻找nonce(随机数)的过程就是PoW中的难题,找到了nonce解题完毕,可以向全网提交信息了!而这个过程就是挖矿。每次创建区块,都要去验证。新创建一个对象,专门处理挖矿验证。创建新的工作量证明,设置难度值原理:如果随机生成的Hash(二进制)小于难度值则挖矿成功。

3.算力与挖矿关系

   算力即指挖矿设备每秒可以计算哈希函数的次数。在pow中,区块链的记账权与节点的算力成正比,即算力越强,挖到矿的概率就越大。随着矿工人数的增加,挖矿的难度也越来越大。以比特币为例,在中本聪创下第一个创世区块并获得五十个比特币的奖励时,挖矿的人数比较少,一台电脑的CPU算力占全网的算力(全网算力即指一个数字货币链中所有挖矿设备算力总和)的比率比较大,仅仅用一台电脑挖到矿的概率就比较大。后来挖矿的人数越来越大,全网算力也不断增加,以大约十分钟打包一个区块的速度,只有提高打包区块的难度系数(nonce)。为了提高挖矿的收益,因此后续出现的矿机,矿池,矿场,而矿工收益也根据矿工的贡献值来分配,最大程度上保证了挖矿收益。

4.pow的优缺点

  优点:1.完全去中心化,节点自由进出;

        2.就比特币而言,全网算力较强,保证安全性。

    缺点:1.目前bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制的区块链应用很难获得相同的算力来保障自身的安全;

        2.挖矿造成大量的资源浪费;共识达成的周期较长,不适合商业应用

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄