美文网首页区块链技术社区
未来币透明锻造机制原理

未来币透明锻造机制原理

作者: 通若 | 来源:发表于2018-06-08 09:43 被阅读0次

锻造机制原理用公式表达就是:
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<target,则说明该账户此时可以竞争参与打包,打包的几率根据hit<target的最小times确定。
 * 比如现在有A、B、C三个账户,hit<target的最小时间times分别是1s、2s、3s,那么A会首先满足hit<target条件。
 */
if (hit < target){
    BlockchainProcessorImpl.getInstance().generateBlock(secretPhrase, timestamp);//制造区块
}

所以对于下一个区块的打包,一个特定的账户来说,hit是确定的,target的balance是确定的,只有baseTarget和times随着时间不断变大,其中baseTarget的变化和时间是成正比的

target = balance * times * (a*times*baseTarget) = a*balance*baseTarget*times^2 (备注:a是系数)

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

所以系统可以收集所有账户,然后分别计算它们所需时间,时间最小的即为下一个打包者。
故透明锻造机制可以预测下一个区块由谁、什么时间打包完成。

相关文章

  • Windows中半透明技术的原理及应用

    WINDOWS中半透明技术的原理及应用 摘要:探究Windows下的半透明技术的实现原理,技术细则,实现方法,其用...

  • 比特币的消息签名和校验机制剖析

    前言: 写文章只是为了通过记录梳理的过程,回答自己的一些疑问并秀一下差劲的文字功底。 消息签名和校验的本质 签名是...

  • 透明国

    最近在第三次读刘慈欣的《三体》,三体世界的社会构成让我非常感兴趣,那是一个思维透明的星球,人与人之间没有秘密可言,...

  • 透明人

    前天一个人在珠江边徒步,什么都没想,让脑袋放空,看着沿途风景,路边的行人来来往往,一个人貌似灵魂一个漂泊,迎面而来...

  • 透明计算

    透明计算是一种用户无需感知计算机操作系统、中间件、应用程序和通信网络的具体所在;只需根据自己的需求,通过网络从所使...

  • 透明社会假想

    David Brin写过一本书—— (《透明社会》),从书的副标题中便可窥得主题——“will technolog...

  • 复利原理

    问题: 1它是什么? 复利就是:重复累加再计算利息。这是表面意思。 举个例子:你到银行存了2000元,每年利息是5...

  • iOS delegate机制

    自从开始学习iOS以来,一直对Delegate的机制一知半解,今天看到一篇好文章(http://leopard16...

  • Delegate 原理浅析

    B 的一个方法运行到某处,需要把自己的一个值告诉 A,并且做一定处理 怎么来实现呢? 首先 B 要知道自己去告诉谁...

  • jQuery的异步机制

    异步方式的概述 通过事件达到异步操作 通过我们最熟悉的回调 类promise的方式 首先我们注意到1.5版本前后的...

网友评论

    本文标题:未来币透明锻造机制原理

    本文链接:https://www.meiwen.com.cn/subject/eudosftx.html