Proof-of-Stake
Proof-of-stake 是指示使用货币(拥有的事实)为达到一定的目标的一个术语。 在NovaCoin Proof-of-Stake 使用, 为确保采取, 并交易处理如同Proof-of-Work。 Novacoin使用混合立场Coin-Age/CoinDayWeight, 为了提供部分的证明。
Proof-of-stake 复杂性被调适以便限制新区组可以被产生网络的速率, 在区组之间长达10分钟的定点区间。 因为成功的产生证据的很低概率, 无法准确确定在网络上哪台电脑可以产生一个解决方案。
这是应该工作怎么?
这是通过扫描所有可用的输入, 需要找到一个成功的, 其满足以下条件:SHA256(SHA256(KERNEL)) < CoinDayWeight * NetworkTarget
采取人必须找到一个哈希SHA256, 哈希是低于渐近值。 从网络的复杂性, 渐近值获得, 使用参数CoinDayWeight。 证据表示核心的哈希和头条的 签名。 每个 核心coinstake表示由6个字段的结构, 一些这些字段可以自由改变。
字段 | 型 | 尺寸 | 规则 |
---|---|---|---|
nStakeModifier | unsigned long int | 8 | 手动更改是不允许的。 |
nTimeBlockFrom | unsigned int | 4 | 区组的时间标记, 它提供了以前的交易。 |
nTxPrevOffset | unsigned int | 4 | 在区组抵消先前的交易。 |
nTxPrevTime | unsigned int | 4 | 先前的交易的时间标记。 |
nPrevoutNum | unsigned int | 4 | 先前的交易的的源自数。 |
nTimeTx | unsigned int | 4 | 当前时间标记。 |
允许值Proof-of-Stake的哈希结果应该是低于为区组的目标。 采取人试图找到一个可行的解决方案, 检查所有可用的未使用的输入与适宜的CoinDayWeight。
需要多长时间产生Proof-of-Stake?
没有人能准确地说, 如同Proof-of-Work。但它有可能估计多久可能需要。 计算是非常相似的, 计算的概率Proof-of-Work, 但替选项«每秒加快分选哈希»
, 我们用 «钱币* 天每秒» 。
因此, 如果1.0复杂性, 我们需要 ~ 4294967297 «钱币* 天每秒»
, 找到区组。
在一天内, 成功生成区组的概率可以通过计算CoinDayWeight, 使用下面的公式:
P = CoinDayWeight * 86400 / (4294967297 * difficulty)让我们估计概率为当前复杂性 (0.23482093):
年龄 金额 \ | <= 30 | 45 | 60 | 90 | 120 | ∞ |
---|---|---|---|---|---|---|
1 | 0 | 0.0013 | 0.0026 | 0.0051 | 0.0077 | 0.0077 |
10 | 0 | 0.0128 | 0.0257 | 0.0514 | 0.0771 | 0.0771 |
100 | 0 | 0.1285 | 0.257 | 0.514 | 0.771 | 0.771 |
区组平均生成时间可以计算如下:
T = 4294967297 * difficulty / (CoinDayWeight * 86400)
年龄 金额 \ | <= 30 | 45 | 60 | 90 | 120 | ∞ |
---|---|---|---|---|---|---|
1 | ∞ | 778.2 | 389.1 | 194.55 | 129.7 | 129.7 |
10 | ∞ | 77.82 | 38.91 | 19.46 | 12.97 | 12.97 |
100 | ∞ | 7.78 | 3.89 | 1.95 | 1.3 | 1.3 |
我怎样才能开始产生Proof-of-Stake区组?
如果你有一个非零平衡, 然后novacoind会自动尝试生成哈希值给你。
如果你发现PoS-区组, 那么使用目前的Proof-of-Stake复杂计算奖励, 用量钱币-天。
奖励的量值增设花费这个区组的钱币 (输入), 显示总计, 在字段 stake
getinfo。
因为从花费由520个区组份额暂时收敛, 我们有一个配置选项 reservebalance
, 突然, 如果你需要保持平衡可用于花费, 我们避免使用余额作为部分。
你可以可以加一行 reservebalance=10000
novacoin.conf, 重新开始novacoind.
怎么样奖励?
区组的奖励基于参数Coin-Age 和Proof-of-Stake复杂性. 奖励可以计算, 使用下面的公式:nProofReward = min(10, CoinAge * (0.03125 / difficulty) ^ (1 / 3) * 33 / (365 * 33 + 8))奖励仅限于10个钱币, 一个钱币开始于钱币年, 每8倍的增加的复杂性减半了。