POW(プルーフ・オブ・ワーク)ってなに?仕組みをかんたん解説。

マルコ
こんにちは、マルコです。今日は、仮想通貨投資をやっていると必ず聞く単語、「POW(プルーフ・オブ・ワーク)」について説明します。

コンセンサス・アルゴリズムとは?

POW(プルーフ・オブ・ワーク)は、「コンセンサス・アルゴリズム」のひとつの形です。

コンセンサス・アルゴリズムという言葉だけきくと、なにがなんだかわからない方がほとんどですよね٩( ᐛ )و

コンセンサス・アルゴリズムは、日本語に訳すと

合意(コンセンサス)」+「手順(アルゴリズム)」つまり、合意を得るための手順という意味です。

なぜ合意を得る必要があるのか

「合意を得るための手順」と言われても、こう思う方もいると思います。

マルコ
そもそも合意ってなに?なんで合意を得なきゃいけないの?

その答えは、ブロックチェーンそのもののシステムと大きく関わっています。

ブロックチェーンは、「中央の管理者」がいない、非中央集権的なシステムです。これをP2Pシステムとも言います。これはブロックチェーンの一番大きな特徴で、聞いたことがある方も多いと思います。

例えばいまは、銀行という「管理者」が、「AさんがBさんに〇〇円送金した」というトランザクション(取引)を承認したり、不正な取引があれば無効にしたりすることで、システムの管理をしています。

しかし、ブロックチェーンでは、この中央の管理者がいないので、みんなでトランザクションを管理する必要があります。

つまり、それぞれのトランザクションを「承認」するのか、もしくは「不正な取引として無効にする」のかをみんなで決めないといけないということですね。

そして、これを誰が決めるのか、つまりその決定の「責任者」を振り分ける方式を「コンセンサス・アルゴリズム」というんです。


POW(プルーフ・オブ・ワーク)とは?

POW(プルーフ・オブ・ワーク)はこの「コンセンサス・アルゴリズム」の一形態です。

POWでは、ワークという言葉の通り、「仕事量」に基づいて、振り分けを行います。

つまり、仕事量が大きければ大きいほど、トランザクションを承認するか無効にするかの発言権が強くなるのです。

ここまで聞いて、こう思う人もいるかもしれません。

マルコ
コンセンサス・アルゴリズムはわかったけど「仕事」って抽象すぎてよくわかんない(@ ̄ρ ̄@)

ものすごく簡単にいうと、POWにおける「仕事」とは、コンピューターで計算を行って、問題を解くことです。

ビットコインの例を使って順番に説明していきますね。

ビットコインのブロックチェーンでは、10分おきに世界中で起こったトランザクション(取引)を記録するブロックが作成されています。

このブロックの作成にあたって、P2Pシステムを構成するそれぞれのノード(コンピュター)は、トランザクションを承認するのか、それとも不正なものとして無効にするのかを検証します。

このとき、ノードの全員が同じデータを受けて同じ検証をするので、不正を行うことは事実上不可能になります。

そして、全てのノードが「このトランザクジョンの情報は正しい」と同意をすると、晴れてその10分間分の取引がブロックに記録されます。

また、1つのブロックには、取引のほかに「1つ前のブロックのハッシュ」と「ナンス」と呼ばれる数字が記録されます。

これらのデータを元に、そのブロックの「ハッシュ値」というものをを求めないといけないのですが、厄介なことに、このハッシュ値は決められた条件を満たす必要があるのです。

つまり、P2Pシステムを構成するノードは、ブロックの作成を完了させるために「ハッシュ値がその条件を満たすようなナンス」を計算して求めなければいけません。

しかも、この計算はとても難しいので、世界中のコンピュータがその計算にチャレンジします。

そして、最初に正しいナンスを見つけることができた人が、そのブロックの「責任者」になって、取引が正しいことを証明するのです

その代わりに、その人は報酬としてビットコインを受け取ることができます。

この計算をしてその報酬としてビットコインを受け取る作業は、「マイニング」とも呼ばれますね。

POWのメリット

改ざんのリスクがない・ビザンチン将軍問題への解答

「ビザンチン将軍問題」とは、知らないもの同士が集まって共同で作業した時に、裏切り者が出ないようにするのはどうしたらいいのか?という問題です。この問題は、長らくコンピュータサイエンスの分野では答えがないと考えられてきました。

