JAvaはブロックチェーンにおけるブロックhash難易度係数の設計を実現する
903 ワード
ブロックチェーンの難易度係数:ブロックチェーンの掘削を設計するのは容易ではない重要な因子であり、難易度係数が低いほど、掘削が容易である.難易度が高いほど、それに応じて難しい.例えばビットコインの難易度係数は18である.
難易度係数は一般にhash値の前置0の個数である.
JAvaブロックチェーンにおける設計の合理的な難易度係数
例えば難易度係数を6,すなわちブロックの有効hashとし,前に6個の0が必要である.
例えば難易度係数6の有効hashは、00000048 bfdc 5 e 67 aa 4486438 f 1350 a 6 cc 7 f 4477 feb 5562 b 0368 a 808 fdef 57
具体的なコード実装も簡単です.
難易度係数は一般にhash値の前置0の個数である.
JAvaブロックチェーンにおける設計の合理的な難易度係数
例えば難易度係数を6,すなわちブロックの有効hashとし,前に6個の0が必要である.
例えば難易度係数6の有効hashは、00000048 bfdc 5 e 67 aa 4486438 f 1350 a 6 cc 7 f 4477 feb 5562 b 0368 a 808 fdef 57
具体的なコード実装も簡単です.
/**
*
* :BlockService.java
* :
* :2018 3 12 7:05:06
*
* @author cn.wenwuyi
* @version 1.0
* @param hash hash
* @return boolean
*/
private boolean isValidHashDifficulty(String hash) {
//
int dificutty = 6;
// 0( , 0)
char zero = '0';
int i;
for (i = 0; i < hash.length(); i++) {
// hash i
char ichar = hash.charAt(i);
// i 0
if (ichar != zero) {
break;
}
}
// i ,
return i >= dificutty;
}