イーサリアム(ETH)ステーキングの取扱説明書

2022年9月にイーサリアムのブロック生成・検証メカニズムがプルーフ・オブ・ステーク(PoS)に移行しました。これによってETHを保有する個人投資家や機関投資家がインカムゲインを得られる機会が生まれました。

ここでは、ETHのステーキングに興味のある投資家が知っておくべき情報を網羅的に解説します。

 

寄稿者小林 真己

 

京都大学大学院工学研究科を修了後、メーカー勤務を経て2022年4月にコインチェック株式会社に入社。入社後は新規取扱い通貨の審査をはじめ、リサーチ業務を担当する。  

イーサリアムのアップグレード「The Merge(ザ・マージ)」

まず「The Merge」についておさらいします。

The Mergeとは、2022年9月15日に行われたアップグレードのことです。これによってイーサリアムではプルーフ・オブ・ワーク(PoW)が廃止され、PoSに移行しました。具体的には、従来からあるPoWのイーサリアムメインネット(実行レイヤー)とビーコンチェーン(コンセンサスレイヤー)の結合を指します。コンセンサスレイヤーと実行レイヤーの違いは以下の通りです。

コンセンサスレイヤー ブロックの生成や検証を行う。
実行レイヤー トランザクションの実行を行う。

引用:The Merge -- The Beacon Chain

イーサリアムのステーキング概要

以下では、イーサリアムのステーキング概要について解説します。

バリデーターの条件

イーサリアムのバリデーター(記録者)になるためには、インターネットに接続されたイーサリアムノードを稼働させ、最初に32 ETHを預け入れる必要があります。32ETHより多く預け入れても報酬が増えることはありません。

例えばこのバリデーターは64ETHをデポジットしていますが、Effective Balanceとしては32ETHのみが反映されています。32ETHより多くのETHをステーキングしたい場合、別のバリデーターとして検証鍵を用意して32ETHをデポジットする必要があります。なお、ステーキングされているETHはこちらのコントラクトアドレスにデポジットされます。

ちなみに、バリデーターの最大Effective Balanceである32 ETHは、バリデーターの分散性/ブロックのファイナリティ時間/メッセージの処理数のトレードオフを加味して決定されています。

参考:EIP-2982: Serenity Phase 0

バリデーターに必要な鍵

先ほど「検証鍵」と書きましたが、イーサリアムには通常の秘密鍵と公開鍵とは別に、バリデーター専用の「検証鍵(The validator key)」と「引出し鍵(The withdrawal key)」が存在します。

  • 検証鍵の目的は、ブロックの提案や証明などのオンチェーン操作に署名することです。そのため、検証鍵はホットウォレットに保持する必要があります。
  • 引出し鍵の目的は、バリデーターの残高を移動することです。引出し鍵を紛失するとバリデーターの残高へのアクセスが失われるため、コールドウォレットでの管理が推奨されます。

なお、バリデーターと検証鍵は対応関係にあるため、複数のバリデーターを稼働するためには検証鍵も複数生成する必要があります。ただし、下図のように一つの引出し鍵から複数の検証鍵を生成することも可能です。

引用:Keys in proof-of-stake Ethereum

バリデーターのライフサイクル

下図はバリデーターのデポジットから終了、資金の撤収までのフローを表しています。
特に留意するべきは以下の3つです。

  • 1~3:実行レイヤーで32ETHをデポジットしてからバリデーターがアクティブ化するまでの時間(約12時間)
  • 3.c:バリデーターが自主終了(voluntary exit)できるようになるまでの最低稼働時間(Minimum service time)(約9日)
  • 5.a:終了したバリデーターが資金を引出せるようになるまでの時間(最短27時間)

引用:A note on Ethereum 2.0 phase 0 validator lifecycle - HackMD

