3分钟看懂比特币挖矿

2024-01-15 22:02:07 147小编

很多行外人士对挖矿想不明白,什么哈希,容错、什么拜占庭,什么出块,搞的云里雾里,最后还弄了个挖矿,这都是行内人士故弄玄虚吧。

写这一小段文章,就是阐述几个概念,让行外人士快速理解。

哈希(HASH)--可以看成数字指纹:根据一段文本或数据(T1),可以生成唯一的一个值(H1),即使这段文本修改了一个标点符号(T2),生成新的值(H2)与原来的值会风马牛不相干,这样,可以用这个值(H1)来指代(T1),但又不需要知道T1到底是什么容错:网络上的各个计算机之间通信可能有延时,有些计算机上的软件可能是恶意的,如何在这个环境下获得大部分都能够认可的结果出块:由于计算机之间通信是有时延的,所以大家约定一段时间看看是不是可以获得一致的结果,称为一段时间出一个块(这个也是区块链的区块一词的来源)

比特币的基本原理:

比特币是一个记录交易的工具或是系统,他所做的事,在中心化的系统中都可以做到,他的天才之处在于不需要任何一台中心服务器就能做到,而且从理论上证明了目前是不可攻破的。

交易记录

比特币系统中的任何一台矿机,都在监听网络中的交易信息,每收到一条交易信息,就记在自己的块里

出块要求

比特币系统中的任何一台矿机,都把自己当前所有接收到的交易记录放到块里,然后对块里的所有数据进行哈希计算,生成一个哈希值,或者说是数字指纹。

上面这两个一点都不牛叉,很多系统就这样干的,牛叉的在后面:

任何一台矿机都在出块,谁说了算?

想象下中本聪大神和另外一个小神(假设他叫中本明)在讨论:

中本聪:这个很简单啊,大家约定好,符合某个条件的哈希值才算,比如,哈希值的第一位必须是0; 这样算出来是0的就是有效,其它的都无效;这样,平均10个人中有一个人是有效的。大家都认这个人。

中本明:我反对,既然是数字指纹,我收到的信息一致,不会算出第二个指纹来啊,难道我故意扔掉一些交易?

中本聪:那这样吧,在块里面我们留出一小块区域来,让大家随便填什么,只要填上后算出来的哈希值符合要求,就认,这样可以了吧。

中本明:嗯,这样,任何机器任何时候,都有机会算出满足要求的哈希值。谁先算出来的就有效,但这样有个问题啊,计算机的能力越来越强,算到合适的哈希值越来越快,最后快到交易还没有来,哈希就算出来啊

中本聪:嗯,这样吧,根据我们的网络延时,我感觉15分钟出一个块是比较合理的,我们在代码里做动态难度调整,如果有谁算出哈希值的时间短了,下一次的难度值就要调整,前面1个0不够,就扩展成2个0,再不够就扩展成10个0,20个0,50个0;这样大家平均10次才能得到一个,100次才能得到1个,10^10次才能得到一个........

中本明:高,实在是高,佩服得五体投地。

总结

这些东西,原理都很简单,想到这样的方法是天才啊。

哪比特币是怎么挖矿的呢?现在可以看出来的:

矿就是一小段可以改变,对区块的其它内容不构成影响的一串数字,矿机在记账的同时,不断修改这一小段数据,计算hash值,直到这个hash值满足当前系统的要求。

如果你算出来了满足要求的哈希值,你就把这个哈希值和块一起广播出去:“哈哈,我挖到了”,大家帮你验证一下,发现是对。然后就默默地把你的块放到系统里。

真有这一天,恭喜你,目前按8500美金一个比特币来算的话,一次出块获得12.5个,12.5x8500x6.6=70万人民币到手

关于矿机

其它的普通电脑都可以做,这里面最主要的是要不停地算HASH,用CPU算效率太低,所以很多人开启GPU并行计算挖矿,更有甚者,直接开发了挖矿的芯片!结果大家用CPU根本抢不过他们嘛。

这就是算力的集中化和矿霸的来源。

首页
欧意官网
欧意安卓下载
okx国际官网