dcrstakepool icon indicating copy to clipboard operation
dcrstakepool copied to clipboard

block approval policy

Open chappjc opened this issue 8 years ago • 3 comments

A stake pool will need some kind of policy definition and enforcement framework. Policy refers to accepting or rejecting blocks based on some kind of criteria (e.g. spending certain funds, miner misbehavior, etc.).

To vote according to policy, stakepoold will need a bunch of additional information and the ability to analyze a block to decide up or down.

chappjc avatar Jul 24 '17 20:07 chappjc

It would be nice to at least have this implemented even as a proof-of-concept since there are a few scenarios in which it might need to be deployed.

Right now stakepoold invokes a generatevote RPC which generates and signs the vote and returns in.

It would be better if stakepoold generated the votes locally then ~~sent them all over gRPC to a 'signvotes' method that would sign and return all the tickets~~ use the gRPC method signtransaction per @jrick below. This should lower the time-to-vote even more.

Then you could implement a generic 'miner creating blocks that aren't the latest PoW version' policy as a PoC.

jolan avatar Oct 30 '17 19:10 jolan

did you mean a "signvotes" method?

https://github.com/decred/dcrwallet/blob/master/rpc/documentation/api.md#signtransaction should work just fine for this. Nothing special about votes that they need to be signed differently.

jrick avatar Oct 30 '17 19:10 jrick

Yes & thanks, I edited my comment appropriately.

jolan avatar Oct 30 '17 19:10 jolan