导航:首页 > 比特币区 > java比特币矿池

java比特币矿池

发布时间:2024-02-27 10:09:36

1. 什么是矿池

矿池指的是:
由于比特币全网的运算水准在不断的呈指数级别上涨,单个设备或少量的算力都无法在比特币网络上获取到比特币网络提供的区块奖励。
在全网算力提升到了一定程度后,过低的获取奖励的概率,促使一些“bitcointalk”上的极客开发出一种可以将少量算力合并联合运作的方法,使用这种方式建立的网站便被称作“矿池”。
(1)java比特币矿池扩展阅读:
矿池的存在降低了比特币等虚拟数字货币开采的难度,降低了开采门槛,真正实现了人人皆可参与的比特币挖矿理念。
但其弊端也非常明显,因为算力接入矿池,作为矿池来说,将掌握极其庞大的算力资源,在比特币世界中,算力代表着记账权,算力即是一切,如果单家矿池算力达到50%以上,将可以轻易对比特币等类似的虚拟数字货币发动51%攻击,其后果是非常可怕的:
矿池可使掌握剩余49%算力的矿池颗粒无收,瞬间退出竞争并倒闭破产,矿池算力超过50%以上,如果发动51%攻击,将能轻易占据全网全部有效算力。
参考资料来源:网络—矿池

2. 矿池排行

矿池排名:1.SparkPool(星火矿池)、2.Ethermine、3.F2Pool、4.FlexPool、5.Hiveon、6.Nanopoo
拓展资料:
①随着整个比特币网络的计算水平持续指数级提升,单个设备或少量计算能力都无法获得比特币网络在比特币网络上提供的区块奖励。全网算力提升到一定程度后,获奖概率较低,促使《比特币谈话》上的一些极客想办法将少量算力结合在一起,这样搭建的网站被称为《矿池》。 在这一机制中,无论个别矿工能够使用多少算力,只要通过加入矿池参与挖掘活动,无论是否成功挖掘出有效数据块,都可以通过贡献矿池获得少量比特币奖励,即多人合作挖掘,比特币奖励也由多人根据贡献分享。
②在中本聪论文中描述的比特币世界中,整个网络平均每10分钟产生一个区块,每个区块包含50个比特币(现在是12.5,比特币每四年左右减半),而一个区块只能被一些幸运的人挖走。直接拥有50个比特币(现在是12.5,比特币每四年左右减半),而其他人则一无所有。挖掘概率与矿工投入的设备计算能力成正比。这注定了,如果比特币挖掘参与者数量庞大且分散到一定程度,那么发现比特币的概率将无限接近于零,类似于中奖。也许一台矿机投入开采,开采一个区块需要5到10年的时间,这让比特币开采陷入尴尬境地,让普通人几乎无法参与。
③矿池的存在降低了比特币等虚拟数字货币的挖矿难度,降低了挖矿门槛,真正实现了人人可参与的比特币挖矿理念。但它的缺点也非常明显,因为连接到矿池的计算能力,作为一个矿池,将拥有极其巨大的计算资源。在比特币世界,算力代表记账权,算力就是一切。
④如果单个矿池的计算能力达到50%以上,就很容易对比特币等类似虚拟数字货币发起51%的攻击,后果非常可怕: 垄断矿业权,可以使矿池颗粒剩余49%的计算能力无人收获,瞬间退出竞争和破产,矿池计算能力超过50%,如果发动51%的攻击,将轻易占据全网所有有效计算能力。 垄断记账权,通过51%的攻击可以进行双重支付,一笔钱可以多次使用,会直接破坏比特币等信用体系,让其信用化为乌有。 垄断分配权,由于单个(或可能是多个)矿池通过51%的攻击占用全网计算能力,会迅速挤占剩余矿池,导致其关闭。由于没有竞争,矿池可以自行分配收入,并向矿工收取过高的手续费等过高的税款和杂税。

3. 比特币矿池:什么是比特币矿池

