According to network statistics, the current proof-of-stake difficulty is 0.000269. It should be possible to deduce, from this number, the approximate percentage of NSR that is actively minting. What is the formula to calculate this?

Thanks!

According to network statistics, the current proof-of-stake difficulty is 0.000269. It should be possible to deduce, from this number, the approximate percentage of NSR that is actively minting. What is the formula to calculate this?

Thanks!

Is it similar to Peercoin’s or has NuBits different code?

My best bet on a number of factors is that currently about 200 to 250m Shares are minting. This based on the number of blocks I’m minting with my share and the Shares sold. This is about 40% of the Shares sold according to the last update and 20-25% of all Shares. The PoS difficulty is based on all Shares. I haven’t worked out a formula yet, so a sneak peak in the source code would help.

Based on the block minting stats I’ve seen I estimate between 23-28% of total NSR are minting, so it looks like we’re on the same page.

What portion of the source do you need access to? I’m allowed to share in both general and specific (in limited quantities) details.

Interesting. To what stats are you referring?

Just personal observation of the amount of blocks I’m solving with my NSR holdings relative to the total NSR supply. Same methodology as Cybnate is using.

That part of the code where the formulae is used to calculate the difficulty, not sure if I can be more specific. The objective would be to calculate the numbers of shares actively minting based on the difficulty. Couldn’t find the Peercoin example after a quick search, but I believe someone pulled that a couple of months ago.

I’ll look into seeing if that’s code I can share. I expect it is, but I won’t know until I get a chance to dig in.

@sigmike may have readier access to it (or he may be able to give you the specifics without requiring the code).

The code is the same as Peercoin’s:

https://github.com/ppcoin/ppcoin/blob/master/src/main.cpp#L914-L923 (we just removed the floor below the highlight).

This is the calculation of the next “target” from the previous target and the time between the 2 last blocks. The target is the maximum allowed value of a hash. So to find a PoS block your hash must be below the target: https://github.com/ppcoin/ppcoin/blob/master/src/kernel.cpp#L364-L365 (the target is adjusted by the amount of coins).

To convert the target to the difficulty here’s the code: https://github.com/ppcoin/ppcoin/blob/master/src/bitcoinrpc.cpp#L61-L90