矿机欺诈挖矿及其预防

时间:2021-07-06 07:34       来源: www.lwtjw.com

矿机挖矿原理:连接到矿池,同意矿池任务,产生合法share发给矿池,矿池依据某一区块产生过程中,某矿机产生的share在全池share中的比率来分配利益。譬如某矿池池费率1%,在10分钟内产生一个区块,获得25个BTC,共有10000个share,某矿机提交了1000个share,占10%,因而该矿机可获得的收益=25*10%*=2.475

某些矿机为了多得收益,可能会使用以下欺诈办法来挖矿:

欺诈条件:自己挖到块,矿池使用PPLNS模式

欺诈办法:用多台矿机连接多个矿池,当自己矿机在矿池A挖到块时,先不向矿池A发送结果,把所有其他矿机连接到矿池A,挖5-10分钟,然后再向矿池提交块,把所有算力分散到各个矿池中。

收益出处:集中所有矿机到矿池A挖5-10分钟,使得提交的share变多,分配比率变大。

风险所在:在集中算力到矿池A时,其他人挖到块,先前挖到的块就作废了。

监控办法: 在某个帐号提交新块之前的几分钟,算力明显增大,以此现象来分辨与预防。

现在的stratum协议下,矿机知晓自己产生的share是不是是最后区块的HASH值,围绕着这点还可以产生其他的欺诈挖矿办法。那能否让矿机不知晓自己产生的nonce是不是是新区块的HASH值呢,答案是有些,但要修改矿机算法、stratum协议和矿池软件。

新区块HASH保密办法:

矿池针对每一个块都产生一个密钥,把密钥进行HASH,得到一个附加HASH值,加到区块头后;

矿机对区块头计算HASH,原先需要使得HASH值小于2^256/,D是困难程度,目前仅需小于2^256/2^32,得到合法share提交给矿池;

矿池验证,先验证矿机提交的BHASH小于2^256/2^32,再验证:私密HASH值=BHASH+密钥的HASH小于2^256/D,若是则该nonce和extraonce可用,以正常的方法广播块。

由于矿机不知晓密钥,因而它没法计算私密HASH值,因而不知晓是不是是该区块的HASH值,而矿池知晓,因而达到保密成效。

注意:该新区块HASH保密办法来自【Analysis of 比特币 Pooled Mining Reward Systems】一文,未经验证,慎用。


此文出于传递更多信息之目的,并不意味着同意其看法或证实其描述。本网站所提供的信息,只供参考之用。

« 上一篇:再谈数字虚拟货币挖矿:ETH矿工中心化了吗?
» 下一篇:没有了

相关推荐