K線
數據鏈上
VIP
市值
API
排行
CoinOSNew
CoinClaw🦞
語言
  • 简体中文
  • 繁体中文
  • English
全球行情資料應用程式領跑者,致力於更有效率地提供有價值的資訊。

功能

  • 即時行情
  • 特色功能
  • AI網格

服務

  • 資訊內容
  • 開放數據(API)
  • 機構服務

軟體下載

  • PC版
  • Android版
  • iOS版

聯絡我們

  • 聊天室
  • 商務信箱
  • 官方信箱
  • 官方驗證通道

加入社區

  • Telegram
  • Twitter
  • Discord

© Copyright 2013-2026. All rights reserved.

简体繁體English
|舊版

#科学挖矿#【挖矿从入门到精通】【入门篇】矿池如何下发任务

CN
科学挖矿
關注
6 年前
AI 總結,5秒速覽全文

挖矿从入门到精通(四)

入门——挖矿基础知识


上期介绍了POW挖矿的整个逻辑过程,但如今挖矿行业有两大主体:矿池和矿工,两者究竟是何关系?又是通过什么方式合作完成整个挖矿过程的?挑Sir带给你答案!


POW挖矿过程

矿池与矿工之间的通讯协议为基于JSON-RPC 2.0的stratum协议,接下来挑Sir将通过解析一个stratum协议来介绍矿池和矿工如何合作完成挖矿。



stratum协议

准备工作

在矿池与矿工连接之前,矿池需要完成的工作有:

从未确定交易池中选择待打包交易

得出区块结构中的区块大小,区块交易数与交易列表以及区块头中的常量Version,Bits,PrevBlock。

根据待打包交易构造coinbase交易,将coinbase交易进行hex转码并分为 Coinb1,ExtraNonce1,ExtraNonce2,Coinb2。

将其他代打包交易进行预处理,形成merkle_branch,merkle_branch可直接与coinbase交易构造MerkleRoot。


备注:

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

由于coinbase交易没有输入方,输入字段有可随意修改的区域,故stratum协议将coinbase交易进行分割,将不可修改部分设定为Coinb1和Coinb2,将可修改部分设定为ExtraNonce1,ExtraNonce2,其中ExtraNonce1由矿池加入标记字段,ExtraNonce2交由矿工遍历,以解决Nonce与Time搜索空间小的问题。

形成的merkle_branch在下发给矿工时,与将所有交易全部下发给矿工的方式相比大大减小了传输量。


准备工作可以保证给矿工的任务准确下发,下面解析矿工连接矿池的步骤。



矿机连接


1.矿机发送请求

矿机使用mining.subscribe方法,向矿池提出请求


2. 矿池回应请求

矿池使用mining.notify方法回应请求,返回订阅号,ExtraNonce1,ExtraNonce2_Size,难度。


其中,订阅号作为标记,ExtraNonce1为矿池修改的coinbase可修改字段,ExtraNonce2_Size为交由ExtraNonce2的字节数,难度为矿池根据矿机算力下发,远小于全网难度。


3. 矿机登陆矿池

矿机使用mining.authorize方法登陆矿池。


4.矿池返回登陆结果

矿池使用server.result方法返回登陆成功提示。


5.矿池分配任务

矿池使用mining.notify方法分配任务,返回job_id,PrevBlock,Coinb1,Coinb2,merkle_branch,Time,Bits,Version,clean_jobs。


其中job_id作为标记,PrevBlock,Bits,Version为区块头组成部分,Coinb1,Coinb2为coinbase组成部分,merkle_branch为生成MerkleRoot的必要字段,Clean_jobs为任务停止标示,当当前区块已被爆出,矿池可以将这一项设为ture,矿机将中止任务 。


至此,矿机接收到了构造一个区块头需要的所有信息,在Nonce,Time,ExtraNonce2三个可变量内进行随机取值后构造区块头,进行hash运算并与难度验证,当找到符合条件的一组值时,进行任务提交。


比特币区块结构,点击查看“【挖矿从入门到精通】【入门篇】POW挖矿逻辑过程”


6.矿机提交share

当矿机发现满足下发难度的一组值时,以mining.submit方法进行任务提交,返回用户名,job_id,ExtraNonce2,Time,Nonce。


7.矿池确认任务

当收到任务提交时,矿池将矿机提交的值进行验证,若符合下发难度条件,则返回ture。这时,称矿机提交了一个share。矿池同时会使用矿机提交的值与全网难度条件进行验证。若符合全网难度条件,则广播,矿池成功爆块。


8.难度调整

矿池会随时使用mining.set_difficulty方法调节下发给矿机的难度。



总结一下

矿机向矿池提交share,矿池根据一定时间内提交的share数反推出矿机算力数值,并计算收益。


正是stratum协议保证了矿池与矿机之间任务发放与share提交等信息传输,使矿池与矿工能够低信息传输量,高效率地合作完成整个挖矿过程。但是根据stratum协议,矿池可以自由控制打包的交易和区块版本,矿池权力过大,在这种模式下比特币网络安全性受到威胁。


近期Slush Pool 背后的公司 Braiins 准备发布 Stratum V2,可以有效解决stratum协议的安全性问题,挑Sir将在近期对stratum V2协议进行解析,敬请期待。



挑Sir碎念

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


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


“实战”挑Sir带你免费体验挖矿过程,关注公众号并将文章转发至朋友圈将有机会在“实战”阶段获得挑Sir矿机体验资格!


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


下期预告:

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

挖矿行业生态图谱


微信公众号:科学挖矿



免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

复活节狂欢,瓜分1万USDT!
广告
|
|
APP下載
Windows
Mac
分享至:

X

Telegram

Facebook

Reddit

複製鏈接

|
|
APP下載
Windows
Mac
分享至:

X

Telegram

Facebook

Reddit

複製鏈接

科学挖矿的精選文章

6 年前
#科学挖矿#【挖矿从入门到精通】【入门篇】挖矿行业生态-矿机服务
6 年前
#科学挖矿#【冷知识】大熊市矿工抄底矿机还是抄底币?
6 年前
【测评】云算力测评 | 都是云算力为何你独独这么优秀?
查看更多

目錄

|
|
APP下載
Windows
Mac
分享至:

X

Telegram

Facebook

Reddit

複製鏈接

相關文章

avatar
avatar百益区块链
2 天前
瑞波币:从跨境支付革新到稳定币战略的生态演进
avatar
avatar百益区块链
2 天前
穿越牛熊与地缘风暴:币安币(BNB)的技术基石与市场韧性分析
avatar
avatar百益区块链
2 天前
Solana:从高性能区块链到数字支付新基建的演进
avatar
avatar百益区块链
2 天前
深入解析:以太坊币的技术原理与市场动态
avatar
avatar加密少爷
4 天前
无代码发币:详解 PandaTool 创建代币全流程
APP下載
Windows
Mac

X

Telegram

Facebook

Reddit

複製鏈接