矿池是比特币(数字货币)等P2P密码学虚拟货币开采所必须的基础设施,一般是对外开放的团队开采服务器,其存在意义为提升比特币开采稳定性,使矿工薪酬趋于稳定。目前全球算力较大的矿池有鱼池(F2Pool)、蚁池(AntPool)、币网(BW Pool)、国池(btcC Pool)、BitFury。除了BitFury,其余都来自中国。

随着参与挖矿的人数越来越多,比特币全网的算力不断上涨,单个设备或少量的算力都很难再挖到比特币。这时候,矿池诞生了。

比特币矿池运作原理

矿池突破地理位置的限制,将分散在全球的矿工及矿场的算力进行联结,一起挖矿。

矿池负责信息打包,接入进来的矿场负责竞争记账权。

由于集合了很多矿工的算力,所以矿池的算力占比大,挖到比特币的概率更高。

举例

假设100万人参与比特币挖矿,全网400P算力,其中90%的矿工为1P(1000T)以下的算力,如果投入一台1T矿机,将占全网算力的40万分之1,理论上平均每40万个10分钟能挖到一个区块,也就是7.6年才能挖到一个区块然后一次性拿到50个比特币。

那么,假如我再找9个拥有1T算力矿机的矿工,达成协定,我们总共10个人,其中任何一个人挖到区块,都按照每人的算力占比来进行平分,那么我们就是一个整体,总共10T算力,那么平均0.76年即可挖到一个区块,然后算下来到我们手上的就是0.76年开采到5个比特币,如果组织100人、1000人、1万人甚至10万人呢?

如果是10万人,那么平均100分钟就能挖到1个区块,作为团队的一份子,我的收入将会趋于稳定。

这就是矿池的基本原理,即大家组队进行比特币开采,可以参考彩票中的合买。

当然,以上只是对矿池的基本原理和性质进行简单的描述,实际情况会非常复杂。

矿池是一个全自动的开采平台,即矿机接入矿池——提供算力——获得收益。

矿池挖矿所产生的比特币奖励会按照每个矿工贡献算力的占比进行分配。

相较单独挖矿,加入矿池可以获得更加稳定的收益。

希望这个回答对你有帮助

4. 什么是比特币矿池,哪些矿池比较厉害的

挖矿,也许是比特币生态系统最重要的组成部分之一。矿工需要解决复杂的数学计算问题,从而保障交易的顺利执行。这些问题如此复杂,即使对于功能极其强大的计算机而言,这些问题也很难解决。计算机需要工作和运气来解决这些数学问题,就像矿工在地下挖矿一样。正确解决这一问题的几率,约为13万亿分之一。

比特币挖矿有两个目的。 首先,通过解决数学问题,比特币矿工可以验证交易信息,从而保障比特币支付网络的安全性和可靠性。矿工是确保交易准确且不会出现“双重支付”的人。

其次,当计算机解决了比特币网络上的这些复杂的数学问题时,系统会产生新的比特币,这与从地面开采黄金的过程类似。该奖励称为“区块奖励”,在称为“减半”的事件后,其数额会周期性的减少一半。新挖出的比特币的概念,是比特币协议的重要组成部分。矿工获取的比特币是全新的,在此之前从未流通。

由于矿工最终将出售该比特币,因此这也是供给和流动性的重要来源。正如Chainalysis报道的那样,许多数字货币交易所都依靠矿工来接收比特币,并增加交易所的流动性。通常,交易所从其他交易所获得约88%的比特币,而比特币矿工则是剩余百分比的最大来源。可以想象,因为要直接从矿工那里接收比特币,交易所之间存在激烈的竞争。

进一步放大地图,大多数挖矿活动仅在4个省中进行,前两个省份是新疆和四川,占中国所有比特币挖矿量的近一半。这些地区的电价便宜,且天气寒冷。这有助于在比特币挖矿的24/7运维期间,保持挖矿的利润和设备的凉爽。

但是对于数字货币发行来说,这并不是什么新鲜事。多年来,由于其廉价的电力和丰富的资源,中国一直是比特币矿工的主要市场。比特币网络的算力中占有很大比重的公司,如Bitmain,f2pool和Canaan都位于中国。

