コンテンツへスキップ
0%

実行レイヤー(EL)とコンセンサスレイヤー(CL)のノードクライアント

Alchemy team headshot

執筆者 Alchemy

2022年7月8日 公開読了時間 1 分

Ethereumは近年目覚ましい成功を収め、ブロックチェーン愛好家の間で人気を高めてきた。その結果、Ethereumは高いガス代、遅いブロック生成時間、ネットワーク混雑といった形でよく見られる、幅広いスケーラビリティの問題を経験してきた。

Ethereumを実行レイヤー(EL)とコンセンサスレイヤー(CL)という、高度に最適化された2つのレイヤーに分離することで、ネットワークはよりスケーラブルになる。それぞれのレイヤーは、若干異なるノードクライアントインフラストラクチャを必要とする。

この記事では、主要なEthereumノードクライアントを取り上げる:

  • Geth (Go Ethereum)
  • Nethermind
  • Erigon
  • Hyperledger Besu

また、主要なコンセンサスレイヤーノードクライアントについても取り上げる:

  • Prsym
  • Teku
  • Lighthouse
  • Nimbus
  • Lodestar

最も人気のある実行レイヤークライアントとは

現在のブロックチェーンエコシステムにおいて、人気のあるブロックチェーン実行レイヤークライアントは、Geth (80.1%)、Erigon (採用率8.7%)、Besu (3.0%)、Nethermind (2.6%)である。

実行レイヤークライアントは実行レイヤー上で動作し、ブロックチェーン全体の状態を維持・管理するとともに、仮想マシンを用いてトランザクションを完了させる。

1. Geth (go ethereum)

Gethを使うことで、開発者はコマンドラインとGoプログラミング言語を通じて、Ethereumノードを介したEthereumブロックチェーンとのやり取りが可能になる。開発者はGethを使ってEthereumのトランザクションを実行したり、Ethereumのネイティブ暗号通貨であるETHをマイニングしたりできる。

MacOS (homebrew)でGethクライアントをセットアップする方法

2. Erigon

ErigonはGoプログラミング言語で書かれたEthereum実行レイヤークライアントである。Erigonは速度を重視したEthereumの最適化された実装を提供しており、主に大量の状態データを管理するアーカイブノードの運用に用いられる。

MacOSでErigonクライアントをセットアップする方法

Erigonはアーカイブノード用のクライアント実装として人気があるが、Silkworm (C++)やAkula (Rust)といったクライアントも、アーカイブノードの運用において同等、あるいはそれ以上のパフォーマンスを示している。

3. Besu

Besuは、Apache 2.0ライセンスの下でHyperledgerがJavaプログラミング言語を用いて構築したEthereum実行レイヤークライアントであり、エンジニアがEthereumノードを運用することを可能にする。

開発者はコマンドラインおよびJSON-RPC APIを使ってBesuとやり取りでき、これはRPC、HTTP、またはWebSocketsを通じてアクセスできる。BesuはETHマイニングや、スマートコントラクトおよび分散型アプリケーションのエンジニアリングに使用される。

MacOSでBesuクライアントをセットアップする方法

4. Nethermind

Nethermindは.NET core上に構築されたEthereum実行レイヤークライアントであり、エンジニアがEthereumノード上で開発を行うことを可能にする。

MacOSでNethermindクライアントをセットアップする方法

コンセンサスレイヤーとは

コンセンサスレイヤーは、Ethereumブロックチェーンの新しいバックエンドインフラストラクチャとして機能し、バリデーターの有効性をホストおよび検証する。

PoSモデルでは、検証はステーキングという形で行われ、バリデーターはETHを担保としてステークする。この担保は不正行為があった場合、ネットワークによって没収(スラッシュ)される可能性がある。

Ethereumのコンセンサスレイヤークライアントとは

Lighthouse、Prysm、Nimbus、Teku、Lodestarなど、複数のコンセンサスレイヤークライアントが存在する。

1. Lighthouse

Lighthouseは、Sigma Primeによって開発された、Rustプログラミング言語で書かれたコンセンサスレイヤークライアントである。LighthouseはEthereumのPoSへのマージに際し、セキュリティとパフォーマンス速度を重視した実装となっている。

MacOSでLighthouseクライアントをセットアップする方法

2. Prysm

Prysmは、Prysmatic LabsによってGoプログラミング言語で開発されたコンセンサスレイヤークライアントである。PrysmはEthereumのPoSおよびステーキングプロトコルを包括的に実装しており、セキュリティと信頼性に重点を置いている。

MacOSでPrysmクライアントをセットアップする方法

3. Nimbus

Nimbusは、Rustプログラミング言語を用いて開発されたコンセンサスレイヤークライアントである。Nimbusのコンセンサスレイヤークライアント実装は、幅広いハードウェアデバイス上でホスト可能な軽量クライアントの開発に注力している。

MacOSでnimbusクライアントをセットアップする方法

4. Teku

Tekuは、Besuチームによって開発された、Javaプログラミング言語を用いたコンセンサスレイヤークライアントである。Tekuの実装は、一般ユーザーではなく機関投資家をターゲットとしている。

MacOSでtekuクライアントをセットアップする方法

5. Lodestar

Lodestarは、ChainSafe SystemsによってTypescriptプログラミング言語で開発されたコンセンサスレイヤークライアントである。Lodestarは、デプロイ可能で軽量なクライアントであることを目指すと同時に、TypescriptおよびJavascriptの開発者にも訴求できるよう開発されている。

MacOSでlodestarクライアントをセットアップする方法

結論

実行レイヤーとコンセンサスレイヤーの分離は、2022年に長らく待たれていたEthereum Mergeアップグレードの一部であった。

Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。