Supersig — like multisig, but with superpowers 💥

Ramsey Ajram (Decentration)
3 min readAug 4, 2022

--

Introducing to the substrate ecosystem, Supersig, a tool that enables web3 organising.

Supersig — like multisig, but with superpowers 💥

Status: Milestone 1, 2, 3 complete

Multisig is a rather powerful and pervasively used tool across the Substrate ecosystem. Almost every chain has the pallet. It allows a group of people to take decisions together over a shared balances and/or virtually any other type of call within the blockchain. Though, there are a few limitations, so we looked at something great and aimed to make it better.

Supersig, also allows a group of people to make decisions about an account, but they can also add and remove members with the same fixed address, as well as the ability to have simpleMajority instead of a fixed threshold (such as ⅔ or n/t). Though we named this product very similar to multsig it actually required a completely different implementation.

Multisig vs Supersig Key differences

Variable members

  • multisig once created has fixed members;
  • supersig you can add and remove members.

Enums for voting

  • multisig has fixed threshold such as 2/3 or 3/5, etc.
  • But supersig has an enumerated threshold such as simpleMajority.

Fixed Address

  • Multisig addresses are usually made as a composite of the individual addresses that make it plus its threshold paramter, this is done in a deterministic way, that means the address can be created offline. This is the due to the magic of cryptographic hashing.
  • For Supersig to have varying members, but the same address, we have create a native pallet. You can’t create a supersig offline, this is one of the trade-offs to using a Supersig. (In future versions we have plans to create a deterministic multisig backup).

Extra Features:

Master (Superuser) vs Standard user

New members have to be voted in by the current set of members with a simple majority. A supersig member can have a “Master” status, which has much more power than Standard status. Standard user counts for 1 vote, but when a Master votes, their vote counts for 50% of the entire vote. Therefore, they only need one more vote from someone else in order to get a simpleMajority regardless of how many members in the supersig.

You can have more than one Master member. In a some use cases, even everyone can be a Master, which means any two members can successfully pass something regardless of how many members there are of the supersig.

The use case for Master

The clear use case for master is if funds are really intended for 1 person, but there are other users there to sign the transaction for security, then 1 Masteruser with various signers, allows for convenience without giving up on security risk of trusted members becoming adversarial.

Supersig will first be launched on the Kabocha parachain.

Safeguards

Because we are not using BoundedVec.

DepositPerByte: When you create a supersig account, a deposit is transferred from your account to the supersig account, and it is reserved. When you add a member more funds will be reserved to the supersig,

When you are submitting a call you are going to have some funds that are reserved in your account. And if the call is accepted then the reserve is taken.

Credits

Supersig was developed by Decentration, made up of creative engineers and product managers.

Nathan Erudyx: Substrate Engineer

Timothee Debrouille: Rusty Crewmates, Code review, Engineering Support, RPC

Robin: RPC (Rest in peace)

Ramsey Ajram: Product manager, engineer.

Funders

Primary: Web 3 Foundation Grant

Secondary: Edgeware Grant (as part of the Edgeware X Web3 Joint Funding Programme)

--

--

Ramsey Ajram (Decentration)
Ramsey Ajram (Decentration)

Written by Ramsey Ajram (Decentration)

Decentralising the web. Stewarding new paradigms. Engineering and product.

No responses yet