本文由币乎(bihu.com)优质内容计划支持
上次的文章主要讲挖矿对于比特币的重要性,还有挖矿的流程,今天对前面的内容再梳理一下。
一、作为一个挖矿节点它会同时做这样几件事:
1. 收集交易、验证交易,把它放入自己内存池并向其他节点传播这笔交易
2. 进行工作量证明的HASH运算努力出块
3.监听网络,看其他节点是否出块
二、在挖矿节点有这些事情在发生着:
1.一笔又一笔交易进入节点,验证合格的进入内存池
2.构建候选区块,先构建区块头填充区块头信息,再构建区块身体(节点在内存池挑选一些交易进入候选区块)
3.进行挖矿,即工作量证明
4.成功构建区块(这意味着该节点找到了合适的NONCE值)
5.校验新的区块(这个节点挖出的块发送到其他节点将接受验证)
6.把新区块加入链中
三、在以上的这些事件中有几点可以细说说的:
1.当节点构建区块时,要从内存池中选取一些交易,在选取的时候会按照优先级别去选取。优先级的标准有三条,交易金额大;交易的字节要少;交易生成的时间长。
交易金额大就优先这个容易理解,就像在银行办业务金额大的就是VIP就会有些优惠优先的待遇;交易的字节少才可以优先,我理解就是为了避免“粉尘攻击”,避免大量的小额交易拥塞;交易生成的时间长更容易理解,你的交易排队时间足够长就会给你办理。这一条我觉得是兼顾了矿工和交易发起者这两方的利益公平,矿工构建区块打包交易时通常会选择手续费高的,于是手续费低的或是零手续费的交易就会被推后,这样就导致这些交易一直都得不到确认,但是当时间足够长(一天)了,这笔交易就有了足够的优先级使得它可以被打包。
2.构建的区块头包括这几项:版本号、父区块哈希值、MERKLE根、时间戳、难度值、nonce
这里面的merkle根是把交易每两个放一起做哈希运算得一个哈希值,然后对这些哈希值再每两个放一起做哈希运算,就这样最后把所有的交易递归得出一个哈希值叫MERKLE根。这里就要求交易的数量是偶数,如果打包进来的交易是奇数就把其中一笔交易COPY凑成两个做哈希运算。
3.开始关于每十分钟出块觉得很疑惑,不明白为什么不能把时间缩短,不是越快越好吗?
其实比特币的出块时间定为十分钟是有原因的,因为每个块在整个网络里传递,从这一个节点发出直到每个节点都收到这个信息是有一个时间过程的,在这过程中有的节点也可能挖出块,这样就会出现临时分叉,因为有共识规则存在最终所有的节点都会选择最长的链作为主链,会把接收到的块链接到最长的链上,所以才保证了这个大帐本的一致。现在出现分叉的间隔是十分钟,如果把时间缩短到三分或两分钟,那上述的分叉现象就会频繁发生,所以,在比特币中出块时间设定为十分钟是兼顾了安全和效率,这是目前最合适的一个平衡点。
挖矿对比特币而言是很重要的,理解挖矿对学习比特币也是很重要的,弄明白比特币中的出块方式,矿工的工作原理,可以帮助自己在学习其他类型的区块链时有对比的去理解。
四、算力、矿机和矿池
1.算力就是每秒钟能进行多少次哈希计算的能力。
算力和币价有很密切的关系,币价高涨时就会有很多人进入挖矿,全网的算力就会增加,同时随着进入的人越来越多挖矿成本(主要是电费和购买矿机)就会不断上升;当币价下跌时挖矿的收益可能就不足以支付成本,挖矿的人可能就会减少;所以看的出币价的高低会影响算力的增加或减少,但算力的高低无法起到调节币价的作用。
算力对我们的指导作用就是可以作为判断市场热度的一个指标。
2.矿机。
就拿比特币来说挖矿的设备进行了几次更新换代,最早的CPU到现在的专业矿机ASIC,专业矿机顾名思义是专门研究出来用于挖比特币的,它的速度比CPU快了很多很多倍,形象一点的来说现在我如果用我的CPU这辈子都挖不出一个块。
3.矿池。
矿池是随着算力上升而产生的,因为算力上升单个矿工面临的风险增加,所以合作组成矿池。矿池通过矿池服务器运行专门的挖矿协议协调众多矿工的工作,它另一头连着比特币网络,矿池负责区块的维护、验证区块、交易,而矿工们只在各自的更小范围内搜寻哈希值。
挖矿对于一个区块链来说它参与维系生态的运行,参与挖矿的人越多从一定程度反应出这个链的共识范围越广,有更多人认它,才会因为有利可图而有更多的人加入挖矿。
一直以来,挖矿也是区块链的一个赚钱的门道,但是随着比特币挖矿成本上升,POW对能源消耗被诟病,目前国家对此逐渐监管,所以这种方式的挖矿已经不再红火。每回想到比特币需要耗费电力挖矿,又导致算力和挖矿设备的竞赛,我就想不明白比特币将来会怎样走下去呢,因为摩尔定律的存在挖矿设备的单个芯片的计算能力总会到头,而通过不断增加芯片个数来提升算力又因太耗费能源已经被围堵,好像走到了死胡同里。会不会因为这个需求倒逼使得新材料新技术的运用然后使芯片的计算能力攀升到另一个新起点呢?也许会......
本文由【区块链研习社】优质内容计划支持,更多关于区块链的深度好文,请点击【区块链研习社】简书专栏:http://www.jianshu.com/c/b17f09dc2831
不脸的求赏,我的QYB地址:Qf4gCd2AX6K4eJJqh9cTXx2GdhnthCz1b3
网友评论