Design deserves more respect

Designers complain about many things — not getting paid enough, nobody listening to us, or people mistaking us for artists, to name a few. Interestingly, many of these gripes stem from a lack of…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Introduction to Multisig Contracts

What is a multisig and which multisig should I use? Here’s your answer.

In a world where proper key management is a requirement, not an option, one solution for storing Ether and Ethereum-based tokens is by having multiple people hold ownership of one address or set of funds.

A common way of going about this is with a multi-signature contract. This storage method is often used by companies, organizations, and partners. The reason such smart contracts are called ‘multisigs’ is because multiple signatures from different addresses are needed for a transaction to be executed. Often times, these addresses are owned by different people, and can be stored on a hardware wallet, private-key-based wallet (keystore file, mnemonic phrase), cold storage, MetaMask, etc.

Multisig contracts have a number of use cases.

This article describes how multisig contracts work, and gives an overview of various popular multisig contracts.

Multisig wallets were first introduced for Bitcoin in 2013, and this standard has since been embraced by a large number of companies and organizations. As an example, a commonly used multisig contract in Ethereum, the Gnosis MultiSig wallet, is estimated to be holding a total value of over $1 billion worth of Ether and tokens across all its contract instances.

If multiple people in an organization have a say whether certain transactions will be permitted to go through, there is less chance that a malicious individual in the group would be able to send out funds. Using a multisig contract also greatly reduces the chance of losing access to funds in the event that a key is lost. In a scenario where there are multiple keys attached to a multisig contract and only a majority share of key owners need to approve a transaction, it doesn’t matter whether one individual loses their key, as there will be other individuals that can approve the transaction instead.

Generally, a multisig requires either a set number of signatures/approvals before a transaction is sent, or a majority share of owners need to approve the transaction that is to be sent.

Let’s say we have a team containing five people. Everyone on this team has their own hardware wallet containing their own address. The team decides to set up a multisig contract, so funds can be stored on this address and there won’t be a single point of failure, as opposed to simply using one wallet instead. All the addresses of everyone in the team will be added as owners of the multisig address.

The team decides to configure this multisig contract to require a majority share of approvals, which means that at least three people need to approve a transaction before it is sent from the multisig.

One individual of the team wants to send a transaction from the multisig contract. They tell the multisig contract to send 1 ETH to 0x64ce8[…], but since this contract requires a majority share of approvals, the 1 ETH is not sent right away. They ask three others in their team to approve the transaction and afterwards, the 1 ETH is immediately sent to the address that the first individual chose.

The (old) Mist interface

Gnosis’ multisig wallet is vastly considered to be the go-to Ethereum multisig wallet by many, and is used by a large number of organizations in the Ethereum space. It’s based on the Consensys multisig wallet, but has had many improvements and continued active development.

It provides an easy-to-use interface and supports various hardware wallets like Ledger and Trezor, and also allows for optional email notifications. As this is one of the only multisig solutions that comes with an intuitive interface and is maintained regularly, it’s rather popular within the community.

Gnosis Safe is separate from the Gnosis Multisig. It has the same concept and core features but is positioned differently — you manage your own funds via multiple devices instead of having other parties manage for you. There’s also a Gnosis Safe Multisig available.

Argent takes a unique approach with their “Guardians” feature. Argent allows you to select other Argent users (ideally friends and/or family members) and notes them as your guardians who can freeze your funds in case of emergency, unlock frozen funds, help you recover your wallet, and authorize transfers.

The BitGo multisig wallet functions as a 2-of-3 multisig, meaning that it always requires three owners, and two approvals for a transaction to be sent. It has numerous features that make it unique, like a ‘Safe Mode’ that can be set on the multisig contract that prevents ETH and ERC20 tokens from being sent anywhere other than the multisig owners. It also includes a test suite through the use of Truffle.

Some of the logic in the multisig source code, including the withdraw function that would be used to take funds out, was placed in a library. This library already existed on the Ethereum blockchain, and would be used by any instance of the Parity multisig contract. This has some benefits, like saving gas costs for every deployment of the multisig contract. However, as in the case of the Parity multisig, it can also have some major downsides. If the library contract is broken in any way, it would also affect any contract that depends on it.

Such was the case with the Parity multisig library, and when the library was killed by a bug a user discovered, it rendered all existing instances of the Parity multisig contract useless, and funds frozen. For this reason, using this multisig is no longer recommended.

This article only listed a few of the more commonly used multisig solutions for Ethereum, and there are undoubtedly more out there. When choosing your multisig solution, be sure to do your due diligence, as human error is still possible while these contracts were written, as was the case with Parity.

Add a comment

Related posts:

Screenshot Testing Storybook for React Native with Applitools

For the past few years I’ve been working on an app created with React Native. To make our development life easier, we use Storybook to create and maintain components. To make sure that we catch any…

Worst experience of my life at a Marriott Hotel.

This is a review for my stay at the Marriott in Westmount, Montreal which ended in me having 7 stitches in my foot and 8 stitches and a damaged tendon in my hand, requiring surgery due to a faulty…

Buy Trustpilot Reviews

All you have to do is buy a trustpilot review for your business and we’re here to offer the best possible deal. Buying trustpilot reviews will be the best decision for any business owner as consumers…