---
title: "実行レイヤー（EL）とコンセンサスレイヤー（CL）のノードクライアント"
description: "CLノードとELノードクライアントの違いと関係性について学ぶ"
---

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

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

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

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

- [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) \(Go Ethereum\)
- Nethermind
- Erigon
- Hyperledger Besu

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

- Prsym
- Teku
- Lighthouse
- Nimbus
- Lodestar

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

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

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

### **1. Geth \(go ethereum\)**

[Geth](https://www.alchemy.com/dapps/geth)を使うことで、開発者はコマンドラインとGoプログラミング言語を通じて、[Ethereumノード](http://www.alchemy.com/overviews/full-vs-light-vs-archive-nodes)を介したEthereumブロックチェーンとのやり取りが可能になる。開発者はGethを使ってEthereumのトランザクションを実行したり、Ethereumのネイティブ暗号通貨であるETHをマイニングしたりできる。

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

### **2. Erigon**

[Erigon](https://www.alchemy.com/dapps/erigon)はGoプログラミング言語で書かれたEthereum実行レイヤークライアントである。Erigonは速度を重視したEthereumの最適化された実装を提供しており、主に大量の状態データを管理する[アーカイブノードの運用](https://www.alchemy.com/overviews/archive-nodes)に用いられる。

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

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

### **3. Besu**

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

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

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

### **4. Nethermind**

[Nethermind](https://www.alchemy.com/dapps/nethermind)は.NET core上に構築されたEthereum実行レイヤークライアントであり、エンジニアがEthereumノード上で開発を行うことを可能にする。

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

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

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

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

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

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

### **1. Lighthouse**

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

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

### **2. Prysm**

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

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

### **3. Nimbus**

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

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

### **4. Teku**

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

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

### **5. Lodestar**

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

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

## **結論**

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