Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supersig Version 2 Idea (Adding deterministic address to a supersig) #16

Open
decentration opened this issue Sep 4, 2022 · 0 comments
Labels
feature request help wanted Extra attention is needed

Comments

@decentration
Copy link
Contributor

decentration commented Sep 4, 2022

Question: how can we have a deterministic (backup) address for Supersig?

Problem:

  • If someone sends funds to a supersig address on a different blockchain, those funds are inaccessible.
  • Having a deterministic address for a supersig is useful, even if that address dynamically changes.

Solution:

Supersig has two AccountId's (one Supersig by name, and one multisig backup):

  • A supersig AccountId which provably has no private key (like we have now),
    • A name instead of a substrate (hex) address. Why is this important? So that there is no confusion about the address being something you can just send funds to from any chain.
      • The supersig name and location E.g. "ss/KabochaTechTeam", "ss" is the location in the tree for supersigs, and then "KabochaTechTeam" is an example name for a supersig.
  • a second "deterministic" address that changes based on adding or removing members to the supersig.
    • This address is a multisig which is created with a fixed threshold ~51% voting, (being number of addresses / 2 + 1).

Benefits of having a multisig backup:

  • This address shows up in other blockchains as an accessible and deterministic address.
  • This address can therefore be used for balance snapshots (airdrops), and accessible.
  • This address can be used on the same chain as a backup (but without Supersig features),
  • And for very worst case scenario, just in case Supersig stops functioning properly, and to save from asking democracy to save it.

Possible Collisions:
When creating a supersig (or adding members to a current supersig) the multisig address could clash with an address that is already in storage? (assuming that multisig addresses is generated deterministically by hashing the total addresses + fixed threshold number), what to do:
A) Throw an error, or,
B) Increase the threshold by 1 until there is a free unused multisig available?

@decentration decentration added help wanted Extra attention is needed feature request labels Sep 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant