Stake Pools


1. Are there any other benefits to a stake pool other than not needing to run a full node and keeping your wallet unlocked? For example, will it have a better chance of winning or anything like that?

Well first keep in mind that wallet (dcrwallet) != core network (dcrd). In order to stake you need to have dcrwallet online and unlocked 24/7.

With that out of the way, you are correct that the only real benefit of the current pool is that it will provide worry-free voting since it provides multi-location redundancy and automatic failure recovery1, neither of which your local setup is very likely to have.

However, it is entirely possible that a stake pool could implement proportional reward splitting so stakers receive smaller and more consistent payouts, however that would come at the expense of having to trust the pool with the rewards since it would have to receive them in order to split them out (just like with proof-of-work pools).


2. Does a proof-of-stake pool split reward between all participants (% based on the amount of tickets you submitted to pool)?

It is technically possible to create a pool that supports proportional reward splitting1, but this pool does not do that at all. This one simply votes on your behalf. It does this by making the ticket voting rights a 1-of-2 multi-signature P2SH script. The pool signs the vote with its private key at the time the ticket is selected. Since it is a 1-of-2 multi-signature script though, it means if the pool failed to vote for you for whatever reason (extremely unlikely as the mainnet pool will have multiple redundancy and automatic failover), it would still be possible to vote on your own behalf because you have the second private key and could therefore provide a valid signature and satisfy the 1-of-2 requirement.

Also, it is important to note that the original ticket purchase contains a commitment to go to a reward address for which only you have the private key. The proof-of-stake voting consensus rules enforce the commitment, so it is impossible for the pool to steal your funds.

In order to split rewards the pool would have to be the recipient of all rewards and then be trusted to properly split the rewards amongst all of the participants according to their proportionality. It is expected that such a scheme will be developed with the understanding it is less secure than the approach the current pool design uses.


3. I have to run my wallet to buy tickets, but will they vote properly without me if I shut it down and the pool votes for me instead?

Yes2, that is correct. You only need to run wallet in order to spend your coins to purchase the ticket which delegates your voting rights to the pool that will then vote on your behalf. The reward address is a consensus-enforced commitment in the ticket purchase for one of your own addresses for which only you have the private key.


4. Are there any issues that could arise from a stake pool having too many people. For example, force voting a block in or out?

It is certainly possible3, but one of the things that all pools should support is allowing each user to select their individual voting preferences. That way, whenever their ticket comes up and the pool votes on their behalf, it will vote according to their preferences.


5. Are vote bits set when you purchase a stake or when you actually are called to vote? Does this change when in a proof-of-stake pool?

They are set when you actually vote4 (which really only makes sense because you might have bought the ticket weeks or months before a specific voting agenda even exists).

A proof-of-stake pool can operate however it wants since there is a lot of room for flexibility due to the way the ticket purchase commitment scheme is designed. That said, in general, people should avoid using stake pools that do not allow them control over how they want to vote on non-pool specific issues.


6. What safeguards are in place to stop pool owners disappearing with the funds in the pool?

The current pool design is such that the pool can NOT steal the funds5. You are only delegating voting rights (and in reality it is a 1-of-2 multisig which means either you OR the pool can vote). The ticket purchase contains a consensus-enforced commitment for the final subsidy address, so there is simply no way for the pool to steal the funds.

The worst that would happen if a pool owner disappears is the votes will be missed which results in the ticket being revoked which in turn causes the original coins to go back to the original coin owner (minus the initial transaction fee of course). However, as mentioned previously, because the ticket is a 1-of-2 multisig, each user could run their own wallet in order to vote should the pool owner disappear.


7. Where can I see an example of a stake pool ticket on the block explorer?

Stake pools involve ‘Dc’ addresses since the stake pool uses pay-to-script-hash addresses6. For example, see txid: c0abc0ec63a8de15550f067e2b6fde28f0432fb91b938574b282daa69f914103.


Sources


  1. Decred Forum, Post 9,262 

  2. Decred Forum, Post 9,274 

  3. Decred Forum, Post 9,311 

  4. Decred Forum, Post 13,607 

  5. Decred Forum, Post 14,593 

  6. Decred Forum, Post 17,515