Basic Use Cases: Multisig

Another meaningful use case for smart contracts is multisignature wallets.

Remember back to the the multisig script from week 3.

Now, we can include that same functionality in a human-readable manner in Ethereum.

Here, we’re able to leverage the built-in authentication protocols to build a multiparty authentication wallet.

This functionality allows us to have an m of n signature scheme, in which m addresses out of a total n owners of the wallet are required to sign off on every transaction.

This ensures that no one person has control over funds.

Even though the logic is reasonably easy to describe, the Solidity implementation is pretty complex.

A company that created multisig wallets, Parity, was hacked twice last year due to undiscovered vulnerabilities.

The shown code on the right is the constructor for the contract, establishing the threshold and owners.

The value of threshold corresponds to m, and the number of owners represents n.

Basic Use Cases: Proof of Existence