当前位置:首页 » 区块链精品文章 » 正文

6.3 挖矿

1600 人参与  2018年09月29日 17:37  分类 : 区块链精品文章  评论

6.3.1 基本原理

要了解比特币,最应该知道的一个概念就是“挖矿”。挖矿是参与维护比特币网络的节点,通过协助生成新区块来获取一定量新增比特币的过程。

当用户向比特币网络中发布交易后,需要有人将交易进行确认,形成新的区块,串联到区块链中。在一个互相不信任的分布式系统中,该由谁来完成这件事情呢?比特币网络采用了“挖矿”的方式来解决这个问题。

目前,每10分钟左右生成一个不超过1 MB大小的区块(记录了这10分钟内发生的验证过的交易内容),串联到最长的链尾部,每个区块的成功提交者可以得到系统12.5个比特币的奖励(该奖励作 为区块内的第一个交易,一定区块数后才能使用),以及用户附加到交易上的支付服务费用。即便没有任何用户交易,矿工也可以自行产生合法的区块并获得奖励。

每个区块的奖励最初是50个比特币,每隔21万个区块自动减半,即4年时间,最终比特币总量稳定在2100万个。因此,比特币是一种通缩的货币。

6.3.2 挖矿过程

挖矿的具体过程为:参与者综合上一个区块的Hash值,上一个区块生成之后的新的验证过的交易内容,再加上自己猜测的一 个随机数X,一起打包到一个候选新区块,让新区块的Hash值小于比特币网络中给定的一个数。这是一道面向全体矿工的“计算题”,这个数越小,计算出来就 越难。

系统每隔两周(即经过2016个区块)会根据上一周期的挖矿时间来调整挖矿难度(通过调整限制数的大小),调节生成区块的时间稳定在10分钟左右。为了避免震荡,每次调整的最大幅度为4倍。历史上最快的出块时间小于10秒,最慢的出块时间超过1个小时。

为了挖到矿,参与处理区块的用户端往往需要付出大量的时间和算力。算力一般以每秒进行多少次Hash计算为单位,记为h/s。目前,比特币网络算力峰值已经达到了每秒数百亿亿次。

汇丰银行分析师Anton Tonev和Davy Jose曾表示,比特币区块链(通过挖矿)提供了一个局部的、迄今为止最优的解决方案:如何在分散的系统中验证信任。这就意味着,区块链本质上解决了传统 依赖于第三方的问题,因为这个协议不只满足了中心化机构追踪交易的需求,还使得陌生人之间产生信任。区块链的技术和安全的过程使得陌生人之间在没有被信任 的第三方时产生信任。

6.3.3 如何看待挖矿

2010年以前,挖矿还是一个非常热门的盈利行业。

但是随着相关技术和设备的发展,现在个人进行挖矿的收益已经降得很低。从概率上说,由于当前参与挖矿的算力实在过于庞大(已经超出了大部分的超算中心),一般的算力已经不可能挖到比特币。特别是那些想着利用虚拟机来挖矿的想法,确实意义不大了。

从普通的CPU(2009年),到GPU(2010年)和FPGA(2011年年末),到后来的ASIC矿机(2013 年年初,目前单片算力已达每秒数百亿次Hash计算),再到现在众多矿机联合组成矿池(知名矿池包括F2Pool、BitFury、BTCC等),短短数 年间,比特币矿机的技术走完了过去几十年集成电路技术的进化历程,并且还颇有创新之处。确实是哪里有利益,哪里的技术就飞速发展!目前,矿机主要集中在中 国(超过一半的算力)和欧美,大家比拼的是一定计算性能情况下低电压和低功耗的电路设计。全网的算力已超过每秒1018次Hash计算。

很自然地,读者可能会想到,如果有人掌握了强大的算力,计算出所有的新区块,并且拒不承认他人的交易内容,那是不是就能 破坏掉比特币网络?确实如此,基本上个体达到1/3的算力,比特币网络就存在被破坏的风险了;达到1/2的算力,从概率上就掌控整个网络了。但是要实现这 么大的算力,将需要付出巨大的经济成本。

那么有没有办法防护呢?除了尽量避免将算力放到同一个组织手里,没太好的办法,这是目前PoW机制自身造成的。

也有人认为为了共识区块的生成,大部分算力(特别是最终未能算出区块的算力)其实都浪费了。有人提出用 PoS(Proof of Stake)和DPoS等协议,利用权益证明(例如持有货币的币龄)作为衡量指标进行投票,相对PoW可以节约大量的能耗。但PoS可能会带来囤积货币的 问题。除此之外,还有活跃度证明(Proof of Activity,PoA)、消耗证明(Proof of Burn,PoB)、能力证明(Proof of Capacity,PoC)、消逝时间证明(Proof of Elapsed Time)、股权速率证明(Proof of Stake Velocity,PoSV)等不同的衡量指标。

当然,无论哪种机制,都无法解决所有问题。一种可能的优化思路是引入随机代理人制度,通过算法在某段时间内确保只让部分节点参加共识的提案,并且要发放一部分“奖励”给所有在线贡献的节点。


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=952

区块链是什么  

微信号:qq444848023    QQ号:444848023

加入【我是码农】QQ群:864689844(加群验证:我是码农)

<< 上一篇 下一篇 >>

网站分类

标签列表

最近发表

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

本站资源大部分来自互联网,版权归原作者所有!