Algorand has only two types of keys:
- spending keys
- participation keys
A spending key is a secret key that is associated to an account/address.
It is used to sign transactions originating from that account, e.g., to send tokens to another address, call an application, …
A participation node should never store a spending key. Indeed, if a node gets corrupted, you don’t want your spending key being lost. When a spending key is leaked or lost, you lose all your tokens!
Instead, a participation node generates a participation secret key and public key. You can then register the participation public key and associate it to your account by sending a special “key registration” or “change online” transaction. This transaction needs to be signed by the spending key.
Nodes know all the current participation (public) keys because of this registration process.
I have never heard of “membership key”