イーサリアムは誰もがEther($ETH)を使用することにより、イーサリアムネットワークの演算力を使用することができ、セキュリティの堅牢なワールドコンピュータを目指しています。この目的には現在のブロックチェーンのセキュリティを保つために大量の電気消費を必要とするProof of Work(以下PoW)からProof of Stake(以下PoSとする)通称Casperへと移行する予定となっており、長年に渡り開発が続けられています。
2018年1月1日、3年を超える開発と調査期間を経てついにCasperのテストネットのα版がリリースされました。本項ではCasperの大まかな概要とイーサリアムネットワークの目指すPoSについて詳しく紹介したものとなります
スポンサーリンク速報:イーサリアムが最終的に移行するPoS"Casper FFG"のテストネットのα版がリリースされました #イーサリアム #Ethereum #仮想通貨 $ETH #ブロックチェーン https://t.co/OhTGwrCka5
— 墨汁うまい(Not giving away ETH) (@bokujyuumai) December 31, 2017
1.Casper(キャスパー)とは?
イーサリアムは現在EthashというASICによるマイニング中央集権化を防ぐPoWアルゴリズムによりマイニングされています。このEthashは現在のバージョンであるメトロポリスの1つ前のバージョン”ホームステッド”から実装され、”フロンティア”で使用されていたDagger Hashimotoを改良したものとなっています。CasperはこれまでのPoWコンセンサスアルゴリズムとは違い”Validator”によりブロックが生成され、ビザンチンフォールトトレラント性をベースとしたPoSです。つまり既存のGPUを使用したマイニングリグでの採掘は最終的にできなくなるということです。
マイニングリグの基礎知識については下記を参照してください。
1-1.Proof of StakeのStakeとは?
Stakeとは日本の語では通常”掛け金”や”利害関係”という意味となりますが、ここでのStakeとはイーサリアムネットワークに携わるValidatorが保有する”ETHの資産”のことを示します。つまりEthashではマイナーが自信の保有するマイニングリグの演算力を提供することによりブロックを生成し、ハッシュパワー(演算力)の高いマイナーほどブロック生成を多く行えマイニング報酬を得ていましたが、CasperではValidatorの保有するETHの量に応じてハッシュパワーの変わりにブロック生成を決めます。
1-2.BFTベースのTendermint
CasperではビザンチンフォールトトレラントベースのPoSをベースにし、2014年に発表された「マイニングなしのコンセンサス」というTendermintを改良したものとなっています。PoWのマイニングは安全なコンセンサスを得るために大量の電気を消費し、セキュリティの問題のためブロック生成時間を短くするのは用意ではなく、セキュリティを定量化するのが難しいとされています。
ですがこのPoSにも同様にNothing at Stakeという問題がありますが、Casperはこれらの問題を解決し、より安全なセキュリティとインセンティブを与えています。
2.ビザンチン将軍問題とは?
非中央集権でかつセキュリティの高いブロックチェーンを語るにあたってビザンチン将軍問題は必ず知って置かなければならない重要な問題です。ビザンチン将軍問題とは1つの目的に対し、複数の人物の合意を得なければ成功しない事象に全員が賛成しなければならない際に発生する問題です。ブロックチェーンのコンセンサスアルゴリズムの一つであるPoWはこのビザンチン将軍問題を解決し例え悪意を持った裏切り者がネットワークに携わってたとしても正常に合意を得れ、ネットワークを稼働することができると一般的には言われています。
2-1.ビザンチンノード
名前の元となったのは東ローマ帝国のビザンチン帝国の将軍が都市を攻撃する際に合意を得るときの問題です。下記図1の様に5人の将軍が都市を攻撃するために各方面から包囲しているとし、お互いの連絡は使者を使い手紙で連絡をとりあってるとします。またここで5人のうち1人はビザンチンノードと言われる悪意をもった”裏切り者”がいるとします。
図1.ビザンチン将軍問題
ここでは5人の将軍が各自攻撃をするという合意がとれ、全方面から攻撃を仕掛けることにより都市を陥落し、目的を達成できるとします。2人の将軍が攻撃を行うとし、2人の将軍が撤退するとした際、残りの1人が過半数である意思決定となるためもし裏切り者(ビザンチンノード)であった場合、この攻撃を失敗させることを望むため図2の様に攻撃を行いたい将軍には「攻撃票」を、撤退したい将軍には「撤退票」を送ることが可能です。
図2.裏切り者(ビザンチンノード)
2-1-1.ビザンチン故障(ビザンチン障害)
裏切り者が上記図2.の様に合意形成を妨害した場合、下記図3.の様に攻撃票を投じた将軍は可半数合意され5人とも攻撃を行うと判断し攻撃を開始します。対して撤退票を投じた将軍は撤退の合意が得られたとし、撤退を行うため攻撃は行いません。そして裏切り者は逃亡することとなり、結果包囲網は機能せず攻撃が失敗することとなるでしょう。この様な合意形成の失敗をビザンチン故障といいます
図3.合意形成の失敗
2-1-2.ビザンチン・フォールトトレラント性(BFT)
またこの合意形成を行う際に投じる票が改ざんされる可能性もあり、この攻撃を成功させるための合意形成は完璧とは言えません。PoWではマイナー(将軍)にブロック報酬となるイーサリアムを付与することにより、合意形成を誠実に行うインセンティブを与えることによりこのビザンチン将軍問題を解決していると言えます。またマイナーにビザンチンノードがいたとしも、分散しており大多数のマイナーは経済合理性に従うため正常にネットワークが稼働することができます。これをビザンチン・フォールトトレラント性があるといいます。
スポンサーリンク
2-2.PoWの問題点~悪意あるマイナーの協力~
PoWでは事実上ビザンチンフォールトトレラント性(以下BFTとする)があると言われていますがもしマイナーがもし協力し、悪意を持ってネットワーク攻撃を仕掛ける場合にはBFTがあると言えないでしょう。この場合はマイナーを信用する必要がありますが、実際に2016年と2017年には下記のような一部の悪意のあるマイナーによるネットワーク攻撃が計画または行なわれました。
1.51%攻撃を組んで仕掛けトランザクションを意図的にコントロールする(*2016年イーサリアムクラシックに対して51%攻撃が計画される)
2.ニ週間の難易度調整までにハッシュパワーをネットワークに集めて難易度を上昇させ、意図的にブロック生成時間を遅延させる
(*2017年ビットコインの難易度調整前にハッシュパワーBTCへ集め、難易度が上昇した後ビットコインキャッシュへ移る)
3.トランザクションスパムによるDDoS攻撃
2番めのネットワーク攻撃は記憶に新しいと思いますが、この攻撃により「ビットコインは死ぬ」という様な悪質なFUD(偽情報戦術)を一部のユーザーが流したりし、価格コントロールを目論みました。
PoWではこの様なネットワーク攻撃が行なわれないことが前提となっていますが、ブロックチェーンの歴史上ネットワークの危機となる攻撃が実際に計画されていることから、これらの点を改善する必要があるでしょう。
2-3.PoSの問題点~Nothing at Stake~
“Nothing at Stake”とは、PoSにおける代表的な問題であり、直訳すると”何も賭けていない”となります。PoWではマイナーが採掘するためにマイニングリグを作成し、その初期コストを回収するために大量の電気代を使用しマイニングを行い、もし無効なブロックをマイニングしてしまった場合にはそのブロック報酬のイーサリアムは無効なイーサリアムとなるため、正しいチェーンをマイニングするインセンティブがあります。演算するのに電気代は常に必要であり、例えリグの初期コストを回収したとしても演算リソースを無効なチェーンに割くインセンティブは殆ど無いといえます。
図1.Nothing at Stake問題
対してPoSはブロック生成に必要なのはETHであり、大量のETHを所有する悪意のある攻撃者は演算リソースを割く必要がなく攻撃が可能であるためこの問題を解決する必要があります。Casperでは既存のPoSの問題を解決するため
「Validatorがルールに違反した場合、保有するETHをペナルティとし没収するつまり
ETHマイニング報酬 < 攻撃時の損失ETH
とすることでより強いセキュリティインセンティブを生む」
とホワイトペーパーでは記載しており、このNothing at Stake問題を解決でき、PoWよりも安全であるとしています。
3.Casperのテストネットアルファ版リリース
イーサリアムにはスマートコントラクトを実行し、実利用を行うメインネットワーク、テストを行うためロプステン(Ropsten)、コヴァン(Kovan)、リンクビー(Rinkeby)という”テストネット”が存在します。
ハードフォークを行いアルゴリズムを変更した際、テストを行なわずに実装してしまうと予期せぬエラーやバグ、脆弱性により数百億円の損害を出したり、プロトコルの凍結を引き起こす可能性があります。そのためテストネットで十分にテストし、安全に実装を行うためにもテストネットは開発を行うためにとても重要な役割を果たします。また、イーサリアムをベースに開発を行う際、メインネットでテストを行うとコントラクトのデプロイ費用などで大量のETHを消費することとなり、十分なテストを行うことができないため、テストネットコインを使用することにより安価にテストを行うことができます。つまりCasperのテストネットがリリースされたということはPoSへの移行準備の大きな第一歩であるということです。
3-1.アルファCasper FFGテストネットの概要
Casperには全く別のアプローチを行ったイーサリアムの開発者Vitalik Buterin氏のCasper The Friendly Finality Fadget通称FFGと、Vlad Zamfir氏のCasper Correct by Construction通称CBCという2つのCasperが存在します。今回のこのテストネットのコンセンサスアルゴリズムはVitalik氏のFFGとなっており、約3年という開発の歳月をかけて初となるValidatorのテスト、送金テストが可能となりました。リリリースされた詳細によるとリリースされたのはα版であり、
「メインネットへの実装には更にいくつかのステップが必要となる」
と述べています。
またα版であるため、既存のロプステンのようなイーサリアムクライアントのGethとParityによって運用されているテストネットと同様のパフォーマンスはまだないとしています。
3-2.Vaidatorのテスト
CasperのValidatorは既存のイーサリアムマイニングとは全く違い、十分なテストネットのETHを保有する必要があります。テストネットではCPUマイニングが未だに有効であり、多くのリソースを割かなくてもマイニングが可能ですが、ロプステンにある様なFaucet(無料でテストネットコインが貰える)は現在ありません。Faucetは近いうちに実装されますが上記の様に完全なα版となっています
4.Casperの結論と考察
本項ではCasperのプロトコルには深く触れず、PoWとPoSの概要について説明を行いました。イーサリアムは今後PoSに移行するに当り、現在のブロック生成時間の速さ(約15秒)と電気代に起因するマイナーの売り圧ではなくValidatorがブロック生成報酬を得るためにイーサリアムの現物を保持するインセンティブが高くなり送金需要による高騰と相まって価格を維持、高騰の潜在的な原因となるでしょう。
4-1.イーサリアムのアルゴリズム移行ロードマップ
イーサリアムがPoWからPoSへ移行するためのプランは下記の様になっています
1.Ethash
(現在のイーサリアムPoW)
2.PoW上に展開するPoS
(PoWでブロックをマイニング後にPoSでファイナライズ)
3.PoSとPoWのハイブリッド
(マイニング報酬を減少しValidatorの報酬を増やす)
↓
4.Casper
また10月に行われたコアデベロッパーミーティングではメトロポリスPt.2となるコンスタンティノープルでCasperをテスト実装し試す可能性を示唆しています。
速報:イーサリアム開発者のVitallik氏はCasper(PoSとビザンチンフォールトトレランスとのハイブリッド)をコンスタンティノープル(メトロポリス2回目のハードフォーク)で実装を試す可能性を示唆 #イーサリアム #Ethereum #仮想通貨 $ETH #ブロックチェーン https://t.co/nlXTAlgZbY
— 墨汁うまい(Not giving away ETH) (@bokujyuumai) October 28, 2017
4-2.イーサリアムがCasperを実装した際の影響
上記で説明したビザンチン将軍問題を解決できるとされるPoWにも仮想通貨の歴史上ネットワーク攻撃を受けており、完全なBFTを持つとはいえないことがわかります。
CasperがNothing at Stake問題を解決し、世界で初となるセキュリティの高いPoSを実現することにより、PoWの必要とする大量の電気代問題を解決することにより、イーサリアム以外のプロジェクトにはなし得ないワールドコンピュータを完成させることができるでしょう。またVitalik氏の「セキュリティが通貨に価値を生む」という考えを証明、多くのアルトコインプロジェクトにPoSの可用性と信性を示しブロックチェーン業界に衝撃を与えるでしょう。
イーサリアムの目指しているワールドコンピュータが可能とする既存のインターネットセキュリティ問題解決については下記記事を参照してください。
イーサリアムの購入は手数料の安いbitFlyerがオススメです
スポンサーリンク
ビットコインやイーサリアムその他仮想通貨の情報はツイッター上で速報を出しています。
Follow @bokujyuumai Tweet
仮想通貨ランキング Tweets by bokujyuumai