【コンセンサスアルゴリズム・マイニング】初心者にもわかりやすく解説

【コンセンサスアルゴリズム・マイニング】初心者にもわかりやすく解説

あなたは、以下のような会話についていけるだろうか?

コンセンサスアルゴリズムが・・・

ビットコインのマイニングが・・・



この記事を読み終わったあとにはきっと、
上記のような会話の内容を、理解できるようになっているだろう!

まずは図で、全体像を把握しておこう。



コンセンサスアルゴリズム・マイニングというのはどちらも、
ある仮想通貨の、

取引を記録するまでのあいだにおこなわれている処理

について述べた用語だ。

今はそんなぼんやりとした理解で問題ない。

コインマン

では、殺意がわく仮想通貨用語について、
やさしく解説していくぞ!

お品書き

コンセンサスアルゴリズムをブッ倒す!

コンセンサスは「合意」という意味で、
アルゴリズムは「方法・仕組み」という意味。

つまり、“コンセンサスアルゴリズム”とは、

合意の方法(仕組み)

という意味だ。

ハッキリ言って、まったく理解不能だろう。

だが、順を追って解説していくので安心してほしい。

一旦、コンセンサスアルゴリズムという言葉も忘れてもらってかまわない。

仮想通貨(ビットコイン)の取引記録は、
世界中にいる有志のパソコン(1万台超)の中に、
おなじ記録が保存される仕組みだ。

いくつものパソコンに分散しておなじ取引記録を保存するので、これを「分散型台帳」と呼ぶ。



そして、取引の不正を排除するために、

その取引は、正しい取引だ

と、世界中のパソコンユーザーが合意する必要がある。

では、どういう方法(仕組み)で合意を取るのか?

そこで登場するのが、

コンセンサスアルゴリズム(合意の方法)

という用語である。

つまり、コンセンサスアルゴリズムというのは、

仮想通貨取引の合意方法

のことであり、「不正防止の仕組み」としても機能する。

仮想通貨取引の合意方法の違い(代表的な3つ)

仮想通貨取引を合意する方法(コンセンサスアルゴリズム)は、
ひとつじゃない。

2022年5月時点で主流なのは、以下の3つ。

  1. プルーフオブワーク(PoW)
  2. プルーフオブステーク(PoS)
  3. プルーフオブコンセンサス(PoC)



この3つ以外にも、仮想通貨ごとにいろいろな合意方法が考えられているが、
ベースとなっているのは❶❷だ。

この代表的な3つのコンセンサスアルゴリズムについて、
それぞれの仕組みを知って行こう。

❶プルーフオブワーク(PoW)の仕組み

PoWを採用している通貨
  • ビットコイン
  • ビットコインゴールド
  • ビットコインキャッシュ
  • ライトコイン
  • イーサリアム
  • イーサリアムクラシック
  • モナコイン

計算(ワーク)によって、その仮想通貨取引を正しいと証明する(プルーフ)

という仕組みから、“プルーフオブワーク”と呼ばれる。

まずはどういう計算をしているのかがわからないと理解できないので、
計算の方法について解説する。

コインマン

工学系の知識がなくても理解できるので安心してくれ!



仮想通貨の取引は、たとえば、

AさんからBさんに、1ビットコイン送った

という文字列(英数字)を暗号化したものが記録される。

その“暗号化”をするときに、「高性能コンピュータによる計算」が必要となる。

では、いったいどういう計算がおこなわれているのか?

これを説明するまえに、暗号化の形式について触れておこう。

仮想通貨(ビットコインの場合)の暗号化にもちいられているのは、
「SHA-256」とよばれる暗号化形式。

アメリカ国家安全保障局(NSA)によって考案された暗号化技術だ。

この暗号化形式は、

どんな長さの文字列を暗号化しても、きっかり256ビット(64文字)の文字列に変換される

というもの。

たとえばさきほどの、
“AさんからBさんに、1ビットコイン送った”という文字列を暗号化すると、

999ab45cb81637ba9b4c324d5e1e69b0e1239fbdd595cf13d8628c72dddf4046

という不規則な64文字の文字列に変換される。

この、“ある文字列が、不規則な文字列に変換される仕組み”を、

ハッシュ関数(ハッシュ化)

と呼ぶ。

[SHA-256] も、ハッシュ関数を利用してつくられた暗号化形式だ。

そのハッシュ関数をつかって、仮想通貨取引は暗号化されている。

おなじ文字列を [SHA-256] でハッシュ化すると、
ハッシュ化された文字列は、毎回おなじ64文字の文字列になる。

