So here's a little can of worms regarding PoS. Any discussion of "PoS" really needs to take into account a number of things before any talk about percentages can take place:
- The final anon feature of the coin
- Transaction fees
- Final mining reward
- PoS vs Forging
Agreed. I should probably address some of these questions. I'll start at the beginning.
The coins whitepaper says that the final anon feature will be Darksend, which I assume is a "copy" of the Darkcoin tech. By design, that necessitate the use of Master Nodes which then necessitates the implementation of transaction fees. So not only does the cost required to run a Masternode need to be determined, but then the transaction fees as well since, unless I'm oblivious, the coin does not currently have.
The whitepaper states that a heavily modified DarkSend would be implemented. Whether this could be considered a "final" anon feature or not is hard to say. Anonymity modules first need a fully-designed API with which to conform. Keep in mind that we're not talking about bitcoin here. We need to keep the code out of core and easily interchangeable with additional anonymous send modules. DarkSend is simply one possible implementation. The module itself should be allowed to define the parameters that our DarkSend clone would use and as such, transaction fees for anonymous sends could be something that would be easily changed in the future -- Read: when we get there.
As things stand today, the mining reward was significantly reduced which will lead to the coin being mined out "very" quickly. It's my understanding though that there will be a final "minimum" reward and I've assumed that it will be implemented when the PoS version is rolled out.
As I stated in our conversation via PM, I don't understand how you're arriving at the conclusion that the coin would be mined out quickly. Until/Unless the minimum reward in implemented, we will continue halving at regular intervals and MAX_MONEY will still be reached. Eventually. That parameter was not changed when nSubsidy was adjusted. Even without a minimum reward this will
extend mining time. We do not measure total number of coins based on the number of halvings or based on block reward. We measure total number of coins based on the define for MAX_MONEY. That is the only parameter. As we are introducing fewer coins per block, we have extended the mining period.
That said, the plan is to move to a minimum reward value at some arbitrary point in the future, however, once MAX_MONEY has been reached, that reward
will be zero (tx fees only). That follows bitcoin / litecoin's design almost exactly.
This also has nothing to do with PoS. The minting/staking algorithm I have been working on does not take MAX_MONEY into account.
So the coin would have to have transaction fees implemented at some point as well. Now, I don't know much about actual mining, but don't miners also typically get transaction fees when a coin has that? So would the people running Masternodes compete for those transaction fees? Or would there be a different set of fees related to the anon transactions that the Masternodes would be paid?
Nearly all bitcoin clones have some form of tx fees implemented. As we were forked from litecoin, we have tx fees already implemented. Send a transaction with a low enough priority and you'll quickly see that.
You bring up a good point here though, Masternodes (as defined by DarkSend) are paid via "voting process" at every new block issued. One node is paid per block, if I understand the spec correctly. 20% of each Darkcoin block goes to the masternodes instead of the miner. This has nothing to do with transaction fees unless, of course, a given block contains transactions sent with fees.
My original thoughts about PoS were that "forging" would be a better idea. The forgers would get transaction fees while miners continue to add to the supply over time which would take care of lost coins etc and thus PoS isn't really required in order to solve that particular issue. But with forging, we'd now have another group competing for transaction fees right?
This is similar to my initial suggestion. Our final implementation is not yet set in stone, and it's hard to call anything "final" as we are building these implementations as modules that can be interchangeable.
I don't understand how having another group competing for fees is a bad thing. The transaction fees should belong to whomever created the block, no matter the process for the block's generation.
Am I completely off base with some of this? The whitepaper really doesn't discuss any of these sorts of things in depth.
I don't feel that you're off base at all. You've raised perfectly valid questions, so I'm taking my time to try to address them individually.
As far as "pure PoS" goes, my feeling is 2%-5% is adequate. But in this case, the coin isn't pure POS due to ongoing mining and the running of Nodes.
I don't think we've ever said anything about going "pure" PoS. However, stake values can (often are) still based on what we still refer to as interest rates. Personally, I'd be happy with 0% and the only reward coming from transaction fees included in the blocks that are minted. That way inflation would be a non-issue, and I don't like the idea of destroying tx fees to combat it.
0% isn't likely to sit well with anyone else, though. That's why decisions are made by the community.
Also, masternodes don't generate blocks. They mix coins.
On a personal note, I'm really not fond of anon tech that relies on trusting other people with running nodes. If you don't have enough people running the nodes you open up attack vectors and getting enough people that are willing to invest enough to run them can be difficult. Not to mention that a couple people with deep pockets could "own" the majority of nodes and then do what they wish. I prefer blockchain type anon (CN coins for example) for those reasons. Now some people say that blockchain anon isn't as secure as "eventually" someone will hack it. IMO if someone was able to eventually hack blockchain anon, we'd have much bigger problems for cryptocurrencies in general.
Actually, in darkcoin the 1000 DRK requirement for running a masternode is used entirely for the purposes of discouraging additional masternodes. They tend to generate a lot of traffic (and also give some incentive for people to hold coins.)
I'm not 100% happy with masternodes as our "only" anon feature, and as such I have additional modules planned for 2.0. With that said, much of 2.0's design is based around separating the individual components of running a node (not masternode, the same as any LTCD wallet.) When the whitepaper for 2.0 is released, this will make more sense. What I can say to attempt to shed some light on the subject is this: The LTCD 2.0 "wallet" is a separate application from the one that hosts the LTCD 2.0 blockchain. In fact, the "ledger daemon" has complete capability to host "multiple" blockchains, each with their own chain parameters. It could theoretically host and distribute bitcoin's blockchain allowing you to use LTCD 2.0 as an alternative wallet to bitcoin proper. That said, it would require a module to be written to add the hosted chain (the ledger) to the daemon.
The ledger daemon is also not responsible for distributing work / transaction lists. It simply listens for submitted blocks, verifies their contents, and broadcasts the block to the p2p network. It hosts blockchains. Nothing more, nothing less.
There are other applications being built for LTCD 2.0. Most of these operate outside the blockchain and on separate p2p networks. However, almost all of them connect to the p2p directory to locate services. For instance, if you wanted a local copy of the blockchain, run your own ledgerd. If you wanted a thin wallet only, don't run the ledgerd. If a local ledger isn't found, the wallet prompts you to connect to the p2p network to get a list of ledger services from the network.
Keep in mind, the information I've just given you is not yet finalized, is subject to change, and has not been finished. It is strictly hearsay until the 2.0 whitepaper is released.
I'd much prefer the coin to implement something like the zerocoin/zerocash tech which no one has done as of yet. One coin was supposed to have implemented zerocoin within the next week or so but they just came out and said it won't happen for awhile. I don't know of anyone that's trying implement zerocash yet (there is a fundamental issue with it but I believe there can be a solution for it). It should be noted that zerocoin was talked about many times as potentially being added to bitcoin but from reading a bunch of threads it seems like they're sort of waiting for an alt coin to do it in order to prove it out. Zerocoin is fundamentally just a "mixer" whereas Zerocash is actually for anon transactions.
Again, no reason why we can't implement multiple anonymity modules. This is one I have been watching closely as well.
So from my perspective, there's a whole lot of intertwined things that really need to be nailed down first and then the actual values for things like fees, PoS percentages etc worked out so that they are all well balanced. Not an easy task but it needs to get done ASAP and spelled out clearly in the coins whitepaper. Without knowing all these things ahead of time, we could end up with a coin that has very high inflation on top of the high supply which would be a bad thing.
We have a lot of work ahead of us. I don't see any harm in the community discussing PoS percentages early before we put it to an actual vote.
I'd also like to know what the PoS design would be. Whether it would just be the "old" peercoin coin age type thing, one of the newer PoS V2 (some other coin is building on V2 and calling it V3 but can't remember which), PoSV or something "new".
I'd say "something new" would be the most accurate description. Details as soon as I'm comfortable releasing them.