矿池构建
㈠ 挖矿协议stratum
Stratum 协议于2012年底开发,专为扩展支持矿池挖矿而设计,取代了过时的getwork协议。其最初在Slush's pool's网站公布,随后BTCGuild提供了备忘单形式的文档。
在Stratum挖矿过程中,矿机使用subscribe方法连接矿池。连接后,矿机记录矿池返回的数据,包括用于设置难度值、发送任务、Extranonce1和Extranonce2等信息。Extranonce1和Extranonce2用于增加搜索空间,是挖矿的关键元素。
矿机接着使用authorize方法向矿池授权,注册账号并添加矿工,矿池允许每个账号添加任意数量的矿工,并分配钱包地址用于收益分配。某些矿池如F2Pool允许直接使用钱包地址挖矿,此时授权时不需注册账号。
矿池通过notify方法分配任务给矿机。任务包括任务号ID、前一个区块的HASH值、coinbase、merkle_branch、区块版本号、当前难度、当前时间戳、以及一个清除工作标志。有了这些信息和之前的Extranonce1和Extranonce2_size,矿机就能开始挖矿。
矿机开始挖矿,构造coinbase信息,将Extranonce2与coinbase合并。构建merkleroot,利用coinbase和merkle_branch进行哈希运算得到最终结果。之后填充区块头的剩余字段,进行挖矿。矿机使用submit方法向矿池提交工作量,矿池验证难度和全网难度。
矿池使用set_difficulty方法调整矿机的难度值,以适应矿工的效率。难度值通过特定公式计算得出,表示任务难度相对于比特币难度单位的倍数。如果矿机在规定时间内未提交结果,矿池将重新发送任务,连续三次未提交任务后认为矿机断开连接,需要重新连接。
㈡ 全球第四大矿池币印暂停提现,有用户2000万元虚拟币被困
全球第四大矿池币印确实已暂停提现服务,导致有用户2000万元虚拟币被困。具体情况如下:
币印矿池遭遇流动性危机:
- 币印矿池近期发布公告,宣布暂停提现服务,原因是遭遇流动性危机。
用户资金受困:
- 有用户反映,价值2000万元的虚拟币因币印暂停提现而无法取出。
- 用户吴晶表示,她从2017年开始投资虚拟货币,并计划在币印钱包提取资金,但未能实现。
- 另一名用户邬俪也表示,自己在币印钱包中的超过13个比特币无法提现。
币印的回应与解决方案:
- 币印矿池在公告中表示,9月6日前存放矿池余额的BTC、ETH将暂停提现,并承诺在完善细节后通知新的提现方案。
- 币印相关负责人表示,他们正在制定解决方案,并强调资产安全与企业净资产为正。
- 币印矿池的创始人兼CEO潘志彪在朋友圈表示,提现困难是因缺乏流动性,但企业资产安全。
币印钱包的特点与用户反馈:
加密货币市场的不确定性加剧:
- 币印矿池暂停提现服务的消息加剧了加密货币市场的不确定性。
- 用户需密切关注币印的后续发展与解决方案,以便及时了解并应对可能的风险。
㈢ 区块链矿工赚什么钱(区块链挖矿挣钱)
挖矿究竟是怎么赚钱的?(上)想了解挖矿在区块链产业中的地位,就必须对区块链整个产业的上中下游有个大致的了解。
上游,比如比特币等币的生产以及与挖矿相关的企业。这其中有矿机的设计、生产等企业,还有矿场和发电设备的建设、矿池的运营等,这些都属于区块链的上游企业。
中游,区块链的中游指交易环节和存储环节。很多中心化和去中心化的交易所,以及各个币种的钱包开发都属于区块链的中游企业。
下游,依托区块链技术的各类应用,不管是底层协议、基础链还是应用链都属于下游企业。
在上中下游的产业中,每个环节都有自己的赚钱逻辑,风险大小也自然很不相同。下面我们分类介绍。
第一类赚钱门道,简单的投资或投机,具体来说就是在二级市场买入区块链资产。门槛最低,入门资金要求很低,只要会使用交易所进行买币即可。风险大,收益与否严重依赖个人对市场的判断。
第二类赚钱门道,项目早期风险投入,也就是ICO。门槛不高,但是风险极大。有爆赚几十倍甚至百倍千倍的,也有血本无归的。一是因为本身项目就在早期,距离成功落地还有很长的距离,项目成败风险很大。二是很多无良项目肯本就是骗钱的,就没有打算把项目落地。
第三类赚钱门道,跨市场对冲套利,简称搬砖。风险很小,但是门槛现在已经比较高了。搬砖的收益来源于多个市场的价格不平衡,现在手工搬砖已经逐渐被淘汰了,程序化的搬砖交易以及越来越专业化的运作,技术门槛较高。
第四类赚钱门道,高频量化交易,这是一种单市场的套利方式。和搬砖类似,风险小,技术门槛高,需要同时对开发和交易系统都非常熟悉才能盈利。
第五类赚钱门道,开交易所。门槛主要来自资金和技术,以及运营。风险主要是监管和政策的不确定性。
第六类赚钱门道,场外交易。随着带OTC功能的交易所逐渐增多,个人做这一块获利空间逐渐减小。
第七类赚钱门道,生产矿机及芯片等硬件。行业内做的比较好的有比特大陆、阿瓦隆、BITFURY等公司。从事这个行业必须有专业的开发技能。
第八类赚钱门道,经营矿池。矿池的门槛主要是技术和矿工的算力支持。
第九类赚钱门道,程序开发,比如应用、量化交易程序、自动交易工具、矿机矿池程序开发等等。
第十类赚钱门道,挖矿。如果把比特币比作货币的话,挖矿就是发行货币的过程。属于低风险,中等收益的投资品类。一台比特币矿机的回本周期,根据币价不同,大概为100到300天。下篇我们会就挖矿的相关知识进行详细讲解。
为什么挖矿最赚钱“挖矿”为什么最赚钱:
“矿工”是区块链食物链的顶端
没有“矿工”参与记账,区块链去中心化就无法实现,安全也无从谈起
“矿工”是既区块链技术方一人之下万人之上的人
“矿工”是给屯币炒币的人供应币的人
交易所炒币屯币的人买到手的币,都是已经被“矿工”赚过了钱的币
“矿工”天天躺赚还产币,天天都有币收,币成本最低
炒币的人,那怕是资本参与,都是“矿工”的帮手,他们自己出成本去炒,炒得越高,赚得最狠坐收渔利的还是“矿工”
区块链是怎么挖矿赚钱的?挖矿赚钱的原理:PoW和挖矿。
最开始比特币可以用显卡挖出,但在13年时,已经无法用显卡通用计算程序挖出比特币BTC,比特币现在全部都是用ASIC矿机进行"挖矿"。
类似地,14年莱特币ASIC矿机上市也终结了显卡挖莱特币的挖矿历史。目前显卡能够"挖矿"的数字货币是以太坊ETH、以太经典ETC、Zcash零币ZEC。
显卡"挖矿"并不是一本万利的生意,事实上起步越早,收益越高,而且收益会随着更多的矿工和显卡的加入递减。
直白说,现在买高价的显卡入场"挖矿"绝对是亏死你,购置专业矿机才是更高性价比的选择。如今个人挖矿的必备工具是矿池,矿池的作用是集合大量矿机算力,增大你挖到币的几率,同时你未来能挖到的币提前平均分配到你的账户里。
以比特币为例,假如现在比特币全网每10分钟产生一个区块,这个区块包含25个比特币。假设全球有1W人参与挖矿,那么在这10分钟内,只有1个幸运儿拿走了这25个比特币。
其它人则颗粒无收。而矿池的原理是大家组队挖矿,并按约定的分配方式分配,使得矿工的挖币回报趋于稳定,减少矿工的风险。
为增强性价比,还可选购一些类似玩客云这样的实用矿机,既能当普通硬件产品使用,也能挖矿,一举两得。
(3)矿池构建扩展阅读
块链交易和数字货币的运作核心有几个:
去中心化数据库连成的交易网络——称为区块链,大家所有的客户端(包括矿机)一起记账,确认转账交易;按时间发行一定量的数字货币。
因为赢家通吃,导致中小散户矿工要联合起来组成"矿池",以Shares记录累积工作量,联合算力越高,矿池联合体先找到数字货币的概率就越大,增大找到新发数字货币的概率,瓜分挖到的数字货币。这就叫PoW工作量证明机制。
区块链技术是怎么赚钱的?求解答。
区块链技术的赚钱方式有下面四种:
1、硬件和基础设施,典型的有矿机生产、经销链条,在这你可以通过买矿机、挖矿赚币挣钱。
2、区块链底层平台和通用技术,如以太坊等公链、隐私协议Nucypher等,在这你可以通过投资其代币、构建链上应用、为用户提供服务赚钱。
3、各类垂直应用,如基于区块链的供应链溯源及金融,版权确认及交易等,你可以使用这些应用或是投资其代币赚钱。
4、服务设施,如数字资产交易所和钱包,媒体产品等,你可以自己做一个交易所赚钱。
(3)矿池构建扩展阅读:
区块链的类型
1、公有区块链
公有区块链(PublicBlockChains)是指:世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。
公有区块链是最早的区块链,也是应用最广泛的区块链,各大bitcoins系列的虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链。
2、联合(行业)区块链
行业区块链(ConsortiumBlockChains):由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易。
3、私有区块链
私有区块链(PrivateBlockChains):仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。
㈣ 官方矿池是什么意思啊
“官方矿池是什么意思啊?”这个问题经常在数字货币社区中出现。官方矿池是一种由数字货币开发者构建和控制的矿池,目的是确保网络的安全和稳定运行。
官方矿池通常由数字货币项目的核心开发团队构建。这些团队通常会在官方矿池中存储一些代币,以便确保网络安全并提供资金支持。此外,官方矿池也可以为矿工提供更好的收益机制和更友好的界面。
总之,官方矿池是非常重要的数字货币生态组成部分,它可以提高网络的安全性、增加矿工的收益,并为项目提供更好的支持。 由于它具有多重作用,因此数字货币团队通常鼓励矿工使用官方矿池来参与挖矿。
㈤ 全球第四大矿池币印暂停提现,有用户2000万元虚拟币被困
全球第四大矿池币印在近期遭遇流动性危机,发布公告暂停提现服务。此消息引发币印用户恐慌情绪,尤其是当得知有用户价值2000万元的虚拟币无法提现时,许多人感到震惊。用户吴晶表示,自2017年投资虚拟货币以来,她从币印钱包提取资金的计划未能实现,这让她意识到币印的提现困难并非偶然现象。吴晶从2020年开始从事挖矿,贷款50万元购买了超过50台矿机,但遇到币价大跌,ETH价值缩水一半以上,加之矿机贬值,直至现在仍未回本。另一名用户邬俪则表示,自己超过13个比特币在币印无法提现,价值约170万元人民币。据矿机中间商透露,当前市场价约为1500元/台,对比吴晶的购买价,矿机价值已大幅下降。币印矿池发布公告表示,9月6日前存放矿池余额的BTC、ETH暂停提现,并称将完善细节后通知新的提现方案。对此,币印相关负责人表示正在制定解决方案,并强调资产安全与企业净资产为正。币印矿池的创始人兼CEO潘志彪曾在朋友圈表示,提现困难因缺乏流动性,但企业资产安全。潘志彪透露,币印成立于2017年11月,由BTC.com原核心团队建立,创始人兼CTO李天昭也曾是比特大陆BTC.com技术团队的负责人。潘志彪表示,币印是数字货币挖矿一站式服务平台,也是矿池和钱包解决方案的提供商,其钱包基于高性能、分布式的去中心化区块链网络Mixin Network构建,具有顶级安全、灵活多元等特点。币印钱包提供存币增值、一站式交易、币币借贷、矿工特色金融等功能。多名用户表示,币印钱包不同于其他加密货币钱包,用户并不真正掌握秘钥,资金实际掌握在币印钱包平台方手中。币印矿池暂停提现服务的消息,无疑加剧了加密货币市场的不确定性,用户需密切关注币印的后续发展与解决方案。
㈥ 比特币矿池的协议stratum
转自: https://zhuanlan.hu.com/p/23558268
getblocktemplate协议诞生于2012年中叶,此时矿池已经出现。矿池采用getblocktemplate协议与节点客户端交互,采用stratum协议与矿工交互,这是最典型的矿池搭建模式。
与getwork相比,getblocktemplate协议最大的不同点是:getblocktemplate协议让矿工自行构造区块。如此一来,节点和挖矿完全分离。对于getwork来说,区块链是黑暗的,getwork对区块链一无所知,他只知道修改data字段的4个字节。对于getblocktemplate来说,整个区块链是透明的,getblocktemplate掌握区块链上与挖矿有关的所有信息,包括待确认交易池,getblocktemplate可以自己选择包含进区块的交易。
挖矿有两种方式,一种叫SOLO挖矿,另一种是去矿池挖矿。前文所述的在节点客户端直接启动CPU挖矿,以及依靠getwork+cgminer驱动显卡直接连接节点客户端挖矿,都是SOLO挖矿,SOLO好比自己独资买彩票,不轻易中奖,中奖则收益全部归自己所有。去矿池挖矿好比合买彩票,大家一起出钱,能买一堆彩票,中奖后按出资比率分配收益。理论上,矿机可以借助getblocktemplate协议链接节点客户端SOLO挖矿,但其实早已没有矿工会那么做,在写这篇文章时,比特币全网算力1600P+,而当前最先进的矿机算力10T左右,如此算来,单台矿机SOLO挖到一个块的概率不到16万分之一,矿工(人)投入真金白银购买矿机、交付电费,不会做风险那么高的投资,显然投入矿池抱团挖矿以降低风险,获得稳定收益更加适合。因此矿池的出现是必然,也不可消除,无论是否破坏系统的去中心化原则。
矿池的核心工作是给矿工分配任务,统计工作量并分发收益。矿池将区块难度分成很多难度更小的任务下发给矿工计算,矿工完成一个任务后将工作量提交给矿池,叫提交一个share。假如全网区块难度要求Hash运算结果的前70个比特位都是0,那么矿池给矿工分配的任务可能只要求前30位是0(根据矿工算力调节),矿工完成指定难度任务后上交share,矿池再检测在满足前30位为0的基础上,看看是否碰巧前70位都是0。
矿池会根据每个矿工的算力情况分配不同难度的任务,矿池是如何判断矿工算力大小以分配合适的任务难度呢?调节思路和比特币区块难度一样,矿池需要借助矿工的share率,矿池希望给每个矿工分配的任务都足够让矿工运算一定时间,比如说1秒,如果矿工在一秒之内完成了几次任务,说明矿池当前给到的难度低了,需要调高,反之。如此下来,经过一段时间调节,矿池能给矿工分配合理难度,并计算出矿工的算力。
矿池通过getblocktemplate协议与网络节点交互,以获得区块链的最新信息,通过stratum协议与矿工交互。此外,为了让之前用getwork协议挖矿的软件也可以连接到矿池挖矿,矿池一般也支持getwork协议,通过阶层挖矿代理机制实现(Stratum mining proxy)。须知在矿池刚出现时,显卡挖矿还是主力,getwork用起来非常方便,另外早期的FPGA矿机有些是用getwork实现的,stratum与矿池采用TCP方式通信,数据使用JSON封装格式。
先来说一下getblocktemplate遗留下来的几个问题:
矿工驱动:在getblocktemplate协议里,依然是由矿工主动通过HTTP方式调用RPC接口向节点申请挖矿数据,这就意味着,网络最新区块的变动无法及时告知矿工,造成算力损失。
数据负载:如上所述,如今正常的一次getblocktemplate调用节点都会反馈回1.5M左右的数据,其中主要数据是交易列表,矿工与矿池需频繁交互数据,显然不能每次分配工作都要给矿工附带那么多信息。再者巨大的内存需求将大大影响矿机性能,增加成本。
Stratum协议彻底解决了以上问题。
Stratum协议采用主动分配任务的方式,也就是说,矿池任何时候都可以给矿工指派新任务,对于矿工来说,如果收到矿池指派的新任务,应立即无条件转向新任务;矿工也可以主动跟矿池申请新任务。
现在最核心的问题是如何让矿工获得更大的搜索空间,如果参照getwork协议,仅仅给矿工可以改变nNonce和nTime字段,则交互的数据量很少,但这点搜索空间肯定是不够的。想增加搜索空间,只能在hashMerkleroot下功夫,如果让矿工自己构造coinbase,那么搜索空间的问题将迎刃而解,但代价是必要要把区块包含的所有交易都交给矿工,矿工才能构造交易列表的Merkleroot,这对于矿工来说压力更大,对于矿池带宽要求也更高。
Stratum协议巧妙解决了这个问题,成功实现既可以给矿工增加足够的搜索空间,又只需要交互很少的数据量,这也是Stratum协议最具创新的地方。
再来回顾一下区块头的6个字段80字节,这个很关键,nVersion,nBits,hashPrevBlock这3个字段是固定的,nNonce,nTime这两个字段是矿工现在就可以改变的。增加搜索空间只能从hashMerkleroot下手,这个绕不过去。Stratum协议让矿工自己构造coinbase交易,coinbase的scriptSig字段有很多字节可以让矿工自由填充,而coinbase的改动意味着hashMerkleroot的改变。从coinbase构造hashMerkleroot无需全部交易,
如上图所示,假如区块将包含13笔交易,矿池先对这13笔交易进行处理,最后只要把图中的4个黑点(Hash值)交付给矿工,同时将构造coinbase需要的信息交付给矿工,矿工就可以自己构造hashMerkleroot(图中的绿点都是矿工自行计算获得,两两合并Hash时,规定下一个黑点代表的hash值总是放在右边)
。按照这种方式,假如区块包含N笔交易,矿池可以浓缩成log2(N)个hash值交付给矿工,这大大降低了矿池和矿工交互的数据量。
Stratum协议严格规定了矿工和矿池交互的接口数据结构和交互逻辑,具体如下:
1. 矿工订阅任务
启动挖矿机器,使用mining.subscribe方法链接矿池
返回数据很重要,矿工需本地记录,在整个挖矿过程中都用到,其中:
Extranonce1,和 Extranonce2对于挖矿很重要,增加的搜索空间就在这里,现在,我们至少有了8个字节的搜索空间,即nNonce的4个字节,以及 Extranonce2的4个字节。
2. 矿池授权
在矿池注册一个账号 ,添加矿工,矿池允许每个账号任意添加矿工数,并取不同名字以区分。矿工使用mining.authorize方法申请授权,只有被矿池授权的矿工才能收到矿池指派任务。
3. 矿池分配任务
以上每个字段信息都是必不可少,其中:
有了以上信息,再加上之前拿到的Extranonce1 和Extranonce2_size,就可以挖矿了。
4. 挖矿
1) 构造coinbase交易
用到的信息包括Coinb1, Extranonce1, Extranonce2_size 以及Coinb2,构造很简单:
为啥可以这样,因为矿池帮矿工做了很多工作,矿池已经构建了coinbase交易,系列化后在指定位置分割成coinb1和coinb2,coinb1和coinb2包含指定信息,比如coinb1包含区块高度,coinb2包含了矿工的收益地址和收益额等信息,但是这些信息对于矿工来说无关紧要,矿工挖矿的地方只是Extranonce2 的4个字节。另外Extranonce1是矿池写入区块的指定信息,一般来说,每个矿池会写入自己矿池的信息,比如矿池名字或者域名,我们就是根据这个信息统计每个矿池在全网的算力比重。
2) 构建Merkleroot
利用coinbase和merkle_branch,按照上图方式构造hashMerkleroot字段。
3) 构建区块头
填充余下的5个字段,现在,矿池可以在nNonce和Extranonce2 里搜索进行挖矿,如果嫌搜索空间还不够,只要增加Extranonce2_size为多几个字节就可轻而易举解决。
5. 矿工提交工作量
当矿工找到一个符合难度的shares时,提交给矿池,提交的信息量很少,都是必不可少的字段:
矿池拿到以上5个字段后,首先根据任务号ID找出之前分配任务前存储的信息(主要是构建的coinbase交易以及包含的交易列表等),然后重构区块,再验证shares难度,对于符合难度要求的shares,再检测是否符合全网难度。
6. 矿池给矿工调节难度
矿池记录每个矿工的难度,并根据shares率不断调节以指定合适难度。矿池可以随时通过mining.set_difficulty方法给矿工发消息另其改变难度。
如上,Stratum协议核心理念基本解析清楚,在getblocktemplate协议和Stratum协议的配合下,矿池终于可以大声的对矿工说,让算力来的更猛烈些吧。