挖矿从入门到精通(三):POW挖矿逻辑过程_比特币:买比特币

POW挖矿本质就是构造符合要求的区块并进行验证的过程。本期教程将通过介绍比特币区块的结构与其打包,验证过程来解释POW挖矿的逻辑过程。

区块结构

2019-09-1914:49:20爆出的比特币区块来自:BTC.com

比特币区块分为四部分,区块头Blockheader,区块大小Size,区块交易数Txcounter,以及交易列表。

Perpetual Industries在印第安纳州开设新公司总部,将拓展加密挖矿等业务:10月28日消息,Perpetual Industries Inc.宣布已搬进印第安纳州奥本的一个新的公司设施。该设施占地2.2万平方英尺,将作为新的公司总部,为Perpetual提供更多空间,以满足其研发项目不断增长的需求,以及为其加密货币部门执行大规模比特币挖矿中心扩张的空间。(Globe Newswire)[2021/10/28 6:18:09]

区块头内包含六个字段,Version,PrevBlock,MerkleRoot,Time,Bits,Nonce。

火币七爷:流动性挖矿提供了一种更平衡的双向冷启动机制:在9月28日举行的创新者大会上,火币全球站CEO七爷表示,DeFi的价值在于无法作恶,具有去代理人风险、完全可计算、公平透明三大优势。在他看来,流动性挖矿提供了一种更平衡的双向冷启动机制,其中流量池替代掉订单簿,突破了链上撮合的性能瓶颈。

七爷表示,DeFi是一个纯粹客观的计算世界,引领了无需信任中介、自动化中间键替代中心化机构的“乐高积木金融”潮流,可组合的DeFi应用加速了网络密度的形成,并快速衍生了多样的生态。[2020/9/28]

区块打包过程

BTFS存储空间挖矿大赛8月25日top10获奖名单已公布:据BTFS官方团队统计,调整挖矿奖励分配公平性规则后 8 月25日共有 1380 个超过 100MiB 的存储用户节点,按照存储比例瓜分 25,000,000 BTT的空投奖励,共有 5861 个超过 7.2分(满分10 分)的在线高质量节点平分 5,000,000 BTT空投奖励。[2020/8/27]

具体过程如下:

从未确定交易池中选择交易,通常尽可能多的优先选择手续费高的交易。

构造coinbase交易,计算打包交易中的挖矿手续费,与coinbase奖励一起发送到打包矿工的地址。

动态 | 腾讯御见:“Agwl”病团伙对Linux系统进行挖矿、DDoS、删库勒索等三重攻击:腾讯安全御见威胁情报中心监测发现,“Agwl”团伙增加了对Linux系统的攻击,入侵成功后加入基于Linux系统执行的bash脚本代码s667。该脚本运行后会添加自身到定时任务,并进一步下载Linux平台下的CPU挖矿木马bashf和GPU挖矿木马bashg。“Agwl”团伙继续植入Linux平台的DDoS病lst(有国外研究者命名为“Mayday”)以及勒索蠕虫病Xbash。Xbash勒索病会从C2服务器读取攻击IP地址段,扫描这些网络中的VNC、Rsync、MySQL、MariaDB、Memcached、PostgreSQL、MongoDB和phpMyAdmin服务器进行爆破攻击,爆破登录成功后不像其他勒索病那样去加密数据再勒索酬金,而是直接将数据库文件删除后取酬金,企业一旦中招将会蒙受严重损失。[2019/8/6]

由打包交易与coinbase交易得到区块结构中的区块大小,区块交易数与交易列表。

对所有交易进行hash运算,得到MerkleRoot。

自行填写Nouce,由当前环境填写Version,PrevBlock,Time,Bits,与得到的hashMerkleRoot一同构成区块头。

区块头与区块大小,区块交易数与交易列表就构成了一个比特币区块。

打包一个比特币区块,矿机一瞬间就可以完成,但是比特币主链只会允许符合难度要求的区块进行广播,那么如何验证区块是否符合难度要求呢?

区块难度验证

20190919比特币难度情况来源:BTC.com

验证过程为:区块打包成功后对区块中的区块头进行hash运算,将运算结果与当前全网难度比对,若运算结果小于全网难度,则成功广播。但如果运算结果大于全网难度,则需要重新构造区块头再次循环。

由于hash算法的不可逆性质,矿工只能挨个去尝试改变区块头的构造来满足难度要求,算力越大,满足难度要求的可能性就越大,这就是POW工作量证明机制。

矿工需要不断改变区块头的信息,使得SHA256D<全网难度,那么在第一次验证失败后如何更改区块头信息呢?

区块头中的数据,Version,PrevBlock,Bits,Time在同一时刻是一定的,不会发生变化。矿工能够修改的部分为Nonce和MerkleRoot。

Nouce是一个四个字节的随机数,可能取到的值有2^32个。在早期使用CPU与GPU进行比特币挖矿时,矿工只需要通过改变Nonce的值来重新构造区块头从而得到新的SHA256D。

MerkleRoot是对区块内所有交易进行hash运算的256位hash值,改变coinbase的输入信息和改变交易排列顺序都可以改变MerkleRoot从而改变区块头得到新的SHA256D。

ASIC矿机出现后,Nonce提供的2^32可能取值无法将爆块时间控制在10分钟,故现阶段矿工通过修改Nonce和MerkleRoot两种方式来重构区块头。

挑Sir碎念

《挖矿从入门到精通》专为挖矿小白量身定做,将通过“入门”“实战”“进阶”三大阶段进行系统性专业性数字货币挖矿教学指导。

“入门”掌握核心挖矿知识/资源库,从此不是挖矿小白!

“实战”挑Sir带你免费体验挖矿过程,积极互动将有机会在“实战”阶段获得挑Sir矿机体验资格!

“进阶”掌握挖矿业内人士核心技能,你也可以成为矿圈大佬!

下期预告:

《挖矿从入门到精通-入门篇》

矿池如何下发任务给矿机

关注“科学挖矿”公众号,获取最新挖矿测评资讯!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:46ms0-9:189ms