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

イーサリアム技術入門

最終更新: 2026年2月23日

ブロックチェーンとは

ブロックチェーンとは、単一のネットワークにつながる多くのコンピュータが更新・共有する公開データベースのことです。

この「ブロック」とは、データと状態が連続的にまとまったグループのこと(ブロックと呼ばれる)を意味します。 ETHを誰かに送金する場合は、その送金トランザクションデータがブロックに追加される必要があります。

「チェーン」とは、各ブロックが親ブロックを暗号化して参照しているという仕組みを指し、 各ブロックは連鎖してつながっています。 あるブロックのデータを変更するには後続のすべてのブロックを変更する必要があり、それにはネットワーク全体のコンセンサス(合意)が必要となるため事実上不可能となります。

ネットワーク上のすべてのコンピュータが、新しいブロックとチェーン全体に合意しなければなりません。 これらのコンピュータのことを「ノード」と呼びます。 ノードはブロックチェーン上で繋がるすべてのノードが、同じデータを保有することを保証します。 この分散化された合意形成を行うために、ブロックチェーンには合意メカニズムが必須となります。

イーサリアムはプルーフ・オブ・ステークベースの合意メカニズムを使用しています。 新しいブロックをチェーンに追加するには、イーサリアムのネイティブ通貨であるETHを担保としてステーキングし、バリデータソフトウェアを実行する必要があります。 その後、ランダムに選択されたバリデータがブロックを提案し、他のバリデータが検証してブロックチェーンに追加します。 報酬とペナルティのシステムにより、バリデータは誠実かつ可能な限りオンラインで稼働することにインセンティブを与えられます。

ブロックチェーンデータがどのようにハッシュ化され、その後にブロック参照の履歴に追加されるかをご覧になりたい場合は、Anders Brownworth氏によるこちらのデモ (opens in a new tab)をぜひご覧いただき、以下の付属ビデオもご視聴ください。

Anders氏によるブロックチェーンのハッシュに関する説明:

イーサリアムとは

イーサリアムとは、ブロックチェーンにコンピュータが組み込まれたもので、 分散型、自由参加型かつ、検閲耐性を備えたアプリや組織を構築するための基盤となっています。

イーサリアムの世界には、イーサリアムネットワーク上の誰もがその状態に同意できる単一の正規のコンピュータ(イーサリアム仮想マシンまたはEVMと呼ばれる)があります。 イーサリアムネットワークに参加するすべての人(全イーサリアムノード)は、このコンピュータの状態のコピーを保持します。 さらに、参加者は誰でもこのコンピュータに任意の計算を実行するようにリクエストをブロードキャストできます。 リクエストが配信されると、ネットワーク上の他の参加者は、計算を確認・検証し、実行します。 実行されるとEVMの状態が変更され、それが確定し、ネットワーク全体に伝播されます。

この計算作業のリクエストを「トランザクションリクエスト」と呼びます。すべてのトランザクションの記録とEVMの現在の状態はブロックチェーンに保存され、それがすべてのノードによって保存され、合意されます。

このような暗号メカニズムは、一度トランザクションが有効であると検証されてブロックチェーンに追加された後は、改ざんができないようにします。 また、このメカニズムにより、すべてのトランザクションが適切な「許可」があって、署名・実行されることが保証されます。(ここでの「許可」とは、例えばAliceのアカウントからデジタル資産を送信するのは、Alice以外の他者にはできないという意味)。

Etherとは

**イーサ(ETH)**はイーサリアムのネイティブ暗号通貨です。 ETHの目的は、ブロックチェーンに必要な計算の市場を可能にすることです。 このような市場は、トランザクションリクエストを検証し、実行するための経済的なインセンティブを与え、またネットワークに計算リソースを提供します。

また、新たなトランザクションリクエストをブロードキャストする参加者は、いくらかのETHを報酬としてネットワークに提供しなければなりません。 ネットワークは報酬の一部をバーンし、残りを最終的にトランザクションの検証、実行、ブロックチェーンへのコミット、およびネットワークへのブロードキャストを行った人に与えます。

支払われるETHの額は、トランザクションリクエストの計算に必要なリソースに相当します。 計算リソースに応じて報酬を払わなければならないため、これらの報酬は無限に計算したりリソースを大量に消費するスクリプトを実行することで意図的にネットワークを詰まらせる悪意のある参加者からも守ることができます。

また、ETHは、主に3つの方法でネットワークに暗号経済的なセキュリティを提供するためにも使用されます。1) ブロックを提案したり、他のバリデータの不正行為を指摘したりしたバリデータへの報酬手段として使用される。2) バリデータによってステークされ、不正行為に対する担保として機能する。バリデータが不正行為を試みた場合、そのETHは破棄される可能性がある。3) 新たに提案されたブロックへの「投票」の重み付けに使用され、合意メカニズムのフォーク選択に利用される。