しかし、ハッシュ化する前の文字列を1文字でも変えてしまうと、
まったく違う64文字の文字列に変換される。

たとえば、“AさんからBさんに、1ビットコイン送った”を、
“AさんからBさんに、1ビットコイン送ったと「。(句読点)」をつけただけでも、

6591b6aa155b3c99724b378698acb3a4de7472752717647410b82f2cc51440cf

となる、

つまり、

文字列の改ざんが不可能

ということだ。

  • 「Aさん」を「Cさん」に置き換えたり
  • 「1ビットコイン」を「100ビットコイン」に置き換えたり

することはできない。

しかも、ハッシュ化された64文字の文字列から、ハッシュ化前の文字列を特定するのは、
今地球上にあるコンピュータの性能では実質不可能。(不可逆的)

「量子コンピュータ」と呼ばれる、現在の1億倍処理速度の速いコンピュータの登場によって、
この暗号化は破られるとされている。

量子コンピュータの実用は早ければ数年後とも、まだまだ先とも言われる。

ただ、2045年にはシンギュラリティ(人間の知能をAIが超える)が起こるとの予想があるので、
遅くとも、そのときまでには実用化されるとおもわれる。

そういう背景もあって、量子耐性の開発に積極的な仮想通貨も人気だ。
(エイダコイン、クアンタムレジスタントレジャー、アイオータ、シールドなど)

以上の話は本題から逃れるし、先の話ではあるが、
仮想通貨投資に必要な知識ではあるのでご紹介した。



これらの特性が、不正を防止し、安全に取引するのに適しているとして、
仮想通貨取引にハッシュ関数が採用された。

ビットコインの場合、
約2000件分の取引の文字列をひと塊(1ブロック)としてハッシュ化される。

そのハッシュ化された塊(ブロック)が、鎖のように一直線につながっていくので、

ブロックチェーン(技術)

と呼ばれているのだ。

ブロックチェーンのイメージ



ハッシュ関数の特性上、すでに存在する記録を書き換えるのは不可能。
(1文字でも変えれば、別の文字列に変換されるため)

しかし、ブロックチェーンのルールでは、
特定の条件下(たとえば同時に計算の答えを見つけた場合など)でブロックが分岐した場合、

  • チェーンの長いほう(1〜2ブロック)が正しいデータとして認められ、
  • 他方は破棄される



つまり、すでに存在するブロックに対しては不正ができなくても、
不正したブロックを作成しつづけて、チェーンを伸ばすことができれば、
不正がまかりとおってしまうということだ。



じつはハッシュ化自体は、ウェブ上の無料ツールをつかえば一瞬でできる。

そこで、プルーフオブワークでは、
ハッシュ化の際に「ある条件付け」をした。

その条件(ビットコインの場合)とは・・・

  • 1つまえのブロックのハッシュ値(64桁の文字列)
  • 今回の取引のデータの文字列(約2000)+
  • 任意の32桁の数字
    の3つでハッシュ化
  • さらに、ハッシュ化されてできた64文字の先頭の任意の桁数(パソコン計算能力の上下によって調整される)が、「すべて0となる」ような32桁の数字を見つけること

というものだ。

たとえばこんな感じ。
↓  ↓  ↓  ↓  ↓  ↓

00000000000000000000378698acb3a4de7472752717647410b82f2cc51440cf



32桁の数字の総パターン・・・なんと約43億通りある。

しかも、タイムスタンプもあるので、おそらく1秒ごとに文字列が変化する。

つまり、ハッシュ化自体はカンタンな作業だが、答えを見つけるまでには、
何千京(けい:兆の上の単位)回、何垓(がい:京の上の単位)回もの計算をしなければならない!

プルーフオブワーク(計算・計算量による証明)と呼ばれるゆえんがここにある。

数字を見るかぎり、この計算条件がかなりきびしく、
そんじょそこらのパソコン性能では、まず実行不可能な処理数であることがわかるだろう。

この計算の答えは、
それ専用に開発されたコンピュータを何百台も連結して出し得る計算能力で、
平均10分で見つかるように難易度が調整されている。

先頭の「0」の個数を変更することで、2週間に1度、難易度調整がされている。

ちなみにビットコインでは、2020年以降、
「毎秒1垓回以上」もの計算が必要な難易度なのだそう。
(毎秒10兆回の計算能力を持つコンピュータでも1000台必要)



この条件なら、不正したブロックを作りつづけ、チェーンを先に伸ばすのは、
容易ではないことが理解できるだろう。

ただし不可能ではないことが、プルーフオブワークが抱える問題点でもある
→別章で解説



