# 如何建立多签钱包

By [william gan](https://paragraph.com/@william-gan) · 2022-11-19

---

什么是多签钱包?
--------

多签名钱包常被缩写为 “Multisig wallet”，与多签钱包对应的是单签钱包，我们要往区块链上发送一笔转账交易，需要去用钱包去做一个签名，我们自己签好名把交易发送出去，交易执行成功转账就成功，这就是典型的单签钱包，也是我们平时使用最多的钱包。 多签钱包，顾名思义，就是需要多个人去签名执行某个操作的钱包。使用多签钱包进行转账，往往需要 >= 1 个人去签名发送交易之后，转账操作才真正完成。使用多签钱包时，我们可以指定 m/n 的签名模式，就是 n 个人里面有 m 个人签名即可完成操作。可以根据自己的需求设置多签规则，例如：

`1/2多签模式：两个互相信任的朋友或自己的两个钱包，可以凭各自的私钥独立发起交易（类似于合伙账户）。`

`2/2多签模式：金库中的资金需要2个管理员均同意才能动用这笔资金（需要两个私钥才能转移资金）。`

`2/3多签模式：三个合伙人共同管理资金，为了规避私钥丢失的风险，其中两个私钥签名就可以转移资金。`

当然，还有1/3多签、3/6多签、5/8多签不同规则的多签方案，规则是按需的。

多签钱包最大的特点是需由多个私钥持有者的授权才能进行钱包交易。我们讲了这么多签名规则，那多签钱包的应用场景是什么呢？ 多签钱包的应用场景 多签钱包最常见的应用场景是需求强安全性的个人，以及管理公共资产的投资机构、交易所以及项目方。

### 1.资金安全

资金的安全也可以理解为私钥的安全，有一些常见的方案如使用硬件钱包来防止私钥泄露，使用助记词密盒来防止私钥遗忘等等，但依然存在“单点故障”的问题。 在单签钱包中，加密资产的所有权和管理员是在单人手中，一但私钥泄露或遗忘就意味着失去了对钱包的控制权，与之关联的加密资产将完全丢失。而多签钱包的存在，就很大程度上降低了资产损失的风险。以2/3多签模式为例，在全部的3个私钥中，只要有2个私钥完成签名授权就能完成加密资产的转移。 对于个人而言，可以通过一个多签钱包，关联多个钱包地址，分布在多处（类似异地多活、同城多机房），一个放在MetaMask浏览器扩展、一个安装在手机钱包App、一个在冷钱包，需要转移加密资产时只需要用其中的两个钱包共同签名即可。当然为了方便的话，可以使用1/3多签模式，这就类似于把同一个私钥记在三个助记词卡上放在多处一样，但这种方式仅仅是降低了密钥丢失的风险。

### 2.资金共管

很多DeFi 协议/DAO 组织/区块链团队其实都有自己的金库，金库里的资产是不能由任何一个人直接动用的，每次动用都要经过多数人的同意或社区投票。这时使用多签钱包来保存金库资产是再合适不过了。

### 3.多签操作

在目前这个发展阶段，很多去中心化协议其实都是有个管理员权限的，这个管理员权限往往可以更改协议的某些关键参数。行业普遍做法是把这个管理员权限交给一个多签钱包或时间锁，当需要更改参数时，需要多个人共同签署相关操作。

多签钱包的工作原理
---------

上文中提到的n/m多签方式，多个私钥对应一个多签钱包，这个多签钱包是如何实现的呢？ 我们常说的多签主要针对的是比特币和以太坊ERC-20标准代币。在比特币中有2种类型的地址，1开头的是P2PKH表示个人地址，3开头的是P2SH一般表示一个多签地址。普通的比特币地址是由公钥做哈希后得到的，而多重签名地址基于脚本哈希，所以能够实现复杂的交易逻辑。\*\*所以在原生上比特币就支持多签。而以太坊原生并不支持多签地址，通常需要依靠智能合约来实现这一机制。\*\*因此，大多数的比特币钱包都可以支持多签。

在以太坊中，多签钱包往往是一个智能合约，主流的以太坊多签钱包为\*\*[Gnosis safe](https://gnosis-safe.io/)\*\*

Gnosis Safe 是一款为钱包提供多签功能的智能合约。使用不同加密钱包的用户可以在Gnosis Safe 网页端创建一个多签账户，将需要共管的资产存入这一多签账户并进行相应的多签交易，Gnosis Safe本身并不掌握任何私钥。目前，Gnosis Safe支持以太坊网络、币安智能链网络以及Polygon网络等12个网络的多签，支持币种包括ETH、ERC20标准代币以及ERC721标准代币等。

Gnosis Safe的优点是多签参与者不用再额外注册统一的多签钱包，使用现有的加密钱包就可以完成多签步骤；缺点是该智能合约直接部署在区块链上，每一次交互都是链上的一次交易，即创建钱包、多签过程中的每一次签名授权都要支付一笔Gas费用。每次支付的费用都会根据当时的网络情况、参与人数、交易复杂程度发生变化。

创建Gnosis Safe多签钱包
-----------------

第1步，打开

[https://gnosis-safe.io/app/welcome](https://gnosis-safe.io/app/welcome)

第2步，点击

![](https://storage.googleapis.com/papyrus_images/472ff70b0a2b7e10140d5031e9b3d4ee75a59b40413a8c4bda338b7c51919b94.png)

第3步，连接你自己的钱包（注意网络选择）

![](https://storage.googleapis.com/papyrus_images/823130fcd4f98f35dc32d969aad4c079a20f9d598f75baf33a0e5c0c2874f84c.png)

第4步，输入多签钱包名字

![](https://storage.googleapis.com/papyrus_images/36b512946daee0e525bb8522a938a100a72bbfcd771842d92e63fa8f92b93c6a.png)

第5步，输入多签人的名字和钱包地址

![](https://storage.googleapis.com/papyrus_images/b43856b1f01586a3abf5217a6124bdf2b0bd3b32b968718639636e6366cd482c.png)

第6步，进行一些列的签名确认，并按步骤部署到智能合约（需要gas费）

![](https://storage.googleapis.com/papyrus_images/d06d3ab59200bacf1340a7776521561253327ecb67f2ecb6a7462067b0f35705.png)

完成之后，多签钱包就创建好啦。如果是不熟悉操作的情况下，建议用goerli测试网进行测试。

---

*Originally published on [william gan](https://paragraph.com/@william-gan/zaB27yV8HJmjrVikocSs)*
