stacks-core icon indicating copy to clipboard operation
stacks-core copied to clipboard

[Nakamoto] Logic for transactions verification in both the signer and miner should be revamped

Open jferrant opened this issue 1 year ago • 0 comments

Currently the signer and miner do some minimal checks to prevent a single malicious signer spamming the block. This should be improved. In theory, a signer can only vote once per round and it should be only during DKG. Do not include any signer transactions when NOT in the prepare phase OR if the DKG for the reward cycle of that signer set has already been approved. Otherwise, only include valid cast aggregate key votes that are wellformed.

Additionally, would be better if this logic was a util function if possible (might not be as the miner uses its own db's/stackerdb to get the info it needs while the signer uses the RPC endpoint plus stackerdb. Some of the verify payload logic though could be globally accessible)

Open Question: Should the miner and signers enforce only one transaction allowed in a single block for a signer address?

jferrant avatar Feb 16 '24 18:02 jferrant