主页 > imtoken安卓最新版 > #比特币挖矿part2#矿池协议

#比特币挖矿part2#矿池协议

imtoken安卓最新版 2023-03-11 06:51:59

//事情很多,待续,我会言出必行的。

本文主要介绍目前主流的比特币矿池协议。目前比特币矿池主要分为两种:托管矿池和P2P矿池

两种P2P矿池的评估和对未来发展矿池的看法托管,即公司或个人运营矿池服务器。矿池服务器的拥有者称为矿池管理员,他获得一定比例的矿工收入。

矿池服务器运行专业软件和矿池挖矿协议比特币矿池中的币从哪里来,协调矿池中矿工的活动。池服务器还连接到一个或多个比特币全节点,并可以直接访问区块链数据库的完整副本。

这允许矿池服务器代表矿池中的矿工验证区块和交易,从而减轻他们运行完整节点的负担。对于矿池中的矿工来说,这是一个重要的考虑因素,因为完整节点需要至少 116G+(见下图)和至少 2GB 内存(RAM)的永久存储(此配置只是理论上的比特币矿池中的币从哪里来,它不会的工作)。此外,运行全节点的比特币软件需要监控、维护和频繁升级。由于缺乏维护或资源而导致的任何停机都会损害矿工的利润。对于许多矿工来说,能够在不运行完整节点的情况下进行挖矿也是加入托管矿池的一大好处。

这里写图片描述

矿工使用诸如 Stratum (STM) 或 GetBlockTemplate (GBT) 等挖矿协议连接到矿池服务器。自 2012 年底以来,旧标准 GetWork (GWK) 已基本过时,因为它不支持以高于 4GH/S 的哈希速度进行挖矿。 STM 和 GBT 协议都创建包含候选块头模块的块模板。池服务器通过聚合交易、添加 coinbase 交易(和额外的 nonce 空间)、计算 Merkle 根以及连接到前一个块的哈希来构建候选块。此时,候选块的头部作为模板分发给每个矿工。矿工使用此区块模板以低于比特币网络的难度进行挖矿,并将成功的结果发送回矿池服务器以赚取份额。

主流协议GetWork(GWK)流程矿工通过基于HTTP协议的JSON-RPC方式从矿池服务器获取任务:[数据数据,难度目标]。数据数据为十六进制字符串,以little-endian方式存储。

矿工拿到任务,每4个字节将任务中的数据解码成大端模式。

这里写图片描述

矿工解析工作的部分其实就是nonce值的位置