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?