# 以太坊的钱包：EOA、智能合约账户

By [DK](https://paragraph.com/@iamdk) · 2022-05-20

---

虽然我们经常把储存以太坊资产的方法都叫做 “钱包”，它们在实质上差别极大。本文就是想分类一下我们存储和管理以太坊资产的办法。

**以太坊钱包是什么？**

从技术上来说，其实只有两种类型的账户能持有以太坊上的资产：外部所有者账户（EOA）（译者注：即我们平时接触到的，用户通过私钥来直接控制的账户）和智能合约账户。这两种账户都能保存 ETH、ERC20 代币和 NFT，都能跟其它账户交互。 以太坊钱包知多少？速览以太坊上最受欢迎的五类钱包

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

*   这篇文章用生动的图画展示了这两种账户的区别 -
    

虽说上图解释了根本上的技术原理，但它们只是组合成不同资金管理方法的基础。依据对这两类账户的运用，钱包可分成下面几类：

**软件 EOA 钱包**

迄今为止，在以太坊网络上创建的绝大多数账户都属于外部所有者账户。

EOA 都是免费生成的，而且生成之后，用户就能得到一个公钥（就是一串 “0x” 开头的字符）用来接收资金。用户还会得到一个私钥，通常是以 12 个有顺序单词的形式展现出来的（也就是所谓的 “助记词”），用以保证用户能够迁移及恢复账户。用户必须保证自己备份了助记词，而且助记词没有被他人所知，因为助记词意味着对账户的完全掌控，自己备份了就能恢复对账户的掌控，而他人掌握了就等于他人也能完全控制该账户的资金。（译者注：用户发送交易的过程实际上是用私钥为交易数据签名的过程，但为了保护用户免于频繁输入私钥和助记词而暴露它们的风险，通常软件会把私钥保存为一个加密文件，在需要签名时要求用户输入 password “口令” 来使用。这就是用户在日常使用钱包时往往会用到的 “密码”，它本身不是私钥，只是私钥的屏障，必须与特定的加密文件相结合才是私钥。用户备份私钥时应避免混淆）。

大部分管理 EOA 的钱包都支持用户创建及管理任意多个账户。优点：易于生成缺点：必须保守助记词，而且功能有限举例：MetaMask、MyCrypto（译者注：常见的钱包分类会根据使用方法将软件钱包进一步分类为浏览器插件钱包（如 **MetaMask**）、网页钱包（如 MyEtherWallet）还有移动端钱包（比如 **imToken**）等。但作者在这里没有使用这种习惯分法，而是仅根据管理的载体分为 EOA 软件钱包和 EOA 硬件钱包。因此，上述例子在作者这里都可算作软件钱包。另外，网页钱包可能要求用户输入私钥，这是很不安全的，因此网页钱包不应用于日常使用。）

**硬件 EOA 钱包**

硬件钱包只可能用于产生外部所有者账户，而且其私钥永远不会暴露在互联网环境中。用户在硬件钱包上生成账户时，密钥是在安全模块（secure enclave）内生成的。用户想要发起交易时，就在硬件钱包设备上完成签名，然后将交易广播到网络上，这个过程是不会暴露私钥的。虽然硬件钱包是离线保存资金的绝好方案，但它不像 MetaMask 这样的浏览器插件钱包这么便携、这么容易使用。优点：易于生成，安全性更佳缺点：与 EOA 软件钱包一样，而且更难访问。

举例：**Ledger、Trezor**

**单签名智能合约钱包（Singlesig）**

EOA 是迄今为止最受欢迎的钱包形式，但智能合约钱包正显出发展的势头。合约钱包跟 EOA 相似的地方在于，用户也会有一个公钥和一个私钥，但智能合约钱包本身是用代码来控制的，它能提供很多 EOA 无法提供的高级功能，比如使用 ETH 以外的 token 来支付交易手续费（Gas 费）、社交恢复账号功能，等等。单签名只能合约钱包是指它只有一个所有者（EOA），只需该账户的签名即可触发其交易功能。优点：更好的手续费使用体验，更高级的账户恢复功能，双因子认证缺点：有潜在的代码风险，手续费可能比 EOA 更昂贵。

举例：**Argent、Authereum**

**多签名智能合约钱包（Multisig）**

多签名钱包也是智能合约钱包，因此它可提供跟上文所述单签名智能合约钱包一样的功能，只不过，它要求在预留的账户中有多个账户的签名才能授权交易（在 N 个预留账号中有 M 个签名即足以授权交易）。假设你的公司有 3 个股东，那么你可以把智能合约钱包设计成凑齐所有 3 个账户的签名才能发出交易。这就保证了没有哪个人可以私自卷走所有的钱。多签名钱包预留的账户既可以是 EOA，也可以是智能合约账户。所以一个人也可以拿自己的多个 EOA 或者单签名智能合约钱包来控制一个多签名智能合约钱包。把 Multisig 想象成能提供额外安全措施的智能合约钱包就好。优点：跟单签名智能合约钱包一样，附带更多安全性，还有团队管理功能缺点：跟单签名智能合约钱包一样。

举例：**Gnosis Safe Multisig**

**托管型钱包**

定制化钱包也是 EOA 钱包的一个子集，有点像硬件钱包，只不过，定制化钱包要求你信任第三方来管理你的资金和密钥。虽然这有点违背 “没有私钥就不是你的币” 的理念，但对于大型的公司或者持币者来说，也有一些好处。最大的好处之一就是有对丢币的保险。优点：跟所有 EOA 钱包一样，还有保险；缺点：跟所有 EOA 钱包一样，而且不能完全控制你自己的资金。

举例：**Coinbase Custody**

---

*Originally published on [DK](https://paragraph.com/@iamdk/eoa)*
