I’m trying to setup a participation node and I’ve followed all the steps from the docs. When I check the logs, I found this warning: “on chain voting key differ from participation voting key for round”. Is this normal? Or did I screwed up?
When you send an online key registration transaction, you tell the network how to authenticate your participation key.
Before your node would use a participation key, it verifies that the network would accept the votes generated with it. The warning message you’ve seen indicate there is a conflict between the two.
My guess is that one of the following happened -
- you installed the participation key, but didn’t send the online key registration transaction.
- you sent the key registration transaction, but your node still have an older participation key with some overlapping validity range.
- you installed the participation key that doesn’t match the online key registration transaction.
Thanks @tsachi ! I did not know that I have to send the transaction. I understand now that I have to sign the transaction first. Is it safe to create the wallet on the same machine the node is running on? Or do I always have to download the transaction file to another computer, create/restore the wallet, sign using the clerk then send the signed transaction file to the node machine?
Also, since I’ve messed up the setup, is my node marked as a bad node by the network now?
If you did not send any transaction, there is no issue at all.
It is recommended for security reasons to not store your wallet on an online machine such as a participation node.
I see that Fabrice already gave the an excellent answer; I’d like to add that you shouldn’t be worried about your node being “marked” as a malicious node. The Algorand network doesn’t “punish” nodes or place these on a blacklist; instead, when such case occurs, the dishonest node would get disconnected, and the invalid message would get dropped. This mechanism would slow down your node, but would not cause any harm to the rest of the network.
The separation of the account keys vs participation keys allow you to separate the participation node from the node that has the account itself. This mechanism give the advantage that even if the participation keys get compromised, the you could always send an “offline transaction”, and rendering the compromised participation keys invalid.