比特币是一种虚拟货币,
基于区块链技术。
如果我们简单地
把区块链的区块
比作一个个的账本,
那么“挖矿”就是
“打包”过去十分钟
整个区块链网络的交易,
把这些交易写入新的区块,
那么就“打包”完成,
那就是完成了“挖矿”。
完成了挖矿之后就获得了
系统分发给你的比特币。
这就是比特币“挖矿”
比较简化的说法,
当中的原理和
运行还是相当复杂的。
比特币的价格最高时
超过13W元一个,
每一次获得“打包权”,
完成工作就会获得
12.5个比特币
(会随时间递减),
获利可谓相当丰厚。
天下熙熙皆为利来
天下攘攘皆为利往,
只要有利润的地方就有人。
网络上矿工众多,
那么如何确定应该分配给
哪个矿工去做这事呢?
比特币的创始人
中本聪采用这种方法:
采用一种叫
“工作证明
(Proof Of Work,
简称POW)机制,
即工作量的证明。
这种方法通常来说
只能从结果证明,
因为监测工作过程
通常是繁琐与低效的。
这是用来确认
你做过一定量的工作,
但是监测工作的
整个过程极为低效,
而通过对工作的结果
进行认证来证明
完成了相应的工作量,
则是一种非常高效的方式。
我们可以比喻成,
要证明你会开车,
技术好,
企业不可能给你几天时间,
跟着你在市区上走。
但是,
你可以提供驾驶证
和之前在公交车
公司当公交车司机的
工作证明等,
来说明你的能力。
你要获得这个能力需要付出
大量的时间和精力,
但是企业验证却非常简单。
比特币这种加密系统
所使用工作量证明机制的
证明是哈希现金,
需要算出对应的哈希函数。
哈希现金是一种
工作量证明机制,
它是亚当•贝克
在1997年发明的,
主要用于抵抗邮件的
拒绝服务攻击及
垃圾邮件网关滥用。
在比特币之前,
哈希现金被用于
垃圾邮件的过滤,
也被微软用于
hotmail等产品中。
对于比特币这种加密系统
所使用的哈希函数,
它需要具备以下的性质:
1. 免碰撞,
即不会出现输入x≠y,
但是H(x)=H(y)
2. 隐匿性,
也就是说,
对于一个给定的
输出结果H(x),
想要逆推出输入x,
在计算上是不可能的。
3. 不存在比穷举更好的方法,
可以使哈希结果
H(x)落在特定的范围。
比特币在区块链的
生成过程中使用了
POW机制,
一个符合要求的区块哈希函数
由N个前导零构成,
零的个数取决于
网络的难度值。
要得到合理的区块哈希码
需要经过大量尝试计算。
当某个节点提供出一个
合理的区块哈希值,
那就是说明该节点确实
经过了大量的尝试计算,
那么系统就把
“打包权”分配给
该节点(矿工)。
当然这不能得出
计算次数的绝对值,
因为寻找合理hash
是一个概率事件,
所以当节点(矿工)
拥有占全网n%的算力时,
该节点基本上就是有
n/100的概率找到区块哈希。
那就是意思上说比拼算力。
那么能不能记住前面几个0,
然后可以使用呢?
不能的,
因为难度值不一样,
0的数量就不一样。
而且要证明的
数是一个哈希码,
而且需要验证的
工作量证明非常庞大,
基本上无法造假。
那么,
只存在一个方法:
穷举!
这就意味着,
你不仅要算出你的哈希值,
还需要对比对不对,
如果不对的话继续算。
所以需要大量的
芯片进行大量的并行运算,
获取哈希值。
这些矿场都是
用专业的芯片来算,
他们的算力是人工的N倍。
如果单靠人力,
算十年都没有它们
工作一小时的效果大。
领取专属 10元无门槛券
私享最新 技术干货