で、この32桁の数字を見つける計算のことを、

マイニング

と呼んでいる。

ここまでの流れを理解して、はじめてマイニングという言葉が理解できよう。

いきなりマイニングと言われても殺意がわくだけだ。

マイニング?採掘?なんじゃそりゃ?

とはもうならないだろう。

マイニングとは、「採掘」という意味だ。

でもなぜ、採掘という意味の言葉がつかわれているのか?

いまいちピンと来ないのではないだろうか。

“マイニング”と名づけられた理由は、プルーフオブワークでは、

  • マイナーたちが一斉に計算を開始し、
  • イチバンさいしょに答え(32桁の数字)を見つけたマイナーに、
  • 報酬が与えられるプログラムとなっている

からである。

ビットコインの場合、マイニングに成功したときの報酬は、
2022年5月現在で、6.25BTC!

2022年5月現在、1BTC=約500万円前後で推移しているので・・・

6.25BTC×500万円=3125万円

もの報酬がもらえるということだ!

まさに金塊を掘り当てたかのよう!

ということで、“マイニング(採掘)”と呼ばれている。

なお、見つかった32桁の数字は、見つけられなかった人たちによって確認・検証され、
その数字が「正しい」と合意(コンセンサス)されれば、ブロックチェーン上に記録される。
(合意されなかった記録、たとえば不正が疑わしい記録は破棄される)



そしてマイニングする人たちのことを、「マイナー(採掘者)」と呼んでいる。

・・・まぁつまりは、「高性能コンピュータを何百台も有している経営者」という認識で問題ない。

報酬がバカ高いようにおもえても、
マイニングを始めるための設備投資で数億円かかると言われているし、
くわえてマイニングの際に必要な電気代もバカにならない。

マイニングにつかわれる年間電力消費量は、Googleの7倍以上らしい。

そしてこれは、ビットコインだけで、だ。

だからこれだけの報酬がありつつも、
採算が合わずに撤退するマイナーもたくさんいる。

このようにマイニングは見返りばかりではないが、

報酬目当てでマイニングをする人(マイナー)
が世界中にいるからこそ
おなじ取引記録を
世界中のパソコンで保存しておけて
安全に仮想通貨の取引ができる

というわけだ。

この不正を防止する“プルーフオブワーク”という画期的な仕組みを、
世界で初めて実現したのがビットコインであり、
だからこそ今日まで注目されつづけている。

ここまでで、プルーフオブワークの仕組みの説明がひととおり終わった。

  • コンセンサスアルゴリズム
  • (コンセンサスアルゴリズムのなかのひとつ)プルーフオブワーク
  • マイニング

別々に理解するのは容易ではないが、3つセットなら理解しやすいはずだ。

(理解できなかったとしたら、それはあなたのせいではなく、
ぼくの説明がまだまだなだけだ)

ビットコイン(と、そのコンセンサスアルゴリズムであるプルーフオブワーク)は、
画期的な仕組みであることを説明した。

だがそれらは・・・

特にプルーフオブワークは、完璧ではなかった。

そりゃ世界初の仮想通貨なのだから、問題を抱えていてもおかしくない。

2009年の誕生から早13年。

画期的だったプルーフオブワークの限界も見えてきた。

別のコンセンサスアルゴリズムの解説に入るまえに、
プルーフオブワークが抱える問題について、明らかにしておこう。

プルーフオブワークが抱える問題点3つ

問題点は以下の3つだ。

  • マイニングにかかる電力消費が膨大
  • 決済が遅い
  • 51%攻撃を受ける可能性がある

マイニングにかかる電力消費が膨大

ひとつ目の問題点は、すでに述べたとおりだ。

かのモンスターIT企業、Googleの7倍の年間電力消費量



エアコンなどの家電製品は省エネ化が購入者の関心だが、
マイニングマシンに関しては、省エネより電力を消費しまくって計算能力を上げるほうが、
とうぜん購入者(マイナー)はよろこぶだろう。

電力消費しまくりの計算マシンが日々開発され、ビットコインの取引量も増えるとなれば、
電力消費の増加からは逃れられない。

「持続可能(サステーナブル)な社会の実現を」と声高に叫ばれるなか、
特に欧州で、プルーフオブワークのマイニングにかかる電力消費が問題視されている。

決済が遅い

マイニングについて理解が深まった今なら、この問題について理解するのはむずかしくない。

ビットコインのマイニング (32桁の数字を見つける計算)では、
“答えを見つけるのに10分かかる難易度”に設定されていると説明した。

この10分がそのまま、

ビットコインの決済承認までにかかる時間

となっている。

