本ページはプロモーションが含まれています
イーサリアムとは何か、に挑むシリーズ。
第1回は、イーサリアムを形作る実体の一部である「クライアント」について解説していきます。イーサリアム開発の目的と動機とは何か、ぜひWeb3.0を学んでいただければと思います。
第1回 イーサリアム(Ethereum)とは何か(1)〜その実体を知る〜
人気ある仮想通貨の一つとして名高いイーサリアム(Ethereum)。まだまだ一般における知名度は低いといえど、ブロックチェーンの世界でその名を知らない人はいません。
2021年にはNFTやDeFiの発展が一際目を引きました。しかし、これらの本質的な価値とは何でしょうか。また、それぞれの技術内容を考慮して最適なサービスを利活用するにはどうしたら良いのでしょうか。
本記事をはじめとしたシリーズでは技術的な内容を学ぶ足掛かりとして、でき得る限り参照すべき情報源の提示と、基礎的内容の説明をすることにあります。皆さんのお役に立つことを切に願います。
はじまりとなる本記事ではイーサリアムを形作る実体の一部である「クライアント」についてご紹介していきます。
目次
何がイーサリアムとして機能しているのか
イーサリアムについて最も知られている情報と言えば、
・仮想通貨(暗号資産)の一つである
・ブロックチェーン技術を用いている
この2つだと言えるでしょう。特に、イーサリアムを仮想通貨として認知している方々にとって、多くのブロックチェーンプラットフォームを目にするのは「取引所」や「交換所」なのではないでしょうか。
また、DeFiの発展に伴い、サービスごとにユーザーが扱いやすいウェブページが用意されていることもあるでしょう。しかし、これらはいずれもイーサリアムの実体ではありません。
イーサリアムとしての機能を提供している実体は、イーサリアムの仕様を実装したソフトウェアであり、これらは「クライアント」と呼ばれます。
Ethereum Yellowpaperとクライアント
イーサリアムがどのようなものかを説明する開発者によるドキュメントとして、「Ethereum Whitepaper(イーサリアム ホワイトペーパー)」と「Ethereum Yellowpaper(イーサリアム イエローペーパー)」の二つがあります。
Ethereum Whitepaper(イーサリアム ホワイトペーパー)
イーサリアム ホワイトペーパーは2013年末にヴィタリック・ブテリン(Vitalik Buterin)によって公開され、現在もコミュニティによって定期的に更新されています。
イーサリアム ホワイトペーパーの内容はBitcoin(ビットコイン)の概説からイーサリアム開発に至るまでの歴史と、イーサリアムがどのようなブロックチェーンかについての説明が書かれています。イーサリアムによって実現可能になるアイデア等についても記載があります。
あくまで概念的な説明にとどまっており、ホワイトペーパーから具体的な仕様を学習することはほとんど出来ません。
また、最近の技術や現在のイーサリアムの状況についての説明もほとんどありません。実践における手引書としてではなく、導入として目を通しておくことをお勧めします。
Ethereum Yellowpaper(イーサリアム イエローペーパー)
もう一つのドキュメントであるイーサリアム イエローペーパーはホワイトペーパーとは対照的です。
こちらは2014年にイーサリアム創設メンバーの一人だったギャビン・ウッド(Gavin Wood)氏によって公開されました。
論文形式でイーサリアムがどのように機能するか、その詳細な内容が記されています。数式などを用いて形式的に記述されており、イーサリアムクライアントが基づくイーサリアムの仕様はこのイエローペーパーに記されています。
イエローペーパーの欠点は内容が堅苦しく、理解するのが難しい点です。これを解消すべく、より分かりやすく内容を書き直した「Beigepaper」なるものも非公式で出ています。
参照:Nodes and Clients / ethereum.org
クライアント
イーサリアムの仕様がイーサリアム イエローペーパーで定義されており、その定義に則したクライアントと呼ばれるソフトウェアによってイーサリアムは動作します。つまり、イーサリアムは一つの特定のクライアントによって動作しているわけではなく、様々なクライアントが存在するのです。
また、様々あるクライアントの中でも、実装する機能の範囲によって分類が分かれます。
ここでは、イーサリアムの仕様をほぼすべて提供するクライアントの内、代表的でドキュメントの充実しているものを紹介していきます。
Geth(Go Ethereum:ゲス)
Geth(Go Ethereum)は「Go」というプログラミング言語によってイーサリアムの仕様を実装したクライアントです。
イーサリアムの開発を主導する組織の一つにEthereum Foundation(EF:イーサリアム財団)があります。EFは2014年にEthereum開発の中で誕生し、組織自ら開発行ったりコミュニティの場を提供したりする一方で、コミュニティに貢献する開発チーム、または個人に資金を提供しています。
このEFによって公式にサポートされているクライアントであり、ネット上で動作しているクライアントの中で8割を超えるシェアを持っています。
Geth Official: https://geth.ethereum.org/
Open Ethereum(オープン イーサリアム)
Open Ethereum は「Rust」というプログラミング言語によって書かれています。「Rust」自体の特徴から、より高い安全性とより速い実行速度の実現が特徴です。
Open Ethereum はかつてParity(パリティ)と呼ばれ、Parity Technologies(パリティテクノロジーズ)の主導の下、EFによるサポートを受けて開発が為されていました。Parity Techonologies が Parity の開発を新設組織「Open Ethereum」に移行したことで、現在ではEFのサポートから外れています。
全体では2番目に人気のあるクライアントで、シェアは約6%です。
Open Ethereum: https://openethereum.org/
※編集部注:Parity Technologies(パリティテクノロジーズ)は、現在Polkadot(ポルカドット)というブロックチェーンプロジェクトの開発を行なっています。Parity Technologies(パリティテクノロジーズ)の創設者は先に出てきたEthereum Yellowpaperを書いたギャビンウッド氏です。
ポルカドット(DOT)とは?初心者にわかりやすく、今後・将来性・歴史・仕組み・ウォレット・取引所を解説した入門ページ
Nethermind(ネザーマインド)
Nethermind は「C#」というプログラミング言語で、「.NET」というフレームワーク上に構築されたクライアントです。
C#、.NET、ともに企業で広く使われている技術であり、ブロックチェーンに関わる企業の事も視野に入れて開発されていることが特徴です。もともとこれらの技術を使っている企業や大規模なシステムを保有するものにとって、新たな環境を用意する必要がなく、既存の環境下で使用することができます。
全体におけるシェアは約2%弱と低いですが、EFや多くの企業からサポートを受けており、今後の発展が見込まれます。
Nethermind: https://nethermind.io/
終わりに
今回はイーサリアムとして動作するものが一体なんであるか、それらが何に基づいていて、どのようなバリエーションがあるのかを簡単に紹介しました。
ただ、ここで紹介したクライアントはそれぞれ異なる言語で書かれ、かつ達成すべき目標もさまざまです。使用されている言語を習得している、あるいは習得したとしても、実際のコードを読んでイーサリアムの仕様全体を把握することは困難を極めるでしょう。
次回以降はEthereum Yellowpaperの内容に則り、クライアントに実装されているイーサリアムの仕様がどのようなものであるかを読み解いていきます。
続きはこちら↓
第2回 イーサリアム(Ethereum)とは何か(2)~その目的と動機~
スポンサー