# 钱包架构

> <mark style="color:黄色;">**摘要**</mark>  我们为 EVM 链创建两个钱包：一个签名者钱包（EOA）和一个智能合约钱包（SCW）。您的资金保存在 SCW 中。签名者钱包为 SCW 授权交易，并由企业级 MPC 安全保护。两个钱包均为完全非托管。
>
> 对于 Solana 用户，我们创建一个单一的非托管 MPC 钱包。它没有智能合约组件（因为 Solana 目前尚不支持 SCW）。安全原则相同。

### 以太坊和 EVM 链（Base、BNB Chain、Arbitrum）

简单来说，“传统”以太坊钱包只是一个私钥/公钥对。私钥用于签名交易；公钥就是您的钱包地址。

这些传统钱包称为外部拥有账户（EOA）。只有 EOA 能在 EVM 区块链上直接签名交易。

智能合约钱包（SCW）是在链上的智能合约， *看起来* 像钱包，但不能签名交易。为了解决这一点，SCW 将签名委托给配对的 EOA 钱包。

当您在 goodcryptoX 中设置 EVM 钱包时，我们会创建：

* **钱包 1** (`签名者`）— 一个传统的 EOA 钱包。它为您的智能合约钱包签名交易。
* **钱包 2** (`钱包`）— 由 ZeroDev 部署的智能合约钱包（Kernel）。此钱包持有您的资金。

EOA 钱包（钱包 1）由 [web3auth](https://web3auth.io/customers.html) 创建并保护——web3 钱包基础设施的领导者之一，为 Trust Wallet 等提供支持。 &#x20;

该钱包有一个私钥，但该私钥被拆分并加密分布在两个独立方：

* 分片 1：加密并绑定到您的 goodcryptoX 账户
* 分片 2：由 Web3Auth 持有

由于我们使用全 MPC 技术，私钥从不被重构，即使在签名过程中也不会。相反，双方加密因子通过 MPC 共同授权签名。这提供了冷钱包级别的安全性。

您的智能合约钱包（钱包 2）是使用 [ZeroDev](https://www.zerodev.app/)部署的，基于 Kernel 智能合约——目前最节省 gas、最安全的 SCW 实现。

SCW 没有私钥。它完全由您的签名者钱包控制。

因此：

* 您无需管理或查看私钥
* 系统完全非托管

为启用高级交易，我们发行 **会话密钥**：有限权限的密钥，仅能代表您通过 1inch 执行兑换。这些密钥由您的钱包签名一次，加密后在服务器端用于自动化交易。

只有兑换使用会话密钥。转账始终需要直接的钱包签名。

您的 SCW 会在首次发起的外发交易（转账或兑换）时部署。部署前，该地址在区块浏览器上看起来像普通的 EOA。首次交易会稍微多花一些 gas 来覆盖部署费用。

**钱包密码**

最初，您的签名者钱包是一个 2/2 的 MPC 钱包：goodcryptoX 和 web3Auth 各持有一个分片。要实现完全非托管，您可以设置一个 [钱包密码](/goodcryptox-zh/qian-bao/nei-zhi-qian-bao/qian-bao-mi-ma.md)，将您的签名者钱包转换为 2/3 MPC：

* 分片 1：绑定到您的 goodcryptoX 账户 — 由我们的基础设施加密并存储
* 分片 2：您设置的钱包密码
* 因子 3：从密码派生并存储在您的设备上，以便您每次打开应用时无需输入密码

这确保任何第三方都无法访问您的私钥——即使在理论上也不能。

这也意味着如果您同时丢失密码和设备，钱包将无法访问。仅在您理解风险时使用。

**即将到来的变更**

我们正在过渡到 **单一钱包架构** 在 EVM 上使用 [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702):

* 签名者 EOA 钱包也将同时作为智能合约钱包运行
* 会话密钥和高级功能将可用，而无需两个钱包
* 您将能够从应用中导出您的私钥

这将简化设置，同时保留相同的 MPC 级别安全性。

您还可以自带 EOA（例如 MetaMask）作为签名者，而不是使用 goodcryptoX 生成的钱包。

***

### Solana 钱包

在 Solana 上，智能合约钱包尚不受支持。因此，我们创建一个单一的 MPC 保护钱包（相当于 EOA）。

该钱包使用相同的 MPC 设置创建：

* 因子 1：绑定到您的 goodcryptoX 账户
* 因子 2：由 web3Auth 持有

在使用过程中私钥从不被重构。相反，使用基于 MPC 的签名来授权交易。

您可以选择设置钱包密码，将您的 Solana 钱包转换为 2/3 MPC。与 EVM 链相同的好处和风险适用。

与 EVM 不同，您的 Solana 钱包私钥可以通过应用直接导出，使用 `导出密钥` 选项在“钱包”选项卡中。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.goodcrypto.app/goodcryptox-zh/qian-bao/nei-zhi-qian-bao/qian-bao-jia-gou.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
