比特币矿池管理费
转自: 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协议的配合下,矿池终于可以大声的对矿工说,让算力来的更猛烈些吧。
Ⅱ 如何自己挖矿(入比特币)
第一步:准备矿机、矿池
想要挖到比特币,就必须要准备专业的设备,目前市面上已经有不少专业矿机在出售,而矿池也是必不可少的,大家在选择矿池的时候也要对比各个矿池的产出和收益差距,然后选择最适合的一种矿池。
挖比特币的电费成本:
挖比特币是通过高力计算机特定的加密算法来挖掘的,所以说挖比特币的速度还是要看你计算机的算力。
自2018年7月起,数字币市场持续低迷。比特币价格从9000美元连续跌至6000美元关口。较年初19000美元关口下跌近60%。受比特币等主流数字币影响,整个数字币市场的泡沫逐渐被挤破。如果按照每台矿机每月耗电1000度,每度电0.35元计算.
每100台矿机每月需缴纳电费35000元,则矿工每月利润仅为36100元,需要1年的时间才可收回购买矿机所需成本。受低迷行情影响,矿工的收入也急剧下降。按照30日内比特币价格最高点8376美元计算,每100台矿机的挖矿收入锐减约42300元。
以上内容参考:
网络-比特币
Ⅲ 比特币交易平台提现要平台管理费吗
一般是没有平台管理费的,不过一般平台会有杠杆手续费和提现手续费。
在交易所提币的手续费一般都是0、0005个比特币,目前一个比特币价格12万人民币,那基本上提币一次就是60块钱。
许多面向科技玩家的网站,已经开始接受比特币交易。比如火币、币安、OKEx之类的网站,以及淘宝某些商店,甚至能接受比特币兑换美元、欧元等服务。毫无疑问,比特币已经成为真正的流通货币,而非腾讯Q币那样的虚拟货币。国外已经有专门的比特币第三方支付公司,类似国内的支付宝,可以提供API接口服务。
Ⅳ 为什么比特币挖矿要在矿池里挖,不能自己挖吗
挖矿其实就是在竞争区块打包权
由于有数以万计的矿工竞争打包权,单个矿工抢得打包权的概率非常小,产出非常不稳定,有可能走狗屎运1小时就抢到一次,也有可能一年都抢不到一次。
为稳定挖矿产出,矿工往往选择加入矿池挖矿,矿池将大量矿工的算力整合在一起,在全网总算力中占据一定的份额,由此得到较稳定的挖矿产出,矿池在收取2%~4%矿池手续费后,将产出按矿工算力分配给矿工。
这就好比一个人买彩票很难中奖,于是矿池把很多人组织在一起买彩票,中奖了再按出资额分配给大家。
Ⅳ 挖比特币真的能赚钱吗
比特币价格突突的涨,曾经离场的老矿工队伍们又开始返场了,不少新人也涌入了挖矿业,不过价涨了,比特币的挖矿难度也在涨,现在挖矿怎么赚钱?
------说说比特币的挖矿成本------
任何事情想要赚钱,第一个要考虑的就是成本,收益大于成本才是值得干一票的事情,比特币多少钱大家都知道,那么我们就来算算成本。
1、矿机成本:比特币的“编号”是一个解题过程,单靠人脑根本算不过来,这就需要挖矿的人来购买矿机不停的算,矿机越多,算力就越强。
2、电费:矿机都是大功率的“吃电大户”,有多耗电呢?这么说吧,目前比特币、以太坊挖矿消耗的电量,已经超过约旦、冰岛、利比亚等小国家,在全球所有国家和地区中,排名第71位。电费贵的你想哭。
3、放置矿机的场地租金:因为矿机非常耗电,普通民居的供电负荷根本无法保证,因此挖矿必须要单独租一处商用场地,租金要比普通民宅贵很多。
4、运营成本:为了保证算力,大功率的矿机需要24小时工作,这就需要有人随时维护,在矿机出问题的时候进行维修,雇人就需要成本;同时,矿机很娇贵,太热太冷都会歇菜,这就需要风冷水冷保温措施来帮助矿机运转,这又是一笔支出。
5、矿机更新成本:由于比特币是越来越难挖,一个月前还很能挖的机器可能今天就挖不出来什么了,市场上也会同时推出更大算力的矿机,原来的矿机立刻就不值钱了,如果想要保持算力,就需要再重新购买矿机。
上述的比特币挖矿成本都是有一个边际效应,也就是体量越大,相应的成本也就会越低,于是,一些超大型的矿场建成了。
矿场挖到的比特币会进入矿池,由所有参与人一起分配。大型的矿场都会建立在人工和电费都很便宜的地方,比如传说中的矿工天堂——委内瑞拉,或者气候适宜,电费便宜的冰岛。
至于成本,每个人都会不同,我们来看看一个平均数:2017年研究机构Elite Fixtures的数据显示,在目前挖矿的115个国家中,委内瑞拉最便宜,为513美元,而韩国是最贵的,为26170美元(所以在韩国挖矿妥妥是脑袋被驴踢了)。
中国的挖矿成本3172美元,算是115个国家中相对比较低的,不过这个成本是个平均值,建立在低电价的大型矿场肯定要低得多,如果你是一个单干的独行侠,这个成本肯定要大幅上涨。
言而总之,如果你确实还想靠挖矿赚钱,首先,除非你财大气粗,自己就能搞一个上千台机器的矿场,否则最好能加入一个矿场一起挖,虽然挖到的币要一起分,但是因为能够大幅降低成本,提高算力,长期来看还是合适的。
其次,不管是自己挖还是加入矿场挖,一定要选电费便宜的地方,首选水电资源丰富的城市,因为水电是目前国内最便宜的发电来源。
Ⅵ 问大家一下,比特币挖矿出入金快不啊
比特币挖矿,你是打算自己买矿机然后加入矿池一起挖么?
如果加入某个矿池有可能有更大机会挖到比特币,这样操作你要给矿池交一定的管理费
加入矿池能不能挖到款 就看这个矿池本身的算力如何了
如果是购买云算力挖矿的话,你不知道算力平台怎么操作的
实际上给到多少算力,多长时间能回本,不确定的因素比较多
如果是新手,要投入挖矿,最好先做一下基本功
比如你考虑出金快不快,还有其他问题,都需要先了解
挖矿这个投资,门槛比较高的
一定先了解清楚,不要一头掉坑里
Ⅶ 在币网矿池挖的btc,最低起付额是多少
我现在就是在bw挖矿,BTC挖矿的起付额为0.005BTC。因为矿池提供收币充币地址,并且没有设置钱包的时限,我自己也懒,有时候索性把币存在那里。
Ⅷ 比特币矿机托管收费
这个收费的标准不同。目前,国内的矿机厂商、交易平台推出的矿机理财计划基本上都是采取矿机托管的方式,你只需要购买他们的云算力即可挖矿,设备安装和部署有他们来完成,方便很多,但需要收取一定的手续费作为管理费或者说是矿机托管费。当然,也有一些专门的矿机托管商家,你负责购买设备,他们负责安装挖矿,对您的矿机进行托管,但是需要交纳管理费。
Ⅸ 火币网矿池的比特币手续费支付给谁
您好,比特币交易者需要向发现区块的矿工缴纳一笔交易费用,用来打包这笔交易,相当于把这笔交易记到账簿上。
Ⅹ 开比特币矿场需要什么手续需要缴税吗
在我国,禁止开比特矿。
中国人民银行 中央网信办 工业和信息化部 工商总局 银监会 证监会 保监会
《关于防范代币发行融资风险的公告》
一、准确认识代币发行融资活动的本质属性
代币发行融资是指融资主体通过代币的违规发售、流通,向投资者筹集比特币、以太币等所谓“虚拟货币”,本质上是一种未经批准非法公开融资的行为,涉嫌非法发售代币票券、非法发行证券以及非法集资、金融诈骗、传销等违法犯罪活动。有关部门将密切监测有关动态,加强与司法部门和地方政府的工作协同,按照现行工作机制,严格执法,坚决治理市场乱象。发现涉嫌犯罪问题,将移送司法机关。
代币发行融资中使用的代币或“虚拟货币”不由货币当局发行,不具有法偿性与强制性等货币属性,不具有与货币等同的法律地位,不能也不应作为货币在市场上流通使用。
二、任何组织和个人不得非法从事代币发行融资活动
本公告发布之日起,各类代币发行融资活动应当立即停止。已完成代币发行融资的组织和个人应当做出清退等安排,合理保护投资者权益,妥善处置风险。有关部门将依法严肃查处拒不停止的代币发行融资活动以及已完成的代币发行融资项目中的违法违规行为。
四、各金融机构和非银行支付机构不得开展与代币发行融资交易相关的业务
各金融机构和非银行支付机构不得直接或间接为代币发行融资和“虚拟货币”提供账户开立、登记、交易、清算、结算等产品或服务,不得承保与代币和“虚拟货币”相关的保险业务或将代币和“虚拟货币”纳入保险责任范围。金融机构和非银行支付机构发现代币发行融资交易违法违规线索的,应当及时向有关部门报告。
五、社会公众应当高度警惕代币发行融资与交易的风险隐患
代币发行融资与交易存在多重风险,包括虚假资产风险、经营失败风险、投资炒作风险等,投资者须自行承担投资风险,希望广大投资者谨防上当受骗。
对各类使用“币”的名称开展的非法金融活动,社会公众应当强化风险防范意识和识别能力,及时举报相关违法违规线索。