主页 > imtoken华为手机更新不了 > 挖矿 - 极简比特币教程(3)
挖矿 - 极简比特币教程(3)
一、什么是挖矿?
挖矿是将交易添加到区块链的过程。
二、挖矿是如何工作的?
比特币网络中的每个节点共享它接收到的新交易并将这些交易存储在自己的内存池中。
内存池是节点存储交易数据的临时存储区域
每个节点都可以尝试将内存池中的交易“挖掘”到存储比特币交易数据的分类账中。这个账本叫做区块链。
您可以将内存池视为持有“浮动”交易,而区块链持有“打包”交易。
但是,为了将交易从内存池添加到区块链,节点需要做大量的计算工作。这些计算工作负载是通过解决内存池中存在的“难题”来执行的。
三、什么是挖矿问题?
好的,假设你是一个节点。您可以随时将内存池中的交易压缩为数字和字母的“字符串”(哈希计算)。
字符串代表内存池中的所有交易
现在个人比特币挖矿教程,您的目标是找到一个数字,使得 HASH(数字 + 交易哈希字符串)值满足一定数量的 0。
大多数时候你会得到一个不满意的结果
但如果你继续努力,你可能会遇到一个刚好符合要求的数字
现在,这看起来很简单,但实际上非常困难:一切都是随机的,你所能做的就是希望你能找到符合你要求的东西——这就是比特币挖矿(使用你的计算机的 CPU做很多散列,然后希望自己的运气)。
如果你有幸找到匹配的哈希,内存池中的交易将被添加到区块链中,比特币网络中的其他节点会将你构建的区块添加到他们自己的区块链副本上。同时,您将获得25BTC作为您的算力奖励;此外,您还将收到区块中包含的交易所提供的交易费用(矿工费)。
“具体金额”来自“挖矿难度”,由比特币网络设定个人比特币挖矿教程,根据矿工总数进行调整——挖的人越多难度越大,是字符串的开头要求的数字越高(意味着越难找到获胜的结果)。
以上是“如何将块添加到区块链”的简化版本。更详细的介绍请参考“Blocks”章节。
四、为什么需要挖矿?
好问题!为什么不直接将交易添加到区块链中?
因为挖矿允许整个比特币网络就打包哪些交易达成一致(共识),这就是数字货币避免欺诈的方式。
当您提交比特币交易时,网络上的节点不会立即听到交易。相反,交易通过节点传输到其他相邻节点的方式在整个比特币网络中传播。
描述交易在网络中传播的一个词是“传播”
但是,也可以使用与上述相同的比特币构建另一个交易并将其添加到区块链中。例如,你可以用一些比特币购买一瓶啤酒,然后快速用这些比特币购买披萨。
一些节点会先听到披萨交易(并忽略啤酒交易);而其他人会先听到啤酒交易(并忽略披萨交易)
虽然你的披萨交易发生在啤酒交易之后,但由于交易传播到比特币网络的方式存在延迟,这使得网络在你应该得到啤酒还是披萨的问题上存在分歧。
那么网络如何决定执行哪个交易呢?
当然是采矿!
如果网络上的一个节点完成了拼图挑战,其内存池中的交易将被添加到区块链中。
如果有披萨交易的节点成功挖出一个区块,披萨交易就会被添加到区块链中,导致啤酒交易从网络中删除。
这似乎不是一种非常正统的交易选择方式,但它是比特币网络用来处理冲突信息的共识解决方案。
从积极的方面来说,每个区块的生成只需要 10 分钟的间隔来打包内存池中的交易,因此您最多可以等待 10 分钟让比特币到达您的地址(因此不会被发送) ) 到另一个地址)。
挖矿的另一个优势
如果你想尝试控制添加到区块链中的区块(例如交易),那么你必须与比特币网络中的其他矿工竞争来解决区块难题。
也就是说,你需要一台拥有比整个比特币网络中所有其他计算机加起来还要强大的超级计算能力的计算机。如您所知,这是不可能的! - 首先,你可能需要在硬件上花费数百亿,然后你才有机会获得这样的计算能力。
五、如何开始挖矿?
迫不及待想要获得 25BTC/块的奖励?
很简单,你只需要在比特币客户端打开一个开关就可以开始挖矿了。
但是,由于目前使用计算机的 CPU 进行挖矿效率极低,因此该“挖矿”开关已从比特币软件界面中移除。
但别担心!该挖矿功能依然存在...您只需要执行以下操作即可恢复挖矿:
转到:帮助 > 调试窗口 > 控制台。输入以下命令:setgenerate true
这是“开放挖矿”命令。现在,您的客户端将通过从内存池中提取交易并连续散列它们来开始构建块。这一刻,你应该感觉到它开始挖矿了!它发出嗡嗡声和嘶嘶声,因为您的 CPU 正在尝试计算哈希以试图找到合法结果。
它可能找不到有效的块(除非发生奇迹),但尝试起来很有趣。如果你觉得这完全是浪费电量,你可以关闭挖矿:setgenerate false。
(完)