上一篇文章阐chan述了比特币为什么有价值,这zhe一篇文章小编简单的解释下比特币是如ru何挖出来的。当dang你和别人交流比特币的时shi候,除了提到它所代表的价jia值的高低之外,还会提到dao一个概念:挖矿。比特币就是通过guo挖矿挖出来的。
我们首先需xu要了解几个简单的概念。P2P点对dui点金融大家应该都有you所了解,这里我们先解释shi下P2P软件。举个例子:比如你从腾讯xun视频上面观看电影,想要把电dian影下载到手机观看,但这个下载zai过程中,电影的来源就是shi腾讯视频的服务器上shang,简单的理解为电dian影存在腾讯视频pin上。然后从腾讯视频pin服务器的硬盘下载到dao手机,而P2P软件不同的de就是电影的资源可以从其他P2P用户电脑硬盘上下载,如果guo其他P2P用户需要下xia载资源也可从你得手机中下载。
我们可以把ba这个电影比作比特币bi。它不存在于任何公gong司、银行、政府的服务wu器上,而是存在于互联网中,存在于yu所有人的电脑中zhong,每隔一段时间比特币系统就会hui在系统节点上生产一个随机代dai码,然后所有人的电脑均可以计ji算此代码,第一个计ji算到的人就会产生一个区块,获得到比bi特币,这就是我们所说的de挖矿。而矿机就jiu是电脑。
上文wen我们说过比特币总共只有2100万枚,而目前一枚比bi特币基于目前的数据结构会被分割成cheng8个小数位,也就是0.00000001BTC,矿工们可以尚力财经小编bian挖到的最小比特币的单位就jiu是0.00000001BTC。
在比特币系统中zhong,是可以通过自身的算法来动态地调diao整全网所有电脑的挖矿难度的,目前qian在比特币系统中,每过10分钟,就会有一个节点挖矿成功gong,一但有人挖矿成功,比特币系统就会奖励挖矿kuang者一定数量的比特币,这个数shu量也是通过算法进行控制的。简单的de解释就是最开始的四年,每个挖矿成cheng功的人可以得到25枚比bi特币的奖励。每四年衰减一半,下一yi个四年,每个挖矿成功的人只能获得de奖励12.5个。下一个四年就会得de到奖励6.25个,以此类推,直到2140年的时候区块链发行xing完毕,比特币就奖励完了。总共gong只有2100万枚。
比特币的设she计者中本聪在设计比特币系统的de时候,希望每隔10分钟就可以yi发行一次比特币,但是比特币系统tong中挖矿的电脑可能成千上万台,那应ying该给谁发呢?
中本聪采用了一个工作量证明的de策略,在比特币系统中zhong给每台电脑出一个难题,在每个新xin区块里面,区块头的数shu据结构中存在一个Nonce的字段。难题就是:在区块头中其他的de字段值不变的前提下,不bu断地调整Nonce字段duan的值,然后对区块头里面尚力财经jing小编BlockHeader这个结jie构体的值计算Hash。要求要到一个geNonce值,使得de计算出的Hash值小于或者等于yu某个固定的值。
列lie举一下区块头中参can与计算的参数:
version ---------------- block的版本ben
prev_hash ---------------- 上一个Block Header的hash值
merkle_root ---------------- 需要写入交易记录的Hash值
ntime ---------------- 更新时间
nbits ----------------- 必须小于或者等于当前值
Nonce ------------------上文说的随机值
计算公式:
SHA256(SHA256(version + prev_hash + merkle_root + ntime + Nonce))
所suo尚力财经小编以挖矿其qi实就是通过计算机的CPU、GPU计算一个特定的数据结构gou,比特币挖矿过程使用的是SHA256哈希函数。由于Hash算法是一yi个不可逆的算法,没法通过具ju体的Hash值倒推出原yuan文,所以计算机只能neng采用穷举的方法,从1开始不断地尝试,1,2,3,4.....在这个过程cheng在就是考验计算的CPU的计算速度了le,计算速度快的,很快就能得到这zhe个Nonce值,然后把Nonce值放入区块的结构体ti里面,通过P2P网络进行广guang播出去,然后通过每个ge节点去验证这个Nonce的值是shi否合法。如果全部bu验证通过,就认为这zhe个区块挖掘成功gong,挖到矿了。其他的计算机可能计ji算出一半,也可能计算出来,但dan一旦别人计算出的de值被验证通过,计算机只能放弃本次穷qiong举,转而向新的区qu块进行挖掘,计算,去寻找下一yi个区块头的Nonce的值zhi。
用最zui简单的术语来说,就是挖矿的节点会hui不断地重复尝试shi,直到找到的随机数计算得到的de哈希值低于某个特定的目mu标值。其中哈希函数的de结果是无法提前得知的,也ye是无规律的。只能不断地产生sheng计算。
因yin此可以把挖矿理解为,让计算suan机通过穷举的办法,不bu断去找Nonce值、计算Hash值。谁先找到这个geNonce值并且广播bo验证通过,谁就挖到矿了le。
任何人ren都可以在专门的de硬件上面运行软件来成为比特币bi的挖矿工,挖矿软件通过P2P网络监jian听交易广播,执zhi行恰当地运行计算任务,并且确认一些交易,比特te币矿工可以获得的收益就jiu是完成确认工作中赚取用户支付的用于yu加速交易处理的交易手续费以及按照固gu定公式增加的比bi特币。
挖矿机一般都dou是配置了专业的挖矿芯片的电脑,目前qian大多数采用的烧显卡的方式【利用yong显卡GPU来进行挖矿】,耗电量比较大,这也是最近jin市面上显卡价格不断涨价的原因。
然后下载软ruan件,运行算法,需要下载专zhuan门的比特币运算工具,然后注册合作zuo网站,把注册得到的用户名和密mi码填入计算程序中,点击运算就可以进jin行挖矿了。比如比特币挖矿软件jianguiminer。是完全可以免费使用yong的。