未来貨幣透明鍛造メカニズムの原理

1510 ワード

鍛造メカニズムの原理は公式で表現すると:1.hit
static BigInteger getHit(byte[] publicKey, Block block) {

 MessageDigest digest = Crypto.sha256();
 digest.update(block.getGenerationSignature());
 byte[] generationSignatureHash = digest.digest(publicKey);
 BigInteger hit = BigInteger(1, new byte[] {generationSignatureHash[7], generationSignatureHash[6],    generationSignatureHash[5], generationSignatureHash[4], generationSignatureHash[3],  generationSignatureHash[2], generationSignatureHash[1], generationSignatureHash[0]});
 return hit;

}

2.target
static boolean getTarget(BigInteger effectiveBalance, Block previousBlock) {

elapsedTime = getElapsedTime - block.getLastTime()
BigInteger effectiveBaseTarget = BigInteger.valueOf(previousBlock.getBaseTarget()).multiply(effectiveBalance);
BigInteger prevTarget = effectiveBaseTarget.multiply(BigInteger.valueOf(elapsedTime - 1));
BigInteger target = prevTarget.add(effectiveBaseTarget);

}

けっていしき
/**
 *  hit

したがって、次のブロックのパッケージングでは、hitは特定のアカウントで決定され、targetのbalanceは決定され、baseTargetとtimesだけが時間とともに大きくなり、baseTargetの変化と時間は比例する.
target = balance * times * (a*times*baseTarget) = a*balance*baseTarget*times^2 ( :a )

times = sqrt{hit/(a*balance*baseTarget)};

したがって、システムはすべてのアカウントを収集し、必要な時間をそれぞれ計算することができ、時間が最も小さいのは次のパッケージング者です.従って、透明鍛造機構は、次のブロックが誰によって、いつパッケージ化されるかを予測することができる.