its a nice good way to spread FUD... put it on a whitepaper!... would like some devs to chime in on it.

it is a false logic that is being used.

There are some cases where PoW is required and PoS wont work, therefore you extrapolate that to say PoS will never work and PoW is the only solution.

however any claims that a PoS network cant be made secure has the problem that NXT has simulated mining and so if they prove that NXT doesnt work, then either the NXT simulation of mining is broken or that PoW doesnt work either.

Using common sense, instead of fancy math that nobody understands, the key question is if NXT stake properly simulates mining. There are of course edge cases, but smart guys like BCnext, Cunicula and Come-from-Beyond have dealt with those.

How does mining work? Theoretically, the more hashpower you have, the more likely you are to find the next block. This is because you are doing sha256 calcs with random numbers against the previous block until you find one with a lot of zeroes at the beginning. Similar to finding a NXT account with a lot fewer digits. The reason why more hash power means you can find the next block at a higher probability is that sha256 does a pretty good job scrambling the bits so there is no known way to go backwards, ie start with the answer of having 14 zeroes (bits) and find out what value (nonce) combined with the past block will make that pretty number.

So, you hash, and hash and hash and hash and odds are 2^14 (if you want to find 14 zeroes) to 1 you will find it. Something like that, not sure of the exact probability equation but basically the more hashes you can test, the more likely you are to find the magic value.

How does NXT do it?

It pretends that each NXT you have is hashpower, so the more NXT you have, the more hashes you are doing. OK, that's easy to say but we need a bit more detail to understand how it maps mining. Actually what is important is not the mining (calculating hashes) process, but the distribution of the winning blocks according to mining power.

Now I understand it, this seems a lot simpler than at first when it seemed like magic, so I can understand if you also feel it is magic and therefore not reliable. I will leave out the small details, but the core of how it works is by hashing! Yes, but it does it once. So we get the same randomization effect. But how on earth can 1 hash be mapped to billions of them you ask.

We turn it upside down.

Remember about working backwards from 000000000000001001101010011... to get a bitcoin block, well that doesnt work, but we do have a specific target based on the current block. It is some random hash of hashes of the past hashes hashed against pubkeys, which are in turn curve25519 operations on hashes of passphrases. So, we can assume the reference number is a pretty randomized scramble of bits and this changes with each block, so each block every account can make a specific hash value that will be quite different after each block. You can see this jumping around effect on the various transparent forging sites. The ranking of a specific account changes rather dramatically, but only when there is a new block.

What this means is that we need a way to rank these random numbers against each other and find a winner. I think a large variety of distance functions will work, so we can now make an account with twice the NXT have double the chance of winning, just by multiplying their "hit" (the name for that specific block's hash for a user) by their stake.

Just by using common sense, we can see that if a bigger number is better, you multiply the random hit number by stake. If we want a smaller number, we divide. It is important that the relationship is linear, otherwise either larger accounts or smaller accounts will get an advantage. With NXT the larger accounts get the smallest of advantages and this discourages sybil attacks.

One final tweak is to simulate the passage of time. I hope you can imagine that each block all the accounts are sorted using a very random number specific to each account that is multplied by their stake. So pretty instantly we know who would generate the next block, but we dont want to do it at full speed as then propagation delays and other thinks create all sorts of variations of what nodes think is the correct chain. So we add a factor based on time. As time passes, the threshold needed to forge a block gets easier and easier, so it is just a matter of time before some account(s) qualify.

this seems quite similar to how bitcoin mining works, with some critical differences, but at the heart of it they are quite similar. user specific random numbers multiplied by resources to find a winner using a random mathematical process that cant be cheated.

James