用简单的语言挖掘加密货币时,计算机会做什么?

用简单的语言挖掘加密货币时,计算机会做什么?加密货币挖矿的概念是许多第一手熟悉的,因为所有有经验的PC用户可能都试图运行该程序进行挖矿。加密货币是在采矿的帮助下开采的,您可以从中赚钱,这也是许多人都熟悉的事实。但是,计算机或asic(用于采矿的专用设备)在采矿过程中究竟做了什么,为什么要经过一些哈希处理,即问题的技术方面已经为一小部分用户所熟悉。因此,网络上出现了许多“阴谋论”,例如比特币是某人的项目,目的是抓住巨大的计算能力来入侵五角大楼或其他类似组织。加密货币的计算机功能被用于秘密科学研究,与外星人情报的通信,并且加密货币本身被发明为所有这些“黑暗行为”的掩护。接下来,我们将尝试以最易理解的方式突出显示比特币的挖掘过程以及您的计算机目前要解决的任务,以便您可以更准确地表示挖掘过程的技术部分,并研究了所有“阴谋论” ”这不是一个很好的笑话。

首先,我们将为尚未熟悉区块链技术的人提供一个小理论。

区块链是指反映本质,即顺序写入区块的区块链。块是交易(转移)列表。那些。我们得到的区块链是加密货币钱包之间的转移清单,不是分开记录的,而是立即成批记录的。

打个比方,区块链可以被认为是一个带有工作表的文件夹,这里的区块将是一个记录了钱包之间交易的工作表。查找下一个块意味着已将具有新数据(翻译)的新工作表添加到该文件夹​​中。所有工作表均已编号并排列整齐。

同时,已经添加到区块链的数据不会受到质疑,即这是交易中所有参与者用于将加密货币从一个钱包转移到另一个信托的一种工具。

那些。区块链是存在的所有翻译的存档,不能被伪造。

为了使区块链具有100%的可靠性,并且人们完全信任通过区块链进行的交易,使用了多种技术,包括工作验证,即工作量证明挖掘。

现在,让我们直接进入POW挖掘,并弄清楚哪些计算机实际上将其计算能力用在了什么上,而矿工则为它们支付了哪些电费。

要了解进一步的叙述,您需要了解以下术语:哈希,哈希函数和哈希和其他。

散列是将信息转换为不可读形式以保护其免受陌生人侵害,以及将信息压缩为给定长度的文本字符串的过程。

散列函数(散列算法)-进行加密的方式。向后写文本,用数字替换所有字母或将这两种方法结合起来也可以称为哈希函数。对于比特币,哈希函数要复杂得多,称为SHA-256,以太坊-匕首桥本,莱特币-Scrypt。

散列总和是散列后接收到的结果,即在不知道所使用的加密算法的情况下无法识别的加密初始数据。哈希总和始终具有指定且不可更改的字符数。在加密货币中,散列通常为64个字符或32位长。

散列复杂度(挖掘复杂度)-对于加密货币,散列复杂度是通过在创建散列总和时包含一个附加条件来设置的。为此,在哈希总和的开头添加一个不变的数字零(0)。随着复杂度的增加,散列开始处的零数也增加。目前,比特币哈希必须包含18个零。

交易(转移)-有关从一个地址到另一个地址的加密货币转移的信息,同时该信息也通过相同的哈希函数(对于比特币为SHA-256)被哈希为64个字符的字符串,两次。散列事务处理速度很快,因为与查找整个块的散列函数相比,创建散列函数没有其他条件。交易的哈希通常称为TxID。

Nonce(随机随机数)是添加到块数据中以简化当前条件(挖掘难度)下哈希和的创建的数字。

 

我们在非利士水平上解释所有术语。要完全理解,请参考其他资源,例如Wikipedia。

了解和理解术语后,您已经可以了解加密货币挖掘期间计算机的实际功能(处理器,视频卡,ASIC,FPGA)

让我们回到每个人都在如此“努力寻找”的障碍。该块包含以下信息:上一个块的哈希,其中包含的所有事务的哈希以及随机数。需要前一个区块的哈希和以防止向区块链写入不正确的信息,交易的哈希和是从存储所有未确认交易的Mempool中获取的。应该注意的是,每个矿工都从内存池中获取自己的交易集,即每个人都在寻找自己的区块(他们自己的哈希和),而不是整个网络都在寻找特定的区块。正如我们已经说过的,一个非零数或一个任意数都有助于搜索具有给定复杂度的块的哈希和。因为如果数据仅包含事务和上一个块的哈希总和,则可能无法从内存池中的当前数据中找到哈希总和,更不用说趋向于给定值(对于比特币为10分钟)。

搜索新块,哈希和或加密货币挖掘的说明性示例:

比特币挖矿哈希块

在此示例中,使用不同的Nonce编号(3001、3002、3003、3004)计算了4个哈希总和,前一个块的哈希总和和事务的哈希总和保持不变。

实际上,由于Nonce的数量任意,新块出现的时间不是恒定的,并且可以在很宽的范围内变化,但是从数学上来说,平均而言,找到块的时间倾向于是程序中指定的一个数。

因此,我们得到了加密货币挖掘是通过随后的哈希选择任意的Nonce数,从而使得哈希后的块的哈希总和满足网络复杂性的要求(具有所需的零个数)。由于散列过程不是即时过程,并且需要计算机进行数学和逻辑运算,因此,对于每种算法,此设备或该设备具有自己的散列率。例如,使用Dagger-Hashimoto或Ethash算法进行哈希处理时,AMD Radeon RX580视频卡在一秒钟内可对3000万种具有不同Nonce编号的哈希进行哈希处理。这就是为什么他们说RX580视频卡产生30兆哈希(MH/s)的原因。同时,哈希速度不仅取决于设备,还取决于加密算法,挖掘的复杂性和软件(矿工)。

街区上的所有信息均向公众开放。有关比特币,请访问Blockchain.com。下面是一个块号613181的示例:

 

mining bitcoin block information 

当计算机执行数万或数十万次数学运算以获取一个哈希值或仅一个哈希值时,同时在一秒钟内处理了3000万个此类哈希值,则计算机将执行如此大量的工作在计算机上,谈论猜测某种密码以闯入五角大楼或其他秘密阴谋变得可笑。

现在您可能会问:“为什么根本需要所有这些?”这个问题的答案在于区块链技术本身,它需要为新块的出现提供一定的间隔,以保护数据免遭黑客入侵。而且这个时间间隔由采矿的复杂性精确地调节,采矿本身就是工作量证明,为此,矿工在他发现的区块中以新发行的加密货币的形式获得了奖励。在这种情况下完成的工作也不是免费的,因为这需要购买设备并浪费资源(电力)。因此,正在建立一种稳定的加密货币经济模型,因此,加密货币在社会上具有最初的物质价值。

总之,我们可以说区块链是一个可靠的档案,而挖掘过程就是将确认的信息记录到该档案中。为了使整个系统保持在稳定的工作状态,在此过程中的矿工获得了完全可理解和必要的工作,因此得到了奖励。