# ウォレットの構成

> <mark style="color:黄色;">**要約**</mark>  EVMチェーン向けに2つのウォレットを作成します：署名用ウォレット（EOA）とスマートコントラクトウォレット（SCW）。資金はSCWに保管されます。署名用ウォレットはSCWのトランザクションを承認し、企業レベルのMPCセキュリティで保護されます。両方のウォレットは完全にノンカストディアルです。
>
> Solanaユーザーには、単一のノンカストディアルなMPCウォレットを作成します。SolanaはまだSCWをサポートしていないためスマートコントラクトの構成要素はありません。セキュリティの原則は同じです。

### EthereumおよびEVMチェーン（Base、BNB Chain、Arbitrum）

簡単に言うと、「従来の」Ethereumウォレットは単なる秘密鍵／公開鍵ペアです。秘密鍵がトランザクションに署名し、公開鍵がウォレットアドレスになります。

これらの従来型ウォレットはExternally Owned Accounts（EOA）と呼ばれます。EVMブロックチェーン上で直接トランザクションに署名できるのはEOAだけです。

スマートコントラクトウォレット（SCW）は、オンチェーンのスマートコントラクトであり、 *見た目は* ウォレットのようですが、トランザクションに署名することはできません。これを解決するために、SCWはペアになったEOAウォレットに署名を委任します。

goodcryptoXでEVMウォレットを設定すると、次のものを作成します：

* **ウォレット1** (`署名者（signer）`）— 従来のEOAウォレット。あなたのスマートコントラクトウォレットのためにトランザクションに署名します。
* **ウォレット2** (`ウォレット`）— ZeroDevによってデプロイされたスマートコントラクトウォレット（Kernel）。このウォレットがあなたの資金を保有します。

EOAウォレット（ウォレット1）は次によって作成および保護されます： [web3auth](https://web3auth.io/customers.html) — Trust Walletなど多くのサービスを支えるウェブ3ウォレットインフラのリーダーの一つです。 &#x20;

このウォレットには秘密鍵がありますが、その鍵は2つの独立した当事者の間で分割され暗号化されます：

* シャード1：暗号化され、あなたのgoodcryptoXアカウントに紐付けられる
* シャード2：Web3Authが保有する

当社はフルMPC技術を使用しているため、秘密鍵は署名時であっても再構成されることはありません。代わりに両方の暗号化された要素がMPCを介して共同で署名を承認します。これによりコールドウォレットレベルのセキュリティが提供されます。

あなたのスマートコントラクトウォレット（ウォレット2）は、次を使用してデプロイされます： [ZeroDev](https://www.zerodev.app/)— 現在最もガス効率が高く安全なSCW実装であるKernelスマートコントラクトに基づいています。

SCWには秘密鍵はありません。それは完全にあなたの署名者ウォレットによって制御されます。

その結果：

* あなたは秘密鍵を管理したり見る必要がありません
* システムは完全にノンカストディアルです

高度なトレーディングを可能にするために、私たちは次を発行します： **セッションキー**：権限が限定された鍵で、あなたに代わって1inch経由でスワップのみを実行できます。これらの鍵はあなたのウォレットによって一度署名され、暗号化され、サーバー側でトレーディングを自動化するために使用されます。

セッションキーを使用するのはスワップのみです。送金は常に直接のウォレット署名を必要とします。

あなたのSCWは、最初のアウトゴーイングトランザクション（送金またはスワップ）が行われた時点でデプロイされます。デプロイ前は、エクスプローラー上で通常のEOAのようにアドレスが表示されます。最初のトランザクションはデプロイをカバーするために若干多めのガスを必要とします。

**ウォレットパスワード**

初期状態では、あなたの署名者ウォレットは2/2のMPCウォレットです：goodcryptoXとweb3Authがそれぞれシャードを保有します。完全にノンカストディアルにするために、あなたは [ウォレットパスワード](https://docs.goodcrypto.app/goodcryptox-ja/woretto/woretto/worettonopasuwdo)を設定して、署名者ウォレットを2/3のMPCに変換できます：

* シャード1：あなたのgoodcryptoXアカウントに紐付けられ—当社のインフラによって暗号化され保存される
* シャード2：あなたが設定するウォレットパスワード
* 要素3：パスワードから導出されあなたのデバイスに保存されるため、アプリを開くたびにパスワードを入力する必要はありません

これにより、第三者が理論上であってもあなたの秘密鍵にアクセスすることは決してできなくなります。

これはまた、パスワードとデバイスの両方を失った場合、ウォレットにアクセスできなくなることを意味します。リスクを理解している場合のみ使用してください。

**今後の変更点**

私たちは次へ移行しています： **シングルウォレットアーキテクチャ** EVM上で次を使用することで： [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702):

* 署名者EOAウォレットはスマートコントラクトウォレットとしても機能するようになります
* セッションキーと高度な機能は、2つのウォレットを必要とせず利用可能になります
* あなたはアプリから秘密鍵をエクスポートできるようになります

これによりセットアップが簡素化されつつ、同じMPCレベルのセキュリティが維持されます。

また、goodcryptoXが生成したウォレットの代わりに、署名者として自分のEOA（例：MetaMask）を持ち込むことも可能になります。

***

### Solanaウォレット

Solanaでは、スマートコントラクトウォレットはまだサポートされていません。したがって、単一のMPCで保護されたウォレット（EOAに相当）を作成します。

ウォレットは同じMPCセットアップを使用して作成されます：

* 要素1：あなたのgoodcryptoXアカウントに紐付けられる
* 要素2：web3Authが保有する

使用中に秘密鍵が再構成されることはありません。代わりに、MPCベースの署名でトランザクションの承認が行われます。

オプションとしてウォレットパスワードを設定してSolanaウォレットを2/3のMPCに変換できます。EVMチェーンと同じ利点とリスクが適用されます。

EVMとは異なり、Solanaウォレットの秘密鍵はアプリから直接エクスポートできます（次を使用して）： `キーをエクスポート` ウォレットタブのオプション。
