一、哪些情况适合采用SOLO方式进行挖矿?
首先要知道的是,并不是所有的电子货币都适合采用SOLO方式进行挖矿,对于显卡玩家来说,以SOLO方式来挖比特币的话,可能一年也挖不到一个。
玩山寨币的朋友常碰到这样的问题,矿池难找,好不容易找到一个还是“黑矿池“,那怎么办呢?唯一的选择就是采用SOLO方式进行挖矿。
一般来说,如果你挖矿的速率在1000M以上(sha-256算法,)、或者速率在1000K以上(scrypt算法),币种当前难度在0.5以下,就可以考虑SOLO了。一句话,你的算力越大,难度越低,越适合采用SOLO方式挖矿。
二、如何进行设置?
(1)下载你要挖的电子货币的钱包软件,安装,同步数据完成后,关闭钱包软件;
(2)点系统“开始”,“运行”,在里面输入 %appdata% 然后点确定(win XP和win7系统都是这样操作),或者同时按键盘 “win”键和 “R”键也可以打开运行界面。
转自: https://zhuanlan.zhihu.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协议的配合下,矿池终于可以大声的对矿工说,让算力来的更猛烈些吧。
09年那会你用普通电脑还有可能挖得出来比特币,现在别试了,现在即使专业挖矿机也都是挖矿池,矿池的原理就是集合接入矿池里的所有算力去挖比特币,挖出来多少后按比例分配给参与挖矿的人员,具体能分给你多少一看挖出来多少,二看矿池平台分配比例。个人电脑挖一千年都不一定能挖出来。
我们先看一下多少算力一天才能挖出一个比特币,用挖矿收益计算器算一下就知道,150000TH的算力一天才能挖1.04个比特币。比特大陆专用矿机算力也只有100TH,它一天只能挖1/1500个比特币,挖一个需要1500天,差不多4年的时间。
那个人电脑呢?笔记本一般都是集成显卡,算力只有200MH,台式机独立显卡也只有600MH。MH是TH的1/1000,那意味着独立显卡的普通电脑算力只有专业矿机的 150(100*1000/600)分之一,反过来说,专业矿机要四年,那么普通电脑就要600年,咱们三代人都看不到结果[捂脸]。
那普通电脑挖比特币的话一年到底能赚多少钱呢?目前差不多四十万一个比特币,600年挖一个,平均下来一年7000块钱,看上去好像还不错对吗?错!你没有算电费和电脑耗损费,算上电费咱就亏了。一度电五毛钱,挖矿模式下电脑功耗差不多1000瓦,一天24度电,12块钱,一年电费就4000多块钱。电脑挖一年显卡和CPU基本也废了,算上耗费,基本等于零,忙了一年一场空。
所以当前比特币只能用专业矿机挖,不要幻想用普通电脑挖了。
三种比特币开采方式,家用电脑挖矿最不靠谱,其余两种就像买彩票一样
比特币的全球计算难度是21,724,134,900,047,一个家用的2.5GHz的CPU,算力大概是 2.24,每T日产出为 0.00000579 BTC,咱们算下:
1比特币 (2.24 TFLOPs 0.00000579比特币/每日) 365=211年
也就是说……200多年可以挖出来一个比特币(希望我小数点没数错)
“挖”比特币是想赚钱,可以考虑,但只有专业挖矿者“可能”可以获得比特币的方法,不赔钱的难度很高。
挖矿要有硬体设备,挖比特币矿的特制晶片我们通称矿机,操作矿机有硬体投入成本和运作成本,这些成本包括:硬体购入、安装、电费、更换、折旧、场地、散热等等;维持硬体运作的种种成本(如电费等)是重复性的,加上硬体过时折价,一次性总投入的资金额度大,所以拥有自己矿机的投资风险非常高。
挖矿是资本密集的事。有资金的人可以做为挖矿硬体的所有人,以出租算力来回收成本;没有资金的散户想要挖矿则可以承租别人的硬体算力来挖矿,两方各取所需。结果是,资金流向是由算力承租人将钱交给算力出租人,而算力出租人将钱交给了硬体商供应商。在整个比特币挖矿的产业链,矿机商在上游,风险小、资金回收也早,出租算力者是中游,也有利润;最下等的是终端算力的购买者,通常是赔钱的买卖。
既然比特币矿工难为,要想搭上比特币拥有者的列车,直接买入比特币后长期持有是最为简单、直接的方法。
“挖”比特币(bitcoin/比特币)的做法大致上可以分为三种:
1. 独力挖矿/开采(Solo Mining) -用家用慢慢挖,有幸挖到时,自己一人分矿。
2. 合力挖矿/开采(Pool Mining) -贡献你的计算力到一个团体参加团挖,挖到时全团每个人依计算力的贡献度照比例分矿。
3. 云端挖矿/开采(Cloud Mining) -租用在“云端”矿场的 计算力 来团挖。云端挖矿通常被包装成一种商品在公开网上出售,利用人们喜欢“不劳而获”的心理,云矿业者赚取“租金”,让持有计算力的人来分来分挖到的矿。
以上三种挖矿作法当中,独立开采的时代早已过时,这是因为采矿难度日日不断提升的结果,以至于今天要单靠一己之力要能挖到矿的机率太微小了,比中彩票还难。
虽然独立开采如同中奖时可以个人独得一批次的矿金,但是一般比较可行的作法是用团挖法或云端开采法集合众人之力才能挖到一个批次。团挖就好比大家集资买彩票的做法是一样的,只要有一张彩票中了奖,团里的人挖到那一批次的矿的结果是全团大家一起分。
除非你有便宜又超人一等的算力,不然,挖矿已经不值得一试了。无论自设“矿场”来独立挖矿或购买云端合约都不用考虑,因为团队挖或云端挖矿其实要回收成本都不易。您想,如果有矿机的人能靠挖矿赚到钱,为什么还要以卖矿机、或卖合约来赚钱呢?
希望通过这篇文章让您了解当个比特币矿工不赔钱实在太不容易了,用家用电脑来挖更是不可能。
据图吧老哥透露,3080一天能挖四十,耗费七度电,一个月轻松赚一千,不过现在显卡价格也就看看,3080得上万了,要啥自行车啊,本来刚需想配一台直接打消念头。听说小县城网吧都会挖矿了,哎
如今挖矿也包含了另一层含义,那就是挖比特币和以太坊为首的数字货币。挖数字货币其实不是用真正的机械式设备去运作,而是用矿机计算出比特币其中的种种难题,可以得到比特币的奖励!
在早些年的时候,如果你想参与挖比特币,只需要一台家用电脑就可以参与挖矿行列,如今随着比特币的价格飙升至数万甚至十几万一枚,比特币的挖矿人数也是暴涨,普通电脑的算法已经完全无法满足现在挖矿的难度需求了。如果你想要挖比特币或以太坊,必须得准备一台专业挖矿的矿机才行。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)