3

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?

Matthew Schmidt
  • 7,290
  • 1
  • 24
  • 35
NoMorePen
  • 53
  • 6

1 Answers1

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.

Matthew Schmidt
  • 7,290
  • 1
  • 24
  • 35
  • Also geth has their own PoA system https://ethereum.stackexchange.com/questions/15644/setting-up-a-private-poa-clique-network-with-puppeth. Unfortunatelly both are incompatible between them. – Ismael Sep 09 '17 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 '17 at 12:09