There are some good conceptual explainers on what anonymous proxies are, yet it's not clear to me which use cases they serve best.
What are some problems that using anonymous proxies would solve? What are some concrete case studies?
Substrate and Polkadot Stack Exchange is a question and answer site for developers building blockchains with the Substrate SDK. It only takes a minute to sign up.
Sign up to join this communityThere are some good conceptual explainers on what anonymous proxies are, yet it's not clear to me which use cases they serve best.
What are some problems that using anonymous proxies would solve? What are some concrete case studies?
One good use case is to be able to transfer ownership of a multisig member. Since multisig AccountId
s are derived based on their members, changing one member changes the address of the multisig. If that account is staked or otherwise locked into some long-term commitment, it can be overly burdensome to change a member.
However, if all members are anonymous proxies, one member can simply set a new proxy to the anonymous (proxied account) and renounce their proxy rights.
Concretely, this is useful e.g. in a company that uses multisigs to manage its assets, but has employees join or leave the company. When an employee who is a member of a multisig leaves, they can transfer that member to a new employee.
ProxyType::Any
) atomically moved to another keyed account that can sign on it's behalf. Sound right? If so I can come up with a few more concrete examples :)
proxy.proxy(<call>)
, but of course call
could be to add a proxy (it can have multiple proxies) or remove a proxy, including the caller.
Apr 7, 2022 at 8:54
Any
proxy and then removing itself.
Apr 7, 2022 at 8:55
Another use case would be if you want an account where several different people have different levels of access.
For example, an anonymous proxy of a company might be controlled by a multisig consisting of the C-level executives (with the "Any" type), which in turn can be consisting of anonymous proxies as Joe described, and they allocate one or two employees to handle staking. So, they add these accounts to the anonymous proxy with a type of "Staking". These employees can take any staking action, but they can't do anything else with the account.
You could do something similar with a personal account for increased security. You could have your stash on an anonymous proxy and the account with type "Any" is a hardware wallet locked in a vault. You then add an account for staking and another for governance, or a single one with type "NonTransfer". If any of these are compromised, your funds are still safe.
Staking
proxy to the multisig account directly.
Apr 7, 2022 at 8:57