1.预期收益
纵观现在大量的以太坊矿池,绝大多数的挖矿模式都是PPS/PPS+. 这种每日相对稳定的收益模式也被大多数的矿工们所接受.相对应的,为了宣传自己,矿池们都会在首页上展示他们的每日预期收益. 不要被这些数据迷惑了哦.那些看起来预期收益最高的矿池,实际到手的收益却可能大打折扣. 因为这种所谓的预期收益很可能只是空头支票,不能兑现的. 实际上,很多矿池因为相互之间的竞争关系,在收益上展示的预期收益数据都会稍稍做一点假,以此来吸引更多的用户. 所以,一定不要只是看到所谓的预期收益就信以为真,真正到手的才是最可靠的.
2.矿池抽成
前面说到当下绝大多数的以太坊矿池都是用的PPS/PPS+模式,这种模式的背后往往隐藏着矿池额外的抽成. 因为每天挖到以太坊数量的未知性,而矿池们每天需要给矿工们支付相对固定的收益,这样就存在入不敷出的风险性,为了保障矿池自己的利益,矿池就会对矿工们额外抽成来弥补自己的损失. 所以,不要被矿池1%,甚至是0%的收益抽成所迷惑,理所当然的觉得矿池抽成低,自己的收益就会高. 依然是那句话,真正到手的收益才是最可靠的.
3.算力
我们的收益与算力息息相关.这个算力不是指你在挖矿软件上看到那个算力,那个算力只能算作是你的本地算力.虽然最后的收益与之有一定的关系,但本地算力更多的是作为一个参考值. 与我们的收益挂钩的是在矿池中显示的算力,这个算力决定了我们的收益. 矿池中显示的算力本质上是被矿池方所承认的算力,就好像每天的工作量一样,矿池方认为你今天为他干了多少活,就会给你与之相对应的’工资’.因为矿池中显示的算力是掌握在矿池的手中,有些时候就会出现克扣工作量的事情,虽然可能很少量,不容易被矿工们发现,所以一定要注意哦.这种情况,就好像你觉得干了200份的活,矿池老板却认为你只干了150份,只支付了150份报酬.这个时候本地算力的作用就体现出来了,本地算力能让你对今天的工作量有个大概估值,当矿池克扣你算力的时候,你也能有所警觉.
4.抽成返水
我们都知道Claymore会有1%的软件抽成,自然相对应的会有很多破解抽成的软件,这其中有一些自称是返还0.5%抽成,甚至1%全抽成返还的软件.当使用这些所谓的抽成返还的软件时就要擦亮眼睛注意了,警惕这些软件是否做到了抽成返还.
929754407 --自发组织的一个显卡挖矿交流群,欢迎大家加群讨论更多的相关问题哦.
此外,给大家推荐一个比较好用的挖矿软件,算是我目前用过的比较良心的一款的,不多说附上链接: http://www.neopool.cc/ .
2. 以太坊stratum协议原理
参照比特币的 stratum协议 和 NiceHash的stratum协议规范 编写了一版以太坊版本的stratum协议说明.
stratum协议是目前最常用的矿机和矿池之间的TCP通讯协议。
以太坊是一个去中心化的网络架构,通过安装Mist客户端的节点来转发新交易和新区块。而矿机、矿池也同时形成了另一个网络,我们称之为矿工网络。
矿工网络分成矿机、矿池、钱包等几个主要部分,有时矿池软件与钱包安装在一起,可合称为矿池。
矿机与矿池软件之间的通讯协议是 stratum ,而矿池软件与钱包之间的通讯是 bitcoinrpc 接口。
stratum是 JSON 为数据格式.
矿机启动,首先以 mining.subscribe 方法向矿池连接,用来订阅工作。
矿池以 mining.notify 返回订阅号、ExtraNonce1和ExtraNonce2_size。
Client:
Server:
其中:
是 订阅号 ;
080c是 extranonce ,Extranonce可能最大3字节;
矿机以 mining.authorize 方法,用某个帐号和密码登录到矿池,密码可空,矿池返回 true 登录成功。该方法必须是在初始化连接之后马上进行,否则矿机得不到矿池任务。
Client:
Server:
难度调整由矿池下发给矿机,以 mining.set_difficulty 方法调整难度, params 中是难度值。
Server:
矿机会在下一个任务时采用新难度,矿池有时会马上下发一个新任务并且把清理任务设为true,以便矿机马上以新难度工作。
该命令由矿池定期发给矿机,当矿机以 mining.subscribe 方法登记后,矿池应该马上以 mining.notify 返回该任务。
Server:
任务ID : bf0488aa ;
seedhash : 。每一个任务都发送一个seedhash来支持尽可能多的矿池,这可能会很快地在货币之间交换。
headerhash : 。
boolean cleanjobs : true 。如果设为true,那么矿工需要清理任务队列,并立即开始从事新提供的任务,因为所有旧的任务分享都将导致陈旧的分享错误。如果是 false 则等当前任务结束才开始新任务。
矿工使用seedhash识别DAG,然后带着headerhash,extranonce和自己的minernonce寻找低于目标的share(这是由提供的难度而产生的)。
矿机找到合法share时,就以” mining.submit “方法向矿池提交任务。矿池返回true即提交成功,如果失败则error中有具体原因。
Client:
任务ID : bf0488aa
minernonce : 6a909d9bbc0f 。注意minernonce是6个字节,因为提供的extranonce是2个字节。如果矿池提供3字节的extranonce,那么minernonce必须是5字节
Server:
一般的矿机与矿池通讯过程就如下所示: