メインコンテンツへスキップ
Change page

ネットワーク

最終編集者: @biga816(opens in a new tab), 2024年4月1日

イーサリアムネットワークは、接続されたコンピューターのグループで、イーサリアムプロトコルを使って通信します。 イーサリアムメインネットは、1つしかありませんが、同じプロトコルのルールに準拠した独立したネットワークをテストや開発のために作成することができます。 プロトコルに準拠した、互いに干渉しない多くの「ネットワーク」が存在します。 自分のコンピュータ上でローカルに起動して、スマートコントラクトやweb3アプリのテストに利用できます。

イーサリアムアカウントは異なるネットワークすべてで使用できますが、アカウント残高とトランザクション履歴はメインネットから継承されません。 テスト目的に利用可能なネットワークと、テストネットのETHを取得する方法を知っておくと有用です。 セキュリティの観点から、一般にはメインネットのアカウントをテストネットで再利用すること(またはその逆)は推奨されません。

前提知識

テストネットワークは試用目的として、安価で安全なイーサリアムを提供します。それぞれのネットワークを読み進める前に、イーサリアムの基本を理解する必要があります。

パブリックネットワーク

パブリックネットワークは、インターネット接続で世界中の誰でもアクセスできます。 誰でも公開ブロックチェーン上でトランザクションを読み取りまたは作成し、実行されているトランザクションを検証できます。 ピア間のコンセンサスにより、トランザクションとネットワークの状態を追加するかが決まります。

イーサリアムメインネット

メインネットは、プライマリ、パブリックのイーサリアム本番環境のブロックチェーンであり、実際の価値を持つトランザクションが分散台帳上で実行されています。

ユーザーと取引所がETH価格について話す場合は、メインネットのETHを指しています。

イーサリアムテストネット

メインネットに加えて、パブリックのテストネットがあります。 このテストネットは、プロトコルやスマートコントラクトのデベロッパーが、メインネットへデプロイする前に、実際の運用環境でプロトコルの更新や将来的なスマートコントラクトの双方をテストするためのネットワークです。 これは一般のウェブ開発における、本番とステージングサーバと同じようなものと考えてください。

メインネットにデプロイする前に、テストネットで作成したコントラクトコードをテストする必要があります。 既存のスマートコントラクトと統合する分散型アプリ(Dapp)では、ほとんどのプロジェクトはコピーがテストネットにデプロイされています。

ほとんどのテストネットは、プルーフ・オブ・オーソリティ(PoA)の合意メカニズムで立ち上げられました。 このメカニズムでは、選ばれた少数のノードがトランザクションを検証し、新しいブロックを作成することで、その過程でアイデンティティをステーキングします。 また、テストネットの中にはイーサリアムのメインネットのように、誰もがバリデータの実行をテストできるオープンなプルーフ・オブ・ステークの合意メカニズムを備えているものもあります。

テストネット上のETHは、本来は価値がないとされています。しかし、特定のタイプのテストネットでは、希少性や入手が困難なことから、価値を持つようになったETHのマーケットが形成されています。 実際にイーサリアムを利用するには(テストネットであれ)ETHが必要なので、ほとんどの人はフォーセットからテストネットETHを取得します。 ほとんどのフォーセットはWebアプリで、ETHを送信するアドレスを入力します。

推奨テストネット

現在クライアントデベロッパーによってメンテナンスされているパブリックのテストネットは、SepoliaとGoerliの2つです。 Sepoliaは、コントラクトやアプリケーションのデベロッパーのためのネットワークで、アプリケーションのテストに使用されます。 Goerliは、プロトコルのデベロッパーがネットワークのアップグレードをテストしたり、ステーカーがバリデータの実行をテストしたりするために使用されるネットワークです。

Sepolia(セポリア)

Sepoliaはアプリケーション開発に推奨されるデフォルトのテストネットです。 Sepoliaネットワークは、許可型のバリデータセットを使用しています。 また、まだ新しいものであるため、ステートや履歴などデータ量が少ないことも特徴です。 そのため、ネットワークを素早く同期でき、ノードを実行するのに必要なストレージ容量が少なくて済みます。 これは、ノードを素早く起動してネットワークと直接やり取りしたい場合に便利です。

  • クライアントとテストチームが管理する非公開のバリデータセット
  • 他のテストネットに比べてアプリケーションのデプロイが少ない、新しいテストネット
  • 同期が速く、ノードを実行するには最小限のディスク容量が必要
リソース
フォーセット

Goerli(ゴエリ) (長期サポート)

注: Goerliテストネットは廃止予定となっており(opens in a new tab)、2023年にHolesovice(opens in a new tab)に置き換わります。 アプリケーションのSepoliaへの移行をご検討ください。

Goerliは、バリデーションやステーキングのテストを行うためのテストネットです。 Goerliネットワークは、テストネットバリデータを実行したいユーザーのために公開されています。 メインネットにデプロイする前にプロトコルのアップグレードをテストしたいステーカーは、Goerliを使用する必要があります。

  • オープンなバリデータセット。ステーカーはネットワークのアップグレードをテスト可能。
  • 大きなステート。複雑なスマートコントラクトのインタラクションのテストに有効。
  • 同期に時間がかかり、ノードを実行するために多くのストレージが必要。
リソース
フォーセット

Goerliテストネットでバリデータを起動するには、ethstakerの"cheap goerli validator" launchpad(opens in a new tab)を使用してください。

レイヤー2テストネット

レイヤー2(L2)は、イーサリアムのスケーリングソリューションの総称であり、 レイヤー2はイーサリアムを拡張し、またイーサリアムのセキュリティ保証を継承する独立したブロックチェーンです。 レイヤー2のテストネットは、通常、パブリックイーサリアムのテストネットと対になっています。

Arbitrum Goerli

Arbitrum(opens in a new tab)のテストネット。

フォーセット

Optimistic Goerli

Optimism(opens in a new tab)のテストネット。

フォーセット

Starknet Goerli

Starknet(opens in a new tab)のテストネット

フォーセット

プライベートネットワーク

イーサリアムネットワークは、ノードがパブリックネットワーク(メインネットやテストネット) に接続されていない場合は、プライベートネットワークとなります。 ここでのプライベートとは、保護されており安全という意味ではなく、他のネットワークから分離されているという意味です。

開発フレームワーク

イーサリアムアプリケーションを構築する場合は、プライベートネットワークで実行して、デプロイする前に動作確認をすることをお勧めします。 自身のコンピュータ上でローカルサーバを作成し、Web開発するのと同様に、ローカルのブロックチェーンインスタンスを作成し、開発中の分散型アプリ(Dapp)をテストできます。 プライベートネットワークでのテストは、パブリックテストネットよりもはるかに高速に反復処理を行うことができます。

これをサポートするためのプロジェクトやツールがあります。 開発ネットワークの詳細をご覧ください。

コンソーシアムネットワーク

コンセンサスプロセスは、信頼される事前定義された一連のノードにより制御されます。 例えば、既知の学術機関のプライベートネットワークが単一ノードを管理し、ブロックはネットワークの署名者数のしきい値により検証されます。

パブリックイーサリアムネットワークがパブリックなインターネットだとすると、コンソーシアムネットワークはプライベートなイントラネットと考えることができます。

参考文献

この記事は役に立ちましたか?