[Ethereum] How to add new Sealer in Geth 1.6 Proof of Authority

go-ethereumproof-of-authority

I'm trying out Proof-of-Authority in Geth 1.6 for my private network and got it to work on a few nodes using Puppeth.

Now, I have two questions about maintain the private network as the network grows larger over time.

  1. How do I add more sealer accounts in the future? Since, the sealer account are specified on the Genesis block. (Does Clique's Proposal has anything to do with this?)

  2. It seems that there's no block reward generate to the sealer like what happens with the conventional PoW miner. Are there any settings to adjust the block reward?

Any help is appreciated.

Best Answer

The protocol defines a voting mechanism to dynamically add new signers and remove existing ones. In Geth this can be controlled via the clique.propose(address, authorized) method (clique_propose for remote RPC calls).

To authorize a new signer, existing ones can propose it via clique.propose("0x...", true). When more than half the signers proposed it, the authorization comes into effect immediately and the new account can start signing blocks.

Similarly, existing signers can propose deauthorizing existing ones via clique.propose("0x...", false). Again if half + 1 signers deauthorize a signer, it is immediately removed from the list and blocks minted by it are rejected from that point onward.


The protocol defines that the block reward is zero (and similarly there can't be any uncles). The block and uncle rewards are a subsidy for the effort wasted on PoW. Since Clique is based on PoA, there's zero cost to minting a block, so there shouldn't be any "reward" for doing it either.

Running transactions of course may incur a tiny processing time, but the sealer does get the transaction fees in exchange, so that should cover it.

All in all however note, that PoA is meant for more of a collaborative environments where miners don't try to race each other, rather attempt to play together for a common goal of keeping the network ticking.