主页 > imtoken钱包下载教程 > 比特币挖矿原理是什么【个人比特币挖矿教程】

比特币挖矿原理是什么【个人比特币挖矿教程】

imtoken钱包下载教程 2023-01-30 06:15:12

挖矿技术发展历程CPU挖矿->GPU挖矿->FPGA挖矿->ASIC挖矿CPU挖矿时代:SENGENERATEGPU挖矿时代:GETWORK通用场景PoW

比特币的原理及运作机制_比特币机制_比特币挖矿机制pow

大家好,我是建筑先生,一个会写代码会吟诗的架构师。 今天就来说说比特币挖矿的原理【个人比特币挖矿教程】,希望能帮助大家进步!!!

采矿技术发展史

CPU 挖矿 -> GPU 挖矿 -> FPGA 挖矿 -> ASIC 挖矿

在一般场景下,PoW 共识机制是以下挖矿过程。 下面以比特币为例,总结一下与挖矿相关的技术概念。

采矿技术术语和原理

矿工

挖矿程序或机器统称为矿工

采矿的性质

执行哈希函数的过程,哈希函数是单输入单输出函数,输入数据是区块头

区块头一般分为六个字段:

挖掘逻辑

打包优惠。 检索待确认的交易内存池,选择包含该区块的交易构建Coinbase。 构造 hashMerkleRoot。 填写其他字段以获得完整的区块头。 哈希运算比特币的原理及运作机制,对区块头进行SHA256D运算。 如果验证结果符合难度,则向全网广播,挖出下一个区块; 如果不满足难度,则按照一定的策略改变上述其中一个字段,然后进行Hash运算验证。

GETWORK协议

GETWORK协议代表GPU挖矿时代。 需求主要是由于挖矿程序与节点客户端的分离,以及区块链数据与挖矿组件的分离。

比特币挖矿什么原理[个人比特币挖矿教程]

getwork核心设计思想:

区块由节点客户端构建,然后将区块头数据交给外部挖矿程序。 挖矿程序遍历nNonce进行挖矿,验证通过后返回给节点客户端。 节点客户端验证通过后向全网广播。

合格区块条件如下:

SHA256D(Blockherder)“挖矿结果”

地层:

矿池通过getblocktemplate协议与网络节点进行交互,获取区块链的最新信息,通过stratum协议与矿工进行交互。

为了让之前用getwork协议挖矿的软件也能连接到矿池进行挖矿,矿池一般也支持getwork协议,通过层挖代理机制(Stratum mining proxy)来实现。

矿池刚出现的时候,显卡挖矿还是主力,getwork用起来很方便。 另外,一些早期的FPGA矿机是用getwork实现的。 Stratum 使用 TCP 与矿池通信,数据以 JSON 格式封装。

比特币挖矿什么原理[个人比特币挖矿教程]

简要总结:

挖矿其实就是矿池作为一个角色与链上的节点进行交互,将新区块的json数据格式的Header交给矿工,矿工聚集算力给矿池计算出正确新区块要求的Nonce,最终通过验证 矿池获得区块奖励,并分配给矿工。

至于多年前diff低的时候不需要矿池的solo挖矿比特币的原理及运作机制,我就不提了....

注意参考

[1] 深入剖析挖矿逻辑与技术实现