スマートコントラクトとは

参加者はEVMで計算をリクエストするたびに、新たなコードを作成するわけではありません。 アプリケーションデベロッパーがプログラム(再利用可能なコードの一部)をEVMにアップロードし、ユーザーがそのコードをさまざまなパラメータで実行するようにリクエストします。 ネットワークにアップロードされ、ネットワークによって実行されるプログラムを「スマートコントラクト」と呼びます。

スマートコントラクトは、基本的なレベルでは、自動販売機のようなものだと考えることができます。つまり、特定のパラメータで呼び出され、一定の条件が満たされた場合、何らかのアクションや計算を実行するスクリプトです。 例えば、発信者が特定の受取人にETHを送信すると、スマートコントラクトが単純にデジタル資産の所有権を作成・割り当てるなどです。

デベロッパーであれば誰でも、スマートコントラクトを作成し、ブロックチェーンをデータ層として使ってネットワークに公開できます(ただし、フィー(手数料)が必要)。 また、すべてのユーザーはスマートコントラクトを呼び出してコードを実行できます(これにもフィーが必要)。

このように、スマートコントラクトを利用することで、デベロッパーは複雑なユーザー向けアプリや様々なサービス(マーケットプレイス、金融商品、ゲームなど)を構築し、ブロックチェーン上にデプロイできます。

用語

ブロックチェーン

イーサリアムネットワークの過去の処理を踏まえてコミットされたすべてのブロックシークエンスのこと。 各ブロックが前のブロックへの参照を含んでいることが名前の由来。前のブロックを参照することにより、すべてのブロックの順序(つまり正確な履歴)が維持される。

ETH

**イーサ(ETH)**はイーサリアムのネイティブ暗号通貨です。 コー​​ド実行リクエストが達成されるには、ユーザーは手数料としてETHを支払う必要がある。

ETHの詳細

EVM

EVM(イーサリアム仮想マシン)とは、イーサリアムネットワーク上のすべてのノードが同じ状態を保存し、同意するグローバルな仮想コンピュータ。 参加者は誰でも、EVMで任意のコードの実行をリクエストすることができ、コードが実行されると、EVMの状態が変更される。

EVMの詳細

ノード

EVMの状態を保存している実際のマシン。 ノードは相互に通信して、EVMの状態と新しい状態の変化に関する情報を伝達する。 あるノードからコード実行リクエストをブロードキャストすることで、コードの実行をリクエストできる。 イーサリアムネットワーク自体は、すべてのイーサリアムノードとその通信の集合体。

ノードの詳細

アカウント

ETHの保有先。 ユーザーはアカウントを初期化し、アカウントにETHを入金したり、アカウントから他のユーザーへETHを送金できる。 アカウントとアカウント残高はEVMの巨大なテーブルに保存され、これらはEVM全体の状態の一部。

アカウントの詳細

トランザクション

「トランザクションリクエスト」とはEVM上でのコード実行リクエストの正式名称であり、「トランザクション」とは実行されたトランザクションリクエストとそれに伴うEVM状態の変化を指す。 すべてのユーザーは、ノードからネットワークにトランザクションリクエストをブロードキャスト可能。 トランザクションリクエストが、合意されたEVMの状態を変更するには、他のノードによって検証・実行され、「ネットワークにコミット」される必要がある。 コードを実行するとEVMの状態が変化し、コミットするとこの状態の変化がネットワーク内のすべてのノードにブロードキャストされる。 トランザクションの例:

  • 自分のアカウントからAliceのアカウントに X ETHを送信
  • スマートコントラクトのコードをEVM状態に公開
  • EVMのアドレスXで、引数Yを使用してスマートコントラクトのコードを実行

取引の詳細

ブロック

トランザクション量が非常に多いため、トランザクションはバッチまたはブロック単位で「コミット」される。 ブロックには通常、数十から数百のトランザクションが含まれる。

ブロックについての詳細

スマートコントラクト

デベロッパーがEVMの状態に公開する、再利用可能なコード(プログラム)の断片。 トランザクションリクエストを行うことで、誰でもスマートコントラクトコードの実行をリクエスト可能。 デベロッパーはEVMに任意の実行可能なアプリケーション(ゲーム、マーケットプレイス、金融商品など)を書き込めるため スマートコントラクトを公開することで、これらはdapps、または分散型アプリケーションとも呼ばれることがよくあります。

スマートコントラクトの詳細

参考リンク

映像で学びたい場合

このビデオシリーズでは、基礎的なトピックについて徹底的に探求しています:

イーサリアムの基礎 プレイリスト (opens in a new tab)

役に立つコミュニティリソースを知っていますか? Edit this page and add it!

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