Using Geth and a private blockchain, is there any possibility to specify an additional condition for a block to be valid? In particular, I want to accept only blocks that are mined from miners that are listed in a smart contract. Other blocks should just be ignored. The purpose is to secure a private testnet where the vaild miners change over time (by vote). I think it would also be a good idea, if no miner could mine two consecutive blocks. Is this possible?

1 Answer 1


What you're looking for is probably a Proof of Authority chain. Essentially, rather than a block being valid or not based on a hash, it's valid or not based on who mined it.

I'm not sure how geth's PoA system works, but Parity has a PoA mode which allows the creator of the chain to use a contract to specify current authorities.

As far as I am aware, it is not possible to determine which miner may or may not mine the next block in either geth or parity.

  • Also geth has their own PoA system ethereum.stackexchange.com/questions/15644/…. Unfortunatelly both are incompatible between them.
    – Ismael
    Sep 9, 2017 at 14:31
  • I have looked into PoA (Geth) and it seems to fit my needs. However, it would be nice, if one could specify additional constraints for blocks to be vaild.
    – NoMorePen
    Sep 10, 2017 at 12:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.