这属于消极的还是积极的信息,取决于你的观点。但是对于去中心化的,分布式的,无许可的网络而言,地理区域跨越多个实体对于整个生态系统而言更为健康。

5. 目前挖矿,要注册矿池,一般都哪些矿池

目前挖矿要注册矿池,一般矿池的分配方式主要有:“PPLNS、PPS、PROP”三种。

1、PPLNS模式:(最纯正的组队挖矿)全称Pay Per Last N Shares,意思是说“根据过去的N个股份来支付收益”,这意味着,所有的矿工一旦发现了一个区块,大家将根据每个人自己贡献的股份数量占比来分配区块中的货币。

在PPLNS模式下,运气成份非常重要,如果矿池一天能够发现很多个区块,那么大家的分红时间会非常快,如果矿池一天下来都没有能够发现区块,那么大家当天也就没有任何收益,收益要等到你参加的区块被完全挖掘出来才能得到分配。

同时,由于PPLNS下,具有一定的滞后惯性,你的挖矿收益会有一定的延迟,比如说,你加入到一个新的PPLNS矿池,这个时候你会发现前面几个小时的收益比较低,那是因为别人在这个矿池里已经贡献了很多个share了,你是新来的,你的贡献还很少,所以分红时你的收益都是比较低的。

随着时间的推移,该结算的也结算了,大家又开始进行了新一轮的运算时,你就回到和别人一样的水平了。同样道理,若你离开了PPLNS矿池不再挖矿,你贡献的share还在,在此后的一段时间里,你依然会得到分红收益,直到你的share被结算完毕。

2、PPS模式:Pay-Per-Share方式---该方式为立即为每一个share支付报酬。该支出来源于矿池现有的比特币资金,因此可以立即取现,而不用等待区块生成完毕或者确认。这样可以避免矿池运营者幕后操纵。

这种方法减少了矿工的风险,但将风险转移给了矿池的运营者。运营者可以收取手续费来弥补这些风险可能造成的损失。为了解决PPLNS那种有时候收益很高,有时候没有收益的情况,PPS采用了新的算法。PPS根据你的算力在矿池中的占比,并估算了矿池每天可以获得的矿产,给你每天基本固定的收益。

3、PROP模式:比特币区块的产生是:由矿池发现区块后向全网络广播,经过120次确认后,才会产生区块。PPS模式是:矿工每贡献一点速度,矿池就向矿工支付相应的比特币,矿池的币还是要来自真正的区块产生,只不过在真正的区块产生之前,矿池就提前支付给了矿工。

PROP模式是:矿池经过120次确认产生真正区块后,会把比特币按每个矿工的贡献分配给矿工,这种模式更符合比特币区块的产生。在PROP模式,即使暂时没有产生真正的区块,以后产生出来了真正的区块,还是会根据挖这个区块的贡献,分配给每个矿工。矿工挖矿至少都是挖几个月,甚至几年,所以从长远来看,这两种模式挖出币的数量是一样。



利弊分析:

矿池的存在降低了比特币等虚拟数字货币开采的难度,降低了开采门槛,真正实现了人人皆可参与的比特币挖矿理念。但其弊端也非常明显,因为算力接入矿池,作为矿池来说,将掌握极其庞大的算力资源,在比特币世界中,算力代表着记账权,算力即是一切,如果单家矿池算力达到50%以上,将可以轻易对比特币等类似的虚拟数字货币发动51%攻击,其后果是非常可怕的。

1、垄断开采权,可使掌握剩余49%算力的矿池颗粒无收,瞬间退出竞争并倒闭破产,矿池算力超过50%以上,如果发动51%攻击,将能轻易占据全网全部有效算力。

2、垄断记账权,可通过51%攻击进行双重支付等行为,可将1笔钱多次使用,这将直接摧毁比特币等的信用体系,使之信用灰飞烟灭。