全取引が10分ならまだ良かったかもしれない。

しかし、ビットコインの場合、
1ブロックにつき、約2000件分の取引しか記録できない。

つまり、2000件を超えた分の取引は、つぎのブロックに持ち越される。

なので、取引が集中すれば、1日〜数日待たされることもある。

これは仮定の話ではなく、現実に起きていることだ。

クレジットカードが数秒で数千件処理しているのを考えると、
かなり低性能と言わざるを得ない。

・・・が、取引速度を上げようと、マイニングの難易度を下げれば、
それはそのまま、不正の難易度を下げることにも直結してしまう。

だからこそこの問題は、ビットコインが誕生してから13年もそのままなのである。

「一度に処理できる取引量が少ない」と、
それが原因となり取引が遅くなるので、この問題は、

スケーラビリティ(取引量の)問題

と呼ばれる。

よく聞く言葉なので、あわせておぼえておこう。

そのいっぽうで、ビットコインに不正は一度も起きておらず、
不正に対する堅牢性はたしかなものである。

51%攻撃を受ける可能性がある

“不正に対する堅牢性はたしかなもの”と言ったばかりだが、
不正の懸念がないわけではない。

それが、

51%攻撃

という不正の手法だ。

さきほど、

  • 不正なブロックを生成しつづけ、チェーンを先に伸ばしたら、それが正しい記録として認められる
  • しかしチェーンを先に伸ばすのは、膨大な計算が必要なので容易ではない

と述べた。

しかしこれは、マイナーたちの計算能力が、
ある程度分散されている場合の話だ。

通常であれば、不正なブロックを作成したとしても、
チェーンを先に伸ばすことが容易ではないので、
間もなくそのチェーンは不正だとされ廃棄される。

しかし、パソコンの計算能力が高くなればなるほど、計算は早く完了する。

なので、複数のマイナーが結託するなどして、
マイニング市場の過半数を占める計算力を持てば、
不正なチェーンを先に伸ばすことができてしまう。

以上のように、過半数の計算力をもってすれば不正が可能なことから、
“51%攻撃”と呼ばれる。

プルーフオブワークというコンセンサスアルゴリズムのなかで、
一番懸念されている問題点だ。

とはいえ・・・

  • ビットコイン:5000万円
  • イーサリアム:4000万円



これは、51%攻撃をするのにかかる、1時間あたりの費用だそうだ。(2020年時点)

さすがにこの費用では割に合わないのか、
すでに述べたとおり、ビットコインでの不正は一度も起きていない。

だが、時価総額がまだ低かった頃のイーサリアムや、
イーサリアムクラシック、モナコインなどは、
過去に51%攻撃を受けている経緯がある。

攻撃にかかる費用が少なければ、不正をおこなわんとするものはあらわれてしまう。

ビットコインも無関係ではない。

ビットコインでは、マイニングの報酬が、
約4年ごとに半減するようにプログラムされている。

2022年現在の報酬は、6.25BTCで、
次回は2024年中に3.125BTCに半減する予定だ。

これは、発行枚数の増加を抑え、コインの価値が下がらないようにするための措置だが、
報酬の半減はそのまま、マイナーたちの収入減を意味する。

しかし報酬は半減しても、ビットコインの価値は高まっている。

なので、実質的な報酬は増えているのだが、
マイニングにかかる設備投資費や電気代は年々増え続けており、
採算が合わなくなるケースが増えている。

そうやってマイナーたちの人数が減れば、
必然的に一部のマイナーに計算能力が集中していく。

つまり、より不正をしやすい環境へとなっていく・・・

サイアク、ビットコインのブロックチェーンを維持できないおそれすらある。

以上の3つが、プルーフオブワークが抱える問題点たちだ。

❷プルーフオブステーク(PoS)の仕組み

PoS(またはそれに類する仕組み)を採用している通貨
  • エイダコイン
  • イーサリアム(2022年に移行予定)
  • リスク
  • クアンタム



今述べた、プルーフオブワークの問題点を解決するべく考案されたのが、
「プルーフオブステーク(PoS)」というコンセンサスアルゴリズムだ。

取引データをハッシュ化(暗号化)して、ブロックを伸ばしていく

という基本構造はプルーフオブワークといっしょだが、
プルーフオブワークにあったような、答えを見つけるための計算・競争はそこにはない。

プルーフオブステークは、

仮想通貨の保有量や保有期間

に応じて、マイニングする人がランダムに決定される仕組みだからだ。

(保有量・期間が多い・長いほど割り当てが優遇される)

保有量(ステーク)によって、その仮想通貨取引を正しいと証明する(プルーフ)

