Bill, I on personal experience will help people understand what is best.
When POS coins come, confirmed by the network have more than 600 confirmations at one point become orphans, and this has been going on for a long time.
My opinion is that the code is specially registered so that coins are received by someone one and not by investors. This coin will not give you the opportunity to earn interest on POS because its code is broken and earns only those under whom the code is written.
I'm not talking about investing in a few million, I have more than 11 milliards and even I get only orphans.
So the reason this happened is you were staking on a fork. To understand what a fork is think of a tree. It starts as one trunk, then branches go off from the trunk. This is what a fork is. If you mine coins and your coins are on a fork, they will eventually disappear as orphans because the the wallet works its way back to the trunk.
The problem is that there is a "patch" that eliminates this problem as the person says. However the reality this "patch" makes this problem worse for honest wallets.
The way blockchains are supposed to work, is they start with a genesis block and every new block is added is connected to the previous one. The block height starts at 1 then 2, and so on. Every new block that is generated by Proof of Work is either accepted by the network, or it is rejected. So when two computers find a block, they submit it to the network. The network evaluates the two blocks and decides which one is correct and which one should be rejected. When a block is rejected it is orphaned. This is how even bitcoin works. However with paccoin you have the added Proof of Stake block. Miners make Proof of Work blocks (PoW), and holders of the coin make proof of Stake (PoS) blocks. Now if a miner sumbits a Proof of Work Block at a block height of 254328 for example and a Stake holder produces a Proof of Stake block at the same height of 254328, the network will decide which block is correct. With Proof of Work on Bitcoin, it is the fastest hash an the longest chain the prevails, with Proof of Stake it is determined by Coin Age. This is important. If you own a coin that has not staked and is 30 days old, and another person owns a coin that is 60 days old, if they both try to stake it will be the one with the 60 days that wins. When a proof of stake block comes through the difficulty to mine drops. Because the network's security model is not based on Proof of Work like bitcoin, you never have to worry about buying more and more powerful asic miners.
Now the patch I referred to before that breakcrypto strongly endorses because it doesn't cause his mined blocks to get orphaned prevents the system above from working. What it does is it accepts both blocks, at the same height. that means there are two or more blocks with the same blockheight in his block chain. that means a new block can start growing on either one, therefore causing forks. Although there is no rewind issue for him, he may feel good that his blocks are not orphaning, the problem is it causes the rest of us to have wallets dropping out of sync. So when your wallet is in sync and suddenly it drops out of sync by 420 blocks now you know why.
This did not happen until he started using his modified version.
https://github.com/wmcorless/paccoin/pull/12/commits/6fb4a746889481dbde96410224ecd978c748f75bFirst, the patch very clearly only accepts blocks of a height greater than the last recorded height, there can't be two blocks of the same height. I know you dislike accepting reality, but:
if (pindexNew->bnChainTrust > bnBestChainTrust && pindexNew->nHeight > nBestHeight)
For anyone who doesn't know C++ syntax, that says: does this block have a higher trust score AND does this new block have a height that is higher than the previous blocks I've seen? If not, it skips accepting that block on the chain. If the height is height, the block is accepted -- regardless of whether it's a PoS or PoW block. That said, if two blocks came in with the same height, the PoS block would win, and the PoW block would be discarded due to the way trust is settled in paccoin. Again, there wouldn't be two blocks added to the chain -- one would be accepted by the consensus of the nodes and the other would fail. The code speaks for itself, it's perfectly clear -- if you can't read it, it just proves my point all the more. And it doesn't cause anyone to fall out of sync if the patch were deployed but it isn't so your chain is still broken.
Second, why does the patch actually work? The patch works because it short circuits the broken rewind code in paccoin. Paccoin was an ancient fork of peercoin but hasn't been updated in many years. Peercoin does chain rewinds in an atomic fashion and a stable manner (there have been numerous patches to the rewind logic over the years to address problems); however, paccoin is missing the fast majority of those patches. Transactions are supposed to be picked from the longer fork prior to the rewind and moved to the shorter fork, but it's done in a non-atomic fashion and multi-block forks that hit a PoW block appear to have an issue because they're forward looping instead of starting backwards.
I'll be completely honest, as I have been and as I've stated on the github patch trying to help out Bill, I haven't had time to completely dig through that and still haven't / have no interest at this point.
Third, if you read the peercoin whitepaper it explains exactly the type of issues that can arise when someone has too much stake -- that's exactly what's happening to the paccoin network. See
https://peercoin.net/assets/paper/peercoin-paper.pdf .
First the cost of controlling significant stake might be higher than the cost
of acquiring significant mining power, thus raising the cost of attack for such powerful
entities.
Unlike peercoin, in paccoin there are some massive wallets staking ancient blocks.
One of the disadvantages of using total consumed coin age to determine main chain is
that it lowers the cost of attack on the entire block chain of history.
This.
breakcrypto