レッスン2

EOA(Externally Owned Account)の仕組み

ブロックチェーンの分野では、EOA(Externally Owned Account)はユーザーが最も直接操作するアカウントタイプです。これはユーザー自身の秘密鍵で管理され、トランザクションの実行、スマートコントラクトとのインタラクション、資産管理の中心的なツールとなります。EOAの仕組みを理解することで、オンチェーンの運用原理やセキュリティリスク、Web3アプリケーションエコシステムの根幹となるロジックを把握できます。

EOAによるトランザクション開始と署名の仕組み

EOAの本質的な役割は、トランザクションの開始にあります。ユーザーはMetaMaskやTrust Walletなどのウォレットソフトウェアを利用して、トランザクションリクエストを作成します。リクエストには、送信元アドレス、受信先アドレス、取引数量、呼び出すスマートコントラクトのメソッド、追加パラメータなどが含まれます。

トランザクション開始時、EOAは秘密鍵を用いてトランザクションに署名します。この署名は、取引の改ざん防止と検証性を担保する重要な仕組みです。ブロックチェーン上のノードは公開鍵で署名を検証し、アカウント所有者による正規の操作であることを確認します。

EOAによるトランザクション開始の流れは以下の通りです:

  1. ユーザーがトランザクションデータを作成
  2. 秘密鍵でデジタル署名を実施
  3. 署名済みトランザクションをブロックチェーンネットワークへ送信

この仕組みにより、ブロックチェーンのトラストレスな特性が実現されます。ネットワークは秘密鍵を知る必要はなく、署名の検証のみで取引の正当性を確認できます。

ガス代とトランザクション実行プロセス

EOAが開始する全てのトランザクションはガスを消費します。ガスはブロックチェーンネットワークにおける計算資源の使用量を測定する単位です。ガス代はマイナーやバリデーターへのインセンティブとなるだけでなく、ネットワークへのスパム攻撃の抑止にも寄与します。

トランザクション実行の流れは以下のとおりです:

  • トランザクション送信:EOAが署名済みトランザクションをネットワークノードへ送信
  • トランザクション検証:ノードが署名を確認し、口座残高がガス代をカバーできるかをチェック
  • トランザクションのパッケージ化:有効なトランザクションはマイナーやバリデーターによってブロックに含まれる
  • 実行と状態更新:取引内容(送金やコントラクト呼び出し)が実行され、オンチェーンでアカウントの状態が更新される

ガス設定は確認速度やコストに直結します。ユーザーはガス価格を調整して取引の優先度を高めることができ、特にネットワーク混雑時に重要です。

現行Web3エコシステムにおけるEOAの中核的役割

EOAはWeb3の基盤として機能しており、ほぼ全てのユーザー操作がEOAに依存しています。

主な役割は以下の通りです:

  • 資産管理者:秘密鍵を保持することで、そのアカウントの全資産をコントロールできる
  • オンチェーンID:アドレス自体がオンチェーンでのユーザーIDとなる
  • インターフェース:全てのDeFiプロトコル、NFT取引、DAO投票などはEOA経由で完結する

さらに、EOAはマルチ署名やアカウント抽象化などの拡張にも対応し、柔軟かつ複雑なアプリケーション要件にも応えます。

秘密鍵管理とセキュリティリスク

EOAのセキュリティは秘密鍵管理に完全に依存します。秘密鍵が漏洩すれば、アカウント内の資産は即座にリスクに晒されます。一般的なセキュリティ対策は以下の通りです:

  • LedgerやTrezorなどのハードウェアウォレットで秘密鍵を保管
  • ネットワークや信頼できないデバイスで秘密鍵を入力しない
  • マルチ署名アカウントを設定しリスクを分散

オンチェーン操作時には、フィッシングサイトや悪意あるコントラクト呼び出し、ソーシャルエンジニアリング攻撃にも警戒が必要です。適切な秘密鍵管理と運用習慣が資産セキュリティの第一防衛線となります。

レッスン3:スマートコントラクトアカウントとオンチェーンプログラマブルアカウント

ブロックチェーンエコシステムにおいて、スマートコントラクトアカウント(コントラクトアカウント)はオンチェーンのプログラマブルロジックの中核です。秘密鍵で制御されるEOAと異なり、コントラクトアカウントはデプロイ時に設定されたコードに基づいて動作し、自動化された資産管理やルール執行、インタラクティブな操作を実現します。

コントラクトアカウントの作成と実行

コントラクトアカウントはEOAとは異なり、トランザクションを通じて生成されます。コントラクトのデプロイ時、トランザクションにはコントラクトコードと初期化パラメータが含まれ、オンチェーンノードにより記録されてユニークなアドレスが生成されます。

コントラクトアカウントのロジック実行は、EOAまたは他のコントラクトアカウントからのトランザクションによってトリガーされます。ノードはスマートコントラクトコードに従い命令を逐次実行し、オンチェーン状態の変更や他コントラクトの呼び出しを行います。

この仕組みの主な特徴は以下の通りです:

  • 自動化:事前に設定されたロジックを手動操作なしで実行

  • コンポーザビリティ:コントラクト同士が相互に呼び出し合うことで、複雑なオンチェーンアプリケーションが可能

  • 不変性:デプロイ後のコードは変更不可であり、ルールの一貫性を保証

実際のコントラクトアカウントの実行プロセスは以下の通りです:

  1. EOAまたはコントラクトアカウントがコールトランザクションを開始

  2. ノードがコントラクトコードと入力データを読み取る

  3. ロジックを実行し、状態を更新

  4. 実行結果を返却またはイベント通知をトリガー

スマートコントラクトによる資産とロジックの制御

コントラクトアカウントは単なるコードのコンテナではなく、資産管理機能も備えています。デプロイや実行時に受け取ったすべてのトークンやETHはコントラクトアカウントに帰属し、資産管理はスマートコントラクトロジックによって制御されます。

ロジック制御により、コントラクトアカウントは以下を実現できます:

  • 自動支払い・決済

  • マルチ署名やタイムロックによる資産管理

  • 条件付き資金移転

  • 他コントラクトとの連携による複雑な金融戦略の実行

このプログラム的制御により、運用リスクが大幅に低減し、オンチェーン金融アプリケーションに柔軟なルール実行が提供されます。

DeFiプロトコルにおけるコントラクトアカウントの活用

DeFiのほぼ全てのコアプロトコルは、コントラクトアカウントで資金とロジックを管理しています。例えば:

  • レンディングプロトコル:貸付プール、担保管理、利息計算は全てコントラクトアカウントで制御

  • 分散型取引所(DEX):取引マッチングや流動性プール管理がスマートコントラクトで自動化

  • 利回り集約戦略:自動複利や利回り分配、手数料管理もコントラクトアカウントで実行

コントラクトアカウントによって、DeFiプロトコルは中央集権的な仲介者を介さずに複雑な金融オペレーションを実現し、透明性・検証性・自動実行を維持します。これがオンチェーンプログラマブルアカウントの本質的価値であり、資産管理のツールであると同時に、分散型金融の中核インフラとなっています。

免責事項
* 暗号資産投資には重大なリスクが伴います。注意して進めてください。このコースは投資アドバイスを目的としたものではありません。
※ このコースはGate Learnに参加しているメンバーが作成したものです。作成者が共有した意見はGate Learnを代表するものではありません。