3、垄断分配权,由于单家(也可能是多家矿池联盟)矿池通过51%攻击占据全网算力,可快速排挤剩下矿池使其倒闭,由于没有竞争,矿池便可自行进行收益分配,对矿工收取高额手续费等苛捐杂税。

6. 国内有那几家矿池比较好想挖Diskcoin

目前市场上的poc币种,大多数都是流水线上生产出来的。
本身的投机价值远大于挖矿价值。
不建议参与。

7. 比特币矿池全球排名

一、蚂蚁矿池
蚂蚁矿池是一家高效的数字货币矿池,致力于为矿工提供更友巴天,下完善的功能、更
67%方便的使用和豆丘,蚂蚁矿池提供比特币、莱特巾、"以太功寺多种数字货币的挖矿服务,并支持PPS、PPLNS、SOLO等多种付款方式。
二、鱼池
鱼池是全球最大的综合性数字货币矿池,2013年4月创立于北京是全球领先、中国最早的比特币矿池;鱼池已发展为全球最大的比特币、莱特币、以太币、零币的综合性数字货币矿池;矿池技术持续保持领先,收益公开透明,采用独创架构有效防范DDoS攻击。
三、BTC矿池
BTC.com是全球领先的比特币数据服务商与矿池、钱包解决方案提供商。自2015年起,BTC.com团队从区块浏览器等行业基础设施入手,致力于在各个细分领域建立新标准,钱包、矿池、行情、资讯等领域均能见到BTC.com品牌的身影。
四、ViaBTC
ViaBTC(Viabtc Technology Limited)成立于2016年5月,是一家专注于数字货币领域的创新型技术服务公司。凭借强大的技术实力,我们研发了全球领先的比特币矿池,并推出了多个竞争币矿池以及云挖矿合约产品。ViaBTC的含义为“通过比特币”,我们的愿景是“通过比特币,让世界更美好”。
五、龙池
龙池。号称最懂矿工的矿池,提供比特币、以太坊的挖矿服务。
六、火币矿池
火币矿池,打造区块链领域POW、POS机制的全新模式,为用户提供主链投票、资讯、积分理财服务。
七、币信矿池
在币信矿池,我们做到数据实时更新,合理的市场费率,以及方便快捷的支付,挖矿从未变得如此简单。
八、BW矿池
BW矿池是一家高效的数字货币矿池,致力于为矿工提供更友好的界面、更完善的功能、更方便的使用和更丰厚透明的收益,矿池提供比特币、莱特币、以太坊等多种数字货币的挖矿服务,并支持PPS、PPLNS等多种付款方式。
九、币印矿池
去中心化,让世界变得更美好,币印矿池团队的技术输出,服务于全球超过500,000台挖矿设备,10万名以上独立矿工。
十、星众矿池
公开透明,收益高效,稳定创新型综合数字货币矿池,星众矿池-比特币矿池,莱特币、以太坊矿池,全球最大的综合性数字货币矿池,收益高,顶尖的技术支持与服务

8. 比特币矿池的协议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协议的配合下,矿池终于可以大声的对矿工说,让算力来的更猛烈些吧。

阅读全文

与java比特币矿池相关的资料

热点内容
世联虚拟货币 浏览:131
莱特币挖矿收益计算器比特范6 浏览:353
比特币概念股票龙头股票 浏览:420
手机挖矿需要充钱吗 浏览:854
旺旺区块链基地 浏览:36
蓝鲸矿机官网 浏览:865
在uas数字货币交易平台被骗 浏览:48
数字货币市场价 浏览:627
挖矿怎么开启 浏览:332
区块链骗局何其多 浏览:970
风险预警区块链 浏览:92
钻石dc数字货币 浏览:959
蚂蚁矿池误删除了子账户 浏览:327
莱特币算力最大的矿池 浏览:871
中国区块链政策2019年 浏览:740
ipfs合营矿机 浏览:749
哈希顿挖矿 浏览:561
以太坊怎么骗局 浏览:361
狗狗币要并入以太坊吗 浏览:366
以太坊怎么当矿工 浏览:526