から、“プルーフオブステーク”と呼ばれる。

なぜプルーフオブステークが、プルーフオブワークの問題を解決し得るのか?

以下の3点による。

  1. 1ブロックにつき1人しかマイニングしないから、消費電力が圧倒的に少ない
  2. 不正をして通貨の価値を下げるメリットがない
  3. 不正をする心配がなく、マイニングの計算の難易度を下げられるので、取引承認を早くできる



❶は説明しなくても理解できるだろう。

ちなみにプルーフオブステークの消費電力は、プルーフオブワークの何千分の1だそうだ。

❷❸は少し補足していく。

プルーフオブステークでは、保有量が多ければ多いほど、
保有期間が長ければ長いほど、マイニングの権利を得やすくなり、
富を増大させていくことができる。

逆説的に言えば、富の集中が問題視されているのだが・・・
平等な世のなかなどないわな。



いっぽうで、不正をすると通貨の価値が下がり、
保有量の多い人ほど損をすることになる。

このことから、そもそも不正をするメリットがない。

正当にマイニングして報酬をもらい、
通貨の価値も上がって行ったほうが、より儲かるからだ。

不正の心配がなくなれば、ビットコインのように、先頭に0が複数個並ぶまで、
1秒間に1垓回以上計算しつづける・・・

なんてことはしなくて良くなる。

ってことは、単にハッシュ化すればそれで終わりだ。

つまり、

  • 取引承認が圧倒的に早くなる
  • よりたくさんの取引を同時に処理できる

ようになる。

以上の理由により、プルーフオブステークは、
プルーフオブワークを代替するコンセンサスアルゴリズムとして期待されている。

ちなみにイーサリアム(イーサリアムクラシック)も、
2022年中にプルーフオブステークに移行する予定だ。

❸プルーフオブコンセンサス(PoC)の仕組み

PoC(またはそれに類する仕組み)を採用している通貨
  • リップル
  • ステラルーメン



さいごに主流アルゴリズムの3つ目、
「プルーフオブコンセンサス」について解説する。

このアルゴリズムはほかの2つと違って、取引を承認しても報酬はない。

つまり、

マイニングという仕組み自体がない



バリデーター(取引の検証者)と呼ばれる、信頼できる組織や機関をあらかじめ決めておき、
そのバリデーターたちの8割以上が取引を承認すれば、取引が記録されていく仕組みとなっている。

プルーフオブステークとおなじく、プルーフオブワークのような計算を必要としないので、
処理が早く、同時に処理できる取引量が多いのが特徴だ。

合意(コンセンサス)によって、その仮想通貨取引を正しいと証明する(プルーフ)

から、“プルーフオブコンセンサス”と呼ばれる。

送金(送金速度)に特化したコインに用いられているアルゴリズムだ。

マイニング・ブロックチェーンも同時にブッ倒せた!

コンセンサスアルゴリズムの解説から入ったが・・・

おや、どうやらその過程で、

  • マイニング
  • ブロックチェーン

という用語も同時にブッ倒せたようだ。

もう、これらの用語を聞いても、
蕁麻疹は出なくなったのではないだろうか。

ぼくの説明が下手で、もし蕁麻疹が出てしまったのなら申し訳ない。

仮想ずーかま

その場合はお近くの病院を受診されたし!

仮想通貨は単なる投機(ギャンブル)商品ではない



その技術は、確実にぼくたちの生活に入り込んで来るだろう。

そんな5年後、10年後を楽しみに、
そのとき主流となっているであろうコインを見つけ、
今のうちに投資して、10年後に笑おう!

コインマン

ホイジャーマタ!

言い逃れ事項

本記事中の意見・見解は、著者の個人的な見解です。

仮想通貨への投資、 および資産の管理にはリスクが伴います。

投資の判断をするまえに、 あなたが興味を持った銘柄に対して、
あなた自身で調査することを忘れないでください。

以上を忘れず、 未来にワクワクして行こう! ☆彡

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

仮想ずーかまのアバター 仮想ずーかま 仮想のずーかま

仮想通貨投資家|未来を信じる3銘柄と心中(計200万円分投資済み)|短期で50万円も運用予定|乗り遅れても大丈夫!仮想通貨はまだまだこれから!|本業:ブロガー(希望)|実際は社畜が本業|心とお金の余裕を手に入れるための仮想通貨情報(考え方・投資方法・オススメ銘柄)を、仮想通貨が実現する未来像といっしょにお届け!|さぁ、みんなで未来にワクワクしようじゃないか☆

コメント

コメントする

お品書き