また、イーサリアムでは一定期間にアクティブ化や終了できるバリデーターの数に制限が設けられており、バリデーター数が大きく増減することを防いでいます。
これはchurnlimitと言うパラメーターで定義されており、以下のように表されます
churn
limit = (4, アクティブなバリデーター数/65,536)の大きい方の値

参考:Phase 0 -- The Beacon Chain

つまり、以下の表の通りです。

アクティブなバリデーター数 アクティブ化可能なバリデーター数/epoch (1epoch = 384秒) アクティブ化可能なバリデーター数/日
〜327,679 4 900
327,680〜393,215 5 1,125
393,216〜458,751 6 1,350
458,752〜524,287 7 1,575
524,288〜589,823 8 1,800
589,824〜655,359 9 2,025

一定期間に終了可能なバリデーター数も上の表と同じです。

参考:Glossary - Ethereum 2.0 Knowledge Base

たとえば、アクティブなバリデーターが25万から50万に増加すると予想される場合、1ヶ月あたり4万のバリデーターがアクティブになると想定すると、このプロセスには6ヶ月以上かかります。つまり、これらすべてのバリデーターが今日キューに入った場合、全バリデーターがアクティブになるまでの長さは6ヶ月になります。

報酬とペナルティ

以下では、バリデーターが受け取る報酬とペナルティについて解説します。

報酬の発生方法

報酬やペナルティは1epoch(384秒)ごとに発生します。
イーサリアムのステーキングには大きく2種類の報酬があります。

1. コンセンサスレイヤーの報酬

コンセンサスレイヤーの報酬は、主にブロックの提案や検証を行うことで得られる報酬です。これは新規に発行されるETHで、PoWのマイニング報酬にあたります。ETHの新規発行量はアクティブなバリデーター数の平方根にほぼ比例するため、多くのバリデーターがネットワークに参加すると各バリデーターが得られる報酬は減るという特徴があります。

また、コンセンサスレイヤーの報酬はShanghaiアップグレード(後述)まで引き出せないことに留意が必要です。

2. 実行レイヤーの報酬

実行レイヤーの報酬には、生成したブロックに含まれるPriority FeeとMEV(Maximal Extractable Value)が含まれます。

Priority Feeとはトランザクションを優先的に処理してもらうために支払われるチップのようなもので、MEVとはブロック内のトランザクションの順序を変更することでアービトラージなどの収益機会を生み出すことです。コンセンサスレイヤーとは異なり、実行レイヤーで発生する報酬はいつでも引き出し可能です。

ペナルティ

イーサリアムのバリデーターは、オフラインになった場合や、無効または矛盾するブロックを証明するなど悪意のある行動をとった場合、罰則としてデポジットしている資産の一部を失う可能性があります。

オフラインの場合

バリデーターの圧倒的多数(2/3)がオンラインであるときにオフラインとなっても、ネットワークへの影響は小さいため、ペナルティは比較的小さくなります。ただし、バリデーターの総数の 1/3 以上が同時にオフラインになると、ブロックがファイナライズされなくなるため、より厳しいペナルティが課せられます。

オフライン状態が続き、残高が16ETHまで減ると自動的にバリデーターの権利を失います。

悪意のある行動をした場合

この場合のペナルティをSlashingと呼びます。他のバリデーターが同時にSlashingされる場合、失う額は増加します。これは組織的な攻撃のインセンティブを大幅に低下させることが狙いです。

Slashingを受けたバリデーターは強制的に退場となり、それ以降ネットワークに参加することはできません。

参考:Validator FAQs

Effective Balance

報酬やペナルティの量はEffective Balanceを元に計算されます。

Effective Balanceを簡単に説明すると、バリデーターがステーキングしていると見なされるETHの残高で、必ず整数となります。例えばバリデーターの実際の残高が31.2ETHだとしても、31ETHがEffective Balanceとみなされ、これをもとに報酬などが計算されます。

より詳細な説明はこの記事を参考にしてください。

引用:Understanding validator effective balance

Shanghaiアップグレード