しかし、ビットコインのブロックチェーン技術とPOWという仕組みが合わさることで、この問題を解決することができたのではないかと言われています(反対派もいます)。

まずこれまで説明してきたように、ブロックチェーンはみんなで管理を行っているので、誰かが不正を行ったとしても過半数のノードを味方につけない限り、取引がブロックチェーンに記録されることはありません。

また、POWのアルゴリズム下では、そもそも改ざんを行うメリットがありません

これはどういうことかと言うと、改ざんがめちゃめちゃ難しいので、コストがかなりかかってしまうのです。

例えばZさんと言う悪い人が、「AさんがBさんに〇〇ビットコイン送金する」と言う取引の情報を「AさんがZさんに〇〇ビットコイン送金する」と書き換えて、ビットコインを盗もうとしているとします。

しかし、ビットコインのブロックチェーンでは、ブロックの情報が少しでも変わると、そこから算出される「ハッシュ値」も変わってきます。

そうなると、当然「ナンス」の数値も変わるので、もう一度あの難しい計算をやり直さなければならなくなるわけです。

さらに、先ほど説明したように、それぞれのブロックには「前のブロックのハッシュ」が含まれているので、改ざんしたブロックのハッシュ値が変わると、次のブロックに記録するハッシュ値も変わってしまいます。

つまり、次のブロックでも導き出されるナンスの値が変わってきてしまうので、それも計算しないといけなくなります。さらに次のブロックも…というように、1つのブロックの情報が変わると、その後のブロックの情報も変わっていってしまうんですね。

つまり、完全に情報の改ざんを行うためには、改ざんしたいブロックから最新のブロックまで全てのブロックを変えないといけなくなるのです。

1つのブロックだけでも世界中のノードがしのぎを削ってやっとなのに、これを全部やると言うのはまず不可能です。

もし仮にできたとしても、成功するにはあり得ないほどコストがかかってしまいます。

つまり、改ざんが成功した場合に得られる利益よりも改ざんをすることでかかる手間の方が大きくなってしまうんです。

こう考えると、理論上は改ざんは起こり得ないということになりますよね。


POWのデメリット

電気代がかかる

POWはそれぞれのノードが計算を行ってナンスを求め、報酬を得る仕組みであることはこれまで説明してきました。

しかし、この計算はかなりの電力を消費してしまうので、電気代がかかり過ぎてしまい、各家庭でマイニングをするには割りが合いません(°_°)

そのため現在行われているマイニングのかなりの量が、電気料金の安い中国の地方で少数のマイナーが独占している状態なのです( ゚д゚)

「51%攻撃」問題

先ほども、新しいブロックが作成される場合には、過半数のノードの承認が必要なので改ざんは難しいと説明しました。

しかしこれは裏を返せば、過半数のノードを特定の集団が握ってしまうと、不正なブロックが作られ続けていってしまうということですよね。

もし不正に作られたブロックの長さがもとの正当なブロックより長くなってしまえば、正当なブロックは不要になり捨てられてしまうので、仮想通貨のシステムにダメージが与えられてしまいます。

このように、過半数(51%)のノードを特定の集団に握られると危ない、と言うのが「51%攻撃」問題です。

現在は、世界中のノードの数が多いので、ブロックチェーン攻撃される可能性は少ないですが、「可能性」として危険というわけなのです。

おわりに

POW(プルーフ・オブ・ワーク)は、ビットコインを支えるアルゴリズムということもあり、仮想通貨を理解する上で非常に大切な言葉です。

また、POWの問題点を補うために考えられたPOS(プルーフ・オブ・ステーク)など、他にもコンセンサス・アルゴリズムの形はあります。

それぞれのコンセンサス・アルゴリズムの特徴を理解することでブロックチェーンの更なる理解に役立ちますし、特定の通貨に投資する上でも大事なので、これからも注目してみてください( ・∇・)。

POS(プルーフ・オブ・ステーク)ってなに?仕組み・メリット/デメリットをかんたん解説。

2018.02.13
The following two tabs change content below.

マルコ

アメリカ在住の大学生。 2016年の夏から仮想通貨投資をしています。学生から投資をすることの大切さを実感し、投資をしたことがない人でもわかるようなブログを目指しています。海外記事の翻訳もやるので気軽にご連絡ください。
スポンサードリンク