比特币挖矿的本质是什么?加密是不可解密

日期: 栏目:文章分享 浏览:1456 评论:0

我们从众所周知的比特币切入。

比特币挖矿,其中有两点传播最为广泛:

其一,随着时间的推移,挖矿难度越来越大。

其二,挖矿人数约多,挖矿难度越来越大。

这两个结论看似简单且广为传播,然而它的背后却蕴含着极其复杂的原理。当我们搞清楚这两个原因时,也就能加深对挖矿以及哈希算法了。

1

首先,区块链挖矿的本质是:生成一个区块,链入区块链的过程,就是挖矿。挖矿的人,便是矿工。

那区块又是什么呢?

区块是一块储存空间,可以储存数据。而无数区块被串在一起,便是区块链。对这些无数区块的管理方式,便是按照一个约定好的方式进行串联。而这个方式便是哈希算法。也就是挖矿的本质。

举个栗子:

比如有一笔交易,从A地址转入B地址。我们需要将其记录嵌入到区块链上。我们首先是需要对这个信息进行“翻译”区块链挖矿,因为在区块链的世界里所有的行为都是被哈希算法加密后记录的。就比如我们想将一句法语记录到只有中文系统的软件里。我们首先需要将其统一化。

而这个“翻译”的行为,是需要有人来操作的。那么就需要矿工。矿工通过哈希算法将这个信息“翻译”并打包成一个区块。然后嵌入这条区块链的“末端”。

那么难点就来了:我们想要嵌入区块链的“末端”区块链挖矿,就需要先找到上一个位于末端的那一个区块,即前一个区块。

前面我们说了,在区块链世界里运用的是“哈希加密”的方式运行的。这就是难点所在:哈希加密是不可解密的!没错,只有加密这个过程,却没有解密这个逆向操作。不过,因为它的这种特质,区块链也拥有了绝对安全的优势。

2

那么,如果我们想找到这个区块链的合适位置,并且使之能将信息成功记录到区块链上,到底该怎么操作呢?

穷举法,没错,最简单粗暴的方式,这也是对矿机的运算能力有高要求的原因。

具体来讲,假如对最新的区块头进行两次计算,得到的哈希结果,高位48bit是,才算挖矿成的话,那么其概率为:(1/2)^48

这就好比在一座山上随手捡一块石头,正好是一块金子。我想,这也正是把生成区块并记录叫做“挖矿”的原因。

也许会有人说,只要矿机运算时间足够久,那么总能挖到矿呀?

错,这时你得了解一下上述提到的低二个广为流传的观点:越多人参与进来,挖矿难度越大!

为什么呢?

原因是这样的:如果别人计算能力强,在你挖到矿之前,如果别人先打包完成区块,并找到正确的位置并嵌入。那么就算你找到了,因为不是第一个,你所打包好的这个区块就被视为作废。此时你需要更新最新的区块链重新挖,才有可能挖到矿。

再回过头来看上文提到的第一条:随着时间推移,挖矿难度越来越大。这到底是为什么呢?

简单来说,因为区块太多,链条越来越长,区块的加密计算位数会越来越多,越来越复杂。再加上比特币每四年减少一半的特点,这就加大了我们挖矿的难度系数了。如果你想获得等额的比特币,之前你只需要打包100个区块,就能获得一个比特币奖励。随着比特币四年减半的特点,现在你至少需要一千乃至上万个有效区块。

3

最后,我们聊点实际也是大家最关系的问题:到底通过什么方式我们可以提升挖矿速度呢?

我们不妨先从原理角度出发:

“缓存”是无效的:每个区块链的哈希值都不同,历史计算过的值无法通过“查表”的方式来节省时间。

“scale up纵向扩展”是有效的:增强CPU的计算能力,使用特殊的芯片计算哈希是有效的。

“scale out横向扩展”也是有效的:单机总是有极限的,那么可以并行,一台抢不到,搞群集,这也是为什么会有那么多矿场的原因。

看完本文,在题头提到的两个被普遍传播的挖矿特点,我相信你已经有了属于你自己的理解方式。后面,以太财经将会更通俗易懂的给你带来区块链世界里其它专业知识。

标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。发布前请先查看评论规则:点我查看