主页 > imtoken官网下载1.0版本 > 比特币挖矿算力表,比特币挖矿公式

比特币挖矿算力表,比特币挖矿公式

imtoken官网下载1.0版本 2023-04-02 06:17:39

比特币挖矿算力表,比特币挖矿公式 admin07-07 08:5468 次浏览

简化模拟:

0. 挖矿难度取整数d(d0)

1.随机生成一个整数x

2、对整数x进行摘要计算得到s,即s=hash(x) x

3、如果判断s开头的字符串为d“0”,则表示挖矿结束; 否则,跳到步骤 1。

随机数:继续随机生成整数,直到将生成的整数相加得到的字符串开始于数字0之前。

摘要算法选择sha256

代码:

1 packagecn.ubingo.block_chain; 2个

3 导入java.util.集合; 4 导入java.util.Date; 5 importjava.util.Random; 6个

7 公开课演示 { 8 staticrandomr=new random (; 9

10 publicstatic void main (string [] args) 11

12 int 难度=3; 13 字符串零 = 字符串。 join(', collections.ncopies) dificulty, '0'); 14系统。 出去。 打印(零); 15

16 Date start=newDate(; 17 long time=0; 18while(true) 19 string sha=sha.get sha 256 str Java(r.nextint()''); 20//system.out.println(sha);

21次; 2if(sha.Startswith) Zeros) ) 23 中断; 24) 25dateend=newdate(; 26 longuse=end.gettime(-start.gettime); 27

28 system.out.println (times ' in ' use ' mswithdificulty ' dificulty y ); ) 30

比特币挖矿速度计算_比特币挖矿难度计算_比特币挖矿计算能力

31}

输出结果:

000

4973 在 106 毫秒内,难度为 3

耗时计算:

增量难度从1开始,每个难度挖10次,时间最长的作为参考。

packagecn.ubingo.block_chain; 导入java.util.集合; 导入java.util.Date; importjava.util.随机; public class app { staticrandomr=new random (; publicstaticvoidmain (string [ ] args) {int dificulty=0; while (true).

差异y;

String zeros = String.join(', collections.ncopies) dificulty, '0');

system.out.println(Zeros; long maxTimes=0; long maxTimes=0; for(intI=0; i 10; i ) {

日期开始 = newDate(; long time = 0; while(true).

string sha=sha.get sha 256 str Java(r.nextint()'); //system.out.println(sha);

时间; sha.starts with (zeros ) ) break;

}

日期结束=newDate(; longuse=end.gettime(-start.gettime); if(usemaxuse) {

比特币挖矿计算能力_比特币挖矿速度计算_比特币挖矿难度计算

最大值 = 最大值;

maxTimes = 次;

}

}

system.out.println(maxtimes ' in ' maxuse ' mswithdificulty ' dificult y );

}

}

}

输出结果(代码还在运行):

19 in 32m s 困难 y 1

00

366 在 11 毫秒内困难 y 2

000

11377 在 73 毫秒内,难度为 3

0000

比特币挖矿难度计算_比特币挖矿计算能力_比特币挖矿速度计算

153888 377 毫秒,难度 4

00000

3160837 4568 毫秒比特币挖矿计算能力,难度 5

000000

55559940 在 81454 mswithdificulty 6

0000000

67485941 在 977748 困难 7

00000000

8540898666 在 12283075 mswithdificulty 8

000000000

================================================ ============================================

根据以上结果可以看出,当难度为8时,一个人挖大约需要204分钟(12283075ms)。

由于挖矿算法的随机性,要求在10分钟内完成挖矿比特币挖矿计算能力,需要204/10=20个同等算力的矿工同时进行挖矿。

如果难度是72(比特币当前的难度),就可以知道需要多少矿工。

由于挖矿算法的随机性,谁的算力强,谁的矿工多,谁挖矿的概率高,谁就可以发财。 (于是出现了矿机和地雷)

比特币挖矿速度计算_比特币挖矿计算能力_比特币挖矿难度计算

================================================ ============================================

代码中使用的工具类型如下(

packagecn.ubingo.block_chain; 导入 Java.io.unsupportedencodingexception; 导入 Java.security.message 摘要; 导入 Java.security.nosuchalgorithmexception; 使用Publicclassha{/***Java原生摘要实现SHA256摘要计算

* @paramcontent 原文

*@返回

*/

publicstaticstringgetsha 256 str Java(字符串内容){

消息诊断消息诊断;

字符串 encodeStr = ' '; 尝试{

消息摘要 = 消息摘要。 获取实例(sha-256);

消息摘要.更新(content.getbytes('utf-8'));

encodestr = byte2hex(消息摘要.digest();

} 赶上(nosuchalgorithmexceptione))

e. 打印任务跟踪 (;

} 赶上(不支持的编码异常){

比特币挖矿难度计算_比特币挖矿计算能力_比特币挖矿速度计算

e. 打印任务跟踪 (;

} 返回 encodeStr;

(/* *将字节转为十六进制

* @parambytes

*@返回

*/

privatestaticstringbyte2hex{

字符串缓冲区 string buffer = new string buffer (;

字符串临时=空; 对于(intI=0;我

temp=integer.to hex string (bytes [ I ]0x ff ); if(temp.length(==1) ) {//1位填充操作

stringbuffer.append('0);

}

stringbuffer.append(temp;

} returnstringBuffer.toString(;

}

}

UGUI实现ScrollView无限滚动效果gpu云服务器挖矿,如何防止阿里云服务器被挖btccpu挖矿,挖矿cpu需求