イーサリアムのアーキテクチャとは何ですか?
学べる内容:
イーサリアムとは何ですか?
イーサリアムは、Apple の App Store にアプリを追加するなど、正式な集中承認プロセスを経ることなく、誰でもデジタル サービスを構築して安全に展開できるブロックチェーン ベースのシステムです。
これは、ロシア生まれのコンピューター プログラマー、ヴィタリック ブテリンの発案です。彼は初期のビットコイン支持者でしたが、接続されたアプリケーションを可能にするスクリプト言語が欠けていると考えていました。
イーサリアムは、特注のプログラミング言語で表現されたあらゆるリクエストを処理できるチューリングコンプリートシステムへの許可なしのアクセスを可能にするため、「世界コンピューター」と呼ばれています。
これは、イーサリアム上に構築されたアプリケーション内およびアプリケーション間で価値を転送できるトークンを作成するための一連の標準を使用し、広大な相互運用可能なエコシステムを構築します。
イーサリアム上に構築されたアプリケーションは、銀行や Google Play ストアなどのサードパーティを信頼する必要はありません。これらの基本的な機能により、イーサリアム ベースのアプリケーションは、次のような形で、平均的な人にとってアクセスが難しい業界を迅速に破壊することができます。
イーサリアムのアーキテクチャ
1. イーサリアムの概要
イーサリアムは、イーサリアム仮想マシン (EVM と略されることが多い) と呼ばれるものを通じてその処理能力を貸し出す分散コンピューティング ネットワークです。
イーサリアムを世界のコンピュータに例えると、EVM はプロセッサであり、スマート コントラクトを実行するためのランタイム環境を提供します。これは、イーサリアム ネットワークのネイティブ通貨を使用してサービスの料金を支払うデジタル アプリケーション (dApps) によって呼び出されるコード ベースの命令です。 、エーテル。必要な計算量は、Gas と呼ばれるもので測定されます。
イーサリアム ネットワークは、イーサリアム プロトコルという一連のルールに従うノードで構成され、イーサとスマート コントラクトを保持するアカウントを含む EVM の正しい状態を維持することを唯一の目的としています。
2. イーサリアム仮想マシン
EVM はネットワークやファイルシステムの一部ではなく、単にスマート コントラクト リクエストを受信して実行し、その状態を更新します。その状態は、イーサを保有するアカウント (ETH) の残高の変化とともに、イーサリアム ブロックチェーンの各ブロックに記録されます。
イーサリアムには「正規」状態が 1 つだけあることが重要であり、EVM は、スマート コントラクトの変更やアカウント トランザクションの要求に応じて、新しいブロックごとに有効な状態を計算するためのルールを提供します。
EVM 状態は、イーサリアム クライアントを通じてルールを実行するノードのネットワークによって維持されるブロックチェーンに暗号化を使用してチェーンされたブロックに保存されます。
イーサリアム クライアントは、イーサリアム イエロー ペーパーとして知られるヴィタリック ビテリンによって書かれたオリジナルの青写真に記載されている指示を実装する特定のソフトウェアです。
3. イーサリアムブロックチェーン
ブロックチェーンに保存されたトランザクションの正確性についての合意は、プルーフ・オブ・ワークと呼ばれるコンセンサス・メカニズムを通じて達成され、ビットコインが採用する一般的なアプローチを模倣していますが、イーサリアムのトケノミクス(ETHの作成、配布、インセンティブの仕組み)に大きな違いをもたらす特定の適応が加えられています。所有者。
マイニングノードは、EthHashと呼ばれる特定のアルゴリズムを実行します。これは、15秒ごとに状態変化の新しいブロックを生成する任意の数学的計算であり、必要な作業が完了したことを証明する「正当性の証明書」を生成するマイナーに2イーサリアムの報酬を与えます。これには、取引およびスマート コントラクトの実行のためにアカウントおよび dApp によって支払われる手数料が含まれます。
新しいブロックはネットワークの残りの部分にブロードキャストされ、他のマイナーが正当性の証明書を確認したら、それをチェーン内の最新のブロックとして受け入れる必要があります。
ブロックのタイミングはプロトコルによって設定され、難易度はブロックの生成時間を一定に保つためにプログラムによって調整されます。
ブロックのサイズは、すべてのトランザクションを実行するために必要なガスの量に基づいて制限されます。上限は3,000万Gasに設定されていますが、ブロックサイズは需要に応じて変動します。
イーサリアムの Proof of Work の使用は、スケーラビリティを向上させ、Proof of Work マイニングの環境への影響に関する懸念に対処するために、2022 年に終了し、Proof of Stake に変更される予定です。
ステークされた資金を保持する別のビーコン チェーンがすでに存在しており、最終的にはメインネットと統合され、Casper the Friendly Finality Gadget と呼ばれる新しいコンセンサス メカニズムが適用されます。
4. イーサとそのトケノミクス
ビットコインとは異なり、イーサリアムの供給には上限がなく、新しいブロックの生成に対してマイナーに支払われる2 ETHの報酬によって増加します。
トランザクションの料金は、Gas と呼ばれるもので送信者によって支払われます。 EVM によって行われた作業に対して課金することで、最小限の計算量を奨励し、送信者に課金します。
ガスの支払いは Gwei で行われ、Ether のマイクロ単位として料金を表現するのがはるかに簡単になります。
1 ETH = 1,000,000,000 グウェイ。
イーサリアムのインフレに関する懸念に応えて、2021 年 8 月 5 日に実装されたイーサリアム改善提案 EIP1559 を通じてマイニング プロセスに変更が加えられました。
この変更は、新たにマイニングされたブロックに含まれる手数料の一部がマイナーに支払われるのではなく、燃やされることを意味します。目的は、定期的に十分なETHを燃焼して供給を減らし、デフレコインに変えることです。
上述のコンセンサスメソッドに対する差し迫った変更は、ETH保有者に資金を賭けてネットワークをサポートする具体的なインセンティブを提供することで、すでにイーサリアムのトークンノミクスに影響を与えています。
現在、ETHの流通供給量の8%近くがETH2預金契約にロックされており、これは925万トークンまたは約230億ドルに相当し、現存する単一のETH保有者としては最大となっている。
5. スマートコントラクト、dApps、ガス
スマート コントラクトは、Solidity と呼ばれるイーサリアム固有のプログラミング言語で記述されており、プログラミング (特に Javascript) の経験がある人にとって、学習するのに大きな課題はありません。
スマート コントラクトは EVM 内に保存され、その最新の状態はイーサリアム ブロックチェーンの最新のブロックに反映されます。
特定の基本基準に従っている限り、スマート コントラクト内の数行のコードで新しい暗号通貨や金融サービスを作成できます。イーサリアム プロトコル内の標準化により、dApp 間の相互運用性が可能になり、これが DEFI と NFT の市場が短期間で急速に成長した理由の 1 つです。
現在、数千の dApp がイーサリアム上で実行されている一方で、他のブロックチェーンはイーサリアムの設計を模倣して改良し、同様のスマート コントラクト機能を提供し、アプリケーションを簡単に移植できるように EVM 互換性を提供しようとしています。
スマートコントラクトの使用の増加により、ユーザーがDEFIサービスやミントNFTを利用するために支払わなければならない実行手数料が平均的なユーザーの価格を引き下げているため、イーサリアムは自らの成功の犠牲者となっています。
6. イーサリアムノード
ビットコインと同様に、イーサリアムのネットワークには、イーサリアム プロトコルの必要な機能を満たすさまざまなタイプのノードが備えられています。ノードは、クライアント ソフトウェアが機能する必要があるコンピュータと考えることができます。
ノードとクライアントの基本をまとめてから、専用の記事でそれぞれを詳しく見ていきます。
フルノード
鉱夫
ライトノード
アーカイブノード
イーサリアムのプルーフ・オブ・ステークへの移行は、トランザクション処理の効率を向上させる方法であるシャーディングと呼ばれるものを実装し、すべての状態変更を保存する必要があることを考慮するとビットコインよりもはるかに大きいイーサリアムブロックチェーン全体のサイズを削減します。
7. イーサリアムクライアントとネットワーク
クライアント ソフトウェアはイーサリアム プロトコルの実装であり、イーサリアム ネットワークとブロックチェーンがどのように機能するかについての正式な仕様を提供します。さまざまな言語で利用でき、ネットワークの他の部分と同期する方法もさまざまです。
イーサリアムクライアント | 言語 | オペレーティング·システム | 通信網 | 同期戦略 |
ゲス | 行く | Linux、Windows、macOS | メインネット、ゲルリ、リンケビー、ロプステン | スナップ、フル |
ネザーマインド | C#、.NET | Linux、Windows、macOS | メインネット、ゲルリ、リンケビー、ロプステン | 速い、ビーム |
ベス | ジャワ | Linux、Windows、macOS | メインネット、ゲルリ、リンケビー、ロプステン | 高速、フル |
エリゴン | 行く | Linux、Windows、macOS | メインネット、ゲルリ、リンケビー、ロプステン | 満杯 |
OpenEthereum (非推奨) | さび | Linux、Windows、macOS | メインネット、ゲルリ、リンケビー、ロプステン | ワープ、フル |
現在、アーカイブ ノードまたはフル ノードの実行には完全な同期に数日かかり、大量のストレージ容量が必要です。これにより、ノードの実行が技術的能力やリソースを持つ人の手の届かないところに置かれる可能性があり、これがイーサリアムの分散化を損なうと主張する人もいます。この問題は、インフラストラクチャを実行し、単に API を提供するノード クライアント サービスを使用することで回避できます。
さまざまなイーサリアムネットワーク
イーサリアム プロトコルはオープン ソース ソフトウェアであるため、メインネットとして知られるメインのイーサリアム ネットワークに必ずしも適用する必要はありません。
テスト用のさまざまな実装 (Ropsten) または特注の製品アプリケーション (上の表を参照) があります。
各ネットワークは独立して動作するため、メインネット上のイーサリアムアカウントの残高と取引履歴は他のネットワークには適用されません。ユーザーは、MetaMask など、ウォレット内のさまざまなネットワークに接続するだけで済みます。
さまざまな同期戦略
異なるイーサリアム クライアントが存在する理由の 1 つは、各クライアントがネットワークの残りの部分と同期して最新バージョンのブロックチェーンをダウンロードする際にわずかに異なるアプローチを採用しているためです。それらはさまざまな機能を提供し、アプリケーションのサイズに関してはより軽量またはより重くなります。
8.イーサリアムアカウントの種類
ビットコイン ブロックチェーンは通貨システムをサポートしていますが、個々のユーザーはアカウントを持っていませんが、残高は未使用トランザクション (UTXO) によって表されます。イーサリアムは別個のアカウント構造を運用するため、この点で異なります。
すべてのアカウントには、単に Ether を送受信する Ether で表示される残高、またはコードとともに契約アカウントに送信され、実行のための入力を提供する特定のペイロード (バイナリ データ) があります。
9. イーサリアム標準
イーサリアム プロトコルの最も先進的な側面の 1 つは、EVM がサポートするすべての dApp 間の相互運用性を可能にする、明確に定義された標準です。これらの標準は、その機能を複製しようとするレイヤー 1 ネットワーク全体に複製されています。
最も一般的なものは次のとおりです。
イーサリアム内で構築する機会は何ですか?
ヴィタリック・ブテリンの天才は、トラストレスな暗号通貨エコシステムが成長するには、共通の言語と共通の経済基準が必要であることを認識していました。このイーサリアムがデジタル アプリケーションの作成者をサポートするためのすべての重労働を行うことで、分散ソリューションの恩恵を受ける問題を考え出し、Solidity を使用してスマート コントラクト内でそれを数学的に表現するだけで済みます。これには次のものが含まれます。
あなたがクリエイターではなく、むしろイーサリアムエコシステムの維持に協力したい場合には、いくつかの明確なオプションがあります。
ノードを実行したくない場合は、既存の API の 1 つを使用して、Ethereum ユーザー向けの付加価値サービスを構築できます。