2023年1月時点で、コンセンサスレイヤー(デポジットコントラクト)にデポジットされたETHやコンセンサスレイヤーで発生した報酬はロックされて引き出すことができません。
2023年3月に予定されているShanghaiアップグレードによってこれらは引き出しが可能になる予定です。

ステーキングへの参加方法

個人投資家がETHのステーキングに参加する方法として大きく以下の3つが挙げられます。

  • ソロステーキング
  • Staking as a Serviceの利用
  • Pooled Stakingの利用

ソロステーキング

ソロステーキングとは、インターネットに接続されたイーサリアムノードを稼働させ、32 ETH を預け入れ、バリデーターを起動し、ネットワークのコンセンサスに直接参加することです。

<メリット>

  • 中間マージンを取られずにプロトコルから直接報酬を獲得できる。
  • クライアントとハードウェアの選択が自由にできる。
  • イーサリアムネットワークの堅牢性、分散性、安全性に貢献できる。
  • 秘密鍵、引出し鍵を自身で管理できる。

<デメリット>

  • 32ETH用意する必要がある。
  • ノードをセットアップする必要がある。
  • バリデーターを適切に運用する必要がある。
  • Shanghaiアップグレードまで資産を引き出せない。

Staking as a Serviceの利用

イーサリアムプロトコルは、ポルカドット(DOT)などの他の通貨のようにステーキングの委任をサポートしていません。そこで生まれたのがStaking as a Service(SaaS)です。SaaSとは、手数料を支払うことでバリデーターの運用をサードパーティのプロバイダーに委任できるサービスです。

<メリット>

  • ノードのセットアップが不要。
  • バリデーターの運用・管理が不要。
  • 秘密鍵、引出し鍵を自身で管理できる。

<デメリット>

  • 32ETH用意する必要がある。
  • 手数料がかかる。
  • Shanghaiアップグレードまで資産を引き出せない。

Pooled Stakingの利用

上記の2つの方法では32ETHを用意しないとステーキングできない欠点がありました。そこで、少額のETHしか持たない人でもステーキングに参加できるPooled Stakingを紹介します。

Pooled Stakingとは少量の ETH を持つ人達が協力して、バリデーターの有効化に必要な 32 ETH を取得する方法です。

特にLiquid Stakingと呼ばれるサービスでは、ETHをステーキングすると自由に移動可能な代替資産を受け取れます。つまり、ステーキング報酬を得ながら代替資産をDeFiで運用できるため、ステーキングのデメリットである機会損失を回避することができます。

<メリット>

  • 少額からステーキングができる。
  • 代替資産を利用してステーキング中でも資産を自由に動かせる。
  • ノードのセットアップが不要。
  • バリデーターの運用・管理が不要。

<デメリット>

  • 秘密鍵はスマートコントラクトや第三者が管理するため、スマートコントラクトや資金プールがハッキングされて資産が流出するリスクがある。
  • ETHと比較して流動性が低い。
  • 代替資産がETHと比較し価値が下がる(デペグ)可能性がある。
  • 一つのプールが多くのETHを集め、イーサリアムの分散性が失われる可能性がある。

ステーキングプールの中で最も資産を集めているのはLidoです。

LidoにステーキングするとstETHと呼ばれる代替資産が受け取れます。stETHはShanghaiアップグレード後にETHと1:1の割合で交換可能ですが、上記のリスクをはらむため、基本的にETHよりも低い価格で流通しています。そのため、stETHを手に入れたい場合はLidoでステーキングする他に、DEXなどで割安に購入する方法が考えられます。

総括

本記事では、イーサリアムのステーキングに関する具体的な情報を網羅的に解説しました。ETHのステーキングは他通貨と異なる部分が多く、また、Shanghaiアップグレードまでデポジットした資金を引き出せないなど参入障壁が大きいかと思います。

本記事が今後、バイブル的な存在としてイーサリアムのステーキングを検討する方のお役に立つことを願います。