
仮想通貨でマイニングというと、報酬がもらえることと思っている人がいます。
それは決して間違いではありませんが、なぜ報酬がもらえるのか?
その理由を説明できる人は少ないのではないでしょうか。
今回はそんな、今さら聞けない『マイニング』の仕組みと題して、その特徴を図解説していきます。
実際、ブロックチェーンをたらしめているのは、マイニングというシステム(仕組み)があるからです。
そこのところを色々とお伝えしていきますので、どうか最後までじっくりとお読みください。
マイニング(採掘)とは?
マイニングの説明に入る前に、改めて仮想通貨のことを考えたいと思います。
そもそも、仮想通貨というのはP2P(Peer to Peer)ネットワーク上に記録されたデータに過ぎません。
ただ単なるデータがなぜ通貨と同じ価値を持つのか、不思議に思ったことはありませんか?
- 「いや、単にそういうものだと聞いているし」
- 「みんながやっているからやってるだけで、詳しくは知らない」
- 「そんなこと考えたこともなかった」
とおっしゃる方が多いかもしれません。
ビットコインの最初の取引
ご存知の方も多いと思いますが、Bitcoinが最初に取引されたのは、Bitcoin10,000枚とピザ2枚でした。
当時Bitcoinはまだテスト段階で、インターネット上で使えるデジタルキャッシュとして価値あるものを目指してはいましたが、何かと交換したり、売買するということはありませんでした。
その中で起こった、Bitcoinとピザの交換。
プロジェクトに参加していたエンジニアたちはこの出来事をきっかけに、Bitcoinに価値を持たせる事を思い立ち、1BTC=0.1セント(≒0.1円)ほどの価値で取引をスタートさせました。
そしてサトシナカモト氏がそのホワイトペーパーに書いたように、取引記録をブロックチェーンに記録する「マイニング」を始めたのです。
このピザ事件以前は、あくまでもテスト的な取り組みでした。
それは実際に取引が行われていなかったからで、このピザ事件以降、Bitcoinに価値が与えられるようになってからは、「マイニング」が多くの人の手で行われるようになったのです。
仮想通貨における「マイニング」とは、取引の承認を取引とは全く無関係の第三者が行うことです。
簡単なイラストを使って説明したいと思います。
先ほどの事例では、ピザ2枚とBTC10,000枚が交換されました。
今はありえないレートですが、この例にそって進めます。
AさんとBさんは上の図のように、Bitcoin10,000枚とピザ2枚を交換しました。
その時のピザの値段は、2枚で1,000円でした。
ですので取引としては、1,000円で10,000BTCを購入したことになります。
こうした取引は、Bitcoinのアドレス(保有権)がAさんからBさんに移ることが承認されて完了します。
その承認を行うのがマイニングです。
マイニングの仕組み
マイニングは以下のイラストの順に行われます。
AさんとBさんの取引は暗号化されたデータになります。
そして他にも行われている取引データと一緒にまとめられます。
そしてそのまとめたデータを1つにまとめて、ブロックを作ります。
このブロックを作る際、暗号化された取引データに間違いやウソがないかを確認します。
この確認作業の中身については、あとで詳細を説明しますので、今は確認作業をすると思っていてください。
そしてこの確認作業を、世界中のマイナー(採掘者)と呼ばれるマイニングをする人たちがやっています。
その中で確認作業が一番早く終わった人が、確認作業が終わったことを全マイナーに知らせます。
そして内容に間違いがないことを、他のマイナーが承認したら、それまでのブロックチェーンに新しいブロックをつなげる権利が与えられるのです。
新しく作ったブロックをつなげることで、マイニングは完了です。
そしてマイニングを完了させた人は、報酬としてビットコインがもらえるのです。
これがマイニングの一連の流れになります。
マイニングとはこのように、取引データをまとめて新たなブロックを生成し、ブロックチェーンにつなげることを言い、その報酬として仮想通貨が手に入るのです。
仮想通貨における「マイニング」とは、取引の承認を取引とは全く無関係の第三者が行うことと先ほどお伝えしましたが、その内容がご理解いただけたのではないでしょうか。
マイニングに必要なハッシュとは
さてここからはマイニングをする時に重用な、ハッシュの話になります。
ハッシュとは、取引データを英数字の羅列に暗号化する技術のことです。
ここでポイントになるのは、ハッシュが暗号化するのは取引のデータのみです。
AさんとBさんが行った取引の例で、AさんはBさんにBitcoinを10,000枚送りました。
上のイラストでは、Bitcoinが描かれています(笑)が、Bitcoinは仮想通貨なので実際には存在しません。
この取引も、暗号化されていて、Bさんが受け取るBitcoinのアドレスをAさんが暗号化して渡しています。
そして、このAさん ⇔ Bさん間の取引に使う暗号は、ハッシュとは異なる別の暗号になります。
ただ、同じように暗号化するということで、状況を理解しづらくしてしまっています。
なのでここでは、取引の暗号化と、ハッシュによる暗号化は違うということだけ覚えてください。
ハッシュはデータ偽造・改ざんを防ぐための暗号技術
ハッシュはデータの偽造・改ざんを防ぐための暗号化技術の一つです。
暗号化するための計算式を「ハッシュ関数」。
暗号化された英数字の羅列を「ハッシュ値」と呼びます。
ハッシュによる暗号化技術の特徴は、不可逆性です。
- 不可逆性とは、元に戻せない。
- 若しくは、元に戻すのに多大な労力を必要とする。
という意味です。
データをハッシュ関数でハッシュ値にかえる場合、元データが同じだと何度計算しても同じ値となります。
でも、データがわずかでも違えば、まったく異なるハッシュ値へと変化します。
これがハッシュの大きな特徴です。
ハッシュ関数を体験してみよう
実際にハッシュ関数を体験することができるサイトがあります。
このサイトのジェネレーターを使って、以下の文字をハッシュ化してみました。
DApps
↓
179d8f415ecc6b6d0dcf38cc9186f9a318832c33b4f2dbd8d9c06c346b153f3c
Dapps
↓
855f41056aa36909528e4bcf53ec880154060b7838cc6c7491318a9dc5c05157
元データのDAppsとDappsには、Aが大文字か小文字かの違いしかありません。
でも出てきたハッシュ値はまるで違うものになっています。
これがハッシュの特徴です。
またデータの大きさに関わらず、算出されるハッシュ値の長さは一定です。
Google
↓
ce770667e5f9b0d8f55367bb79419689d90c48451bb33f079f3a9a72ae132de8
Apple
↓
f223faa96f22916294922b171a2696d868fd1f9129302eb41a45b2a2ea2ebbfd
Facebook
↓
d41f5b4977ee05c6b61b3b5f054784628f5cd1cbe06a82a5484d1e6de6eefe85
先ほどのジェネレーターを使って、少し遊んでみました(笑)
3つの例は文字数が違うのに、ハッシュ値は全て64文字になっています。
このように、ハッシュ値から元データを予測することは非常に難しいのです。
仮に悪意ある第三者(クラッカー)が不正にハッシュ値を入手したとしても、元データに復元したり、データを書き換えることはほぼ不可能です。
ハッシュを使ってどうマイニングしているのか?
マイニングする時に、ハッシュともう一つ重要な要素があります。
それがノンス(nonce)です。
マイニングは取引の整合性をマイナーと呼ばれる人たちが行う承認作業のことだということはすでに説明しました。
そして、新たに追加されるブロックをブロックチェーンに繋いでいく作業でもあります。
ノンスは、マイナーが新しいブロックをブロックチェーンに追加する時に生成する数値のことで、Bitcoinでは32ビットの数値となります。
この数値が、ノンスとも呼ばれていて、暗号通信で用いられる、使い捨てのランダム値のことを指します。
さてこのノンスは、ブロックチェーンをつなぐ際にどんな働きをするのでしょうか?
ハッシュ値の生成には3つの文字列が必要
ブロックチェーンに新しいブロックをつなげるためのハッシュ値の生成には、3つの文字列が必要になります。
まず過去の全てのトランザクション(契約)データがまとめられた、現在最後のブロックのノンスです。
次に、新たにつなげるブロックに含めるトランザクションデータ(取引情報)です。
そしてそこに、自分が設定するノンスを加えます。
この3つの文字列を合わせ、ハッシュ関数にかけてハッシュ化します。
すると計算結果の数字が現れます。
この時、自分が設定するノンスは、32ビットの値なのですが、その組み合わせは42億9496万7296通りあります。
ノンスを変更してハッシュ値を繰り返し出し続けます。
計算結果が、ある値【ターゲット】より小さくなるノンスを見つけたらマイニングは成功です。
成功したノンスはネットワーク全体で共有され、他のマイナーがそのノンスを使って計算して、ある値【ターゲット】より小さくなることを確認してもらいます。
マイナーの過半数からの承認を受けられれば、新しいブロックをつなげることができます。
そして次のブロックのマイニングが始まるのです。
ここまでがマイニングの仕組みであり、そのやり方です。
「マイニング」は、この一連の計算行為が、鉱山で金脈を探し当てるほど困難なことから名付けられました。
ブロックチェーンが改ざん不可能と言われる理由
ブロックチェーンが【改ざん不可能性】と言われる理由は、このハッシュ関数の不可逆性とノンスの継続に基づきます。
例えば、途中のブロックのトランザクションデータ(取引情報)を変更しようしたとします。
ですが、そのブロックのトランザクションデータは、前のブロックのノンスとそのブロックをつなげる時に使ったノンスが合わさってハッシュ化されています。
ですので、トランザクションデータを変更すると、ハッシュ値も変化してしまい、それまでのノンスのままではブロックがつながらなくなるのです。
繋げるために、そのブロックの新しいノンスを見つけて、再度つなぎ直す必要が出てきます。
しかし、たとえその新しいノンスを見つけてつなげたとしても、今度は、その次のブロックから見た最後尾ブロックのノンスが変化してしまうので、また新しいノンスを見つけなければならなくなるのです。
結局、一つのブロックのデータを書き換えるためには、全てのブロックのノンスを再発見して、書き換える必要が生じることになります。
しかもこれを、今も伸び続けているブロックチェーンに対して、そのスピードを上回ってやり続けなければなりません。
これは現実的には、ほぼ不可能なことですし、万が一できたとしても、その労力に対して得られる対価は、微々たるものであり、到底割りに合うものではありません。
犯罪や違法行為は、犯罪者や当事者にとって、割に合うからこそ実行するのであって、割に合わなかったら実行しません。
犯罪を犯しても、100%警察に捕まり、処罰されることがわかっていたら、誰も犯罪など犯したりはしないでしょう。それと同じことです。
これが、ブロックチェーンは改ざん不可能と言われる理由であり、それを起こさないようにさせている仕組みです。
冒頭に「ブロックチェーンをブロックチェーンたらしめているのはマイニングというシステム(仕組み)があるからです」とお伝えしました。
その意味をご理解いただけたとしたら、この記事を書いた甲斐があるというものです。(笑)
マイニングとスケーラビリティ問題
ここまでで、マイニングの仕組みとそのやり方はご理解いただけたと思います。
取引データが収納された新しいブロックを、ブロックチェーンにつなげることで、取引が承認されます。
具体的には、承認と同時に送金などが実行されます。
逆に言えば、承認されなければ送金は行われないことになります。
数値的な補足をすると、ブロックチェーンにつながれているブロックのサイズは1MB。
1ブロックを作る時間は10分と定められています。
ただ、この2つの条件がBitcoinの大きな問題になっているのです。
ビットコインのトランザクションタイム
マイニングによって新しいブロックを作る時間をトランザクションタイムと呼びます。
このトランザクションタイムが、仮想通貨の取引承認の待ち時間になります。
トランザクションタイムはBitcoinが10分、Ethereumなら15秒と定められています。
例えば海外に送金する場合、仮想通貨を使わないと数日かかりますが、仮想通貨を使えばトランザクションタイムの10分で済みます。
これは圧倒的な時間短縮です。
対して何か商品を買って、キャッシュカードではなく仮想通貨で決済しようとした時は、レジでその取引が承認されるトランザクションタイムの10分を待つ必要があります。
これだと相当に不便ですし、現実的ではありません。
つまり一般的な商取引に仮想通貨を使おうと思っても、そのトランザクションタイムの遅さから、不便で使えないのが現状なのです。
トランザクション問題=スケーラビリティ問題
Bitcoinで実際に起こった問題は、このトランザクションタイムの10分よりもさらに長く延びてしまい、取引の完了が大幅に遅れてしまったことです。
Bitcoinはブロックサイズが1MBと決まっているので、1ブロックに収められるデータ量も決まってしまいます。
取引データのサイズは、一つが平均250バイトほどなので、1MB(100万バイト)のブロックに収められる取引データの数は、約4,000件ほどになります。
10分の間に、集まってくる取引データが4,000件未満なら問題はありませんが、4,000件を超えると、処理しきれなくなってデータが溜まってしまいます。
これをトランザクション問題、もしくはスケーラビリティ問題と言います。
ビットコインはスケーラビリティが低い
スケーラビリティとは、システムの規模(スケール)の変化に柔軟に対応できる度合いのことをさします。
Bitcoinを初めとする仮想通貨は、トランザクションタイムやブロックサイズが最初に設定され制限を受けているので、このスケーラビリティが低いと言われているのです。
例に挙げた、取引データが溜まって承認が遅れるということは、Bitcoinの価格が上昇している時に何度も起きました。
数時間待ちは当たり前で、場合によっては1日待たされるという事態も起こったのです。
取引の承認が遅れると、どういう問題が発生するのでしょうか?
何らかの商品を購入して、その代金として仮想通貨で支払った場合を例に挙げてみましょう。
AさんはBさんから商品を購入し、代金として3BTCを払いました。Aさんが3BTC払った時のBTCのレートは、1BTCが40万円でしたので、3BTCで120万円になります。
ところがAさんがBさんに送金したちょうどその時、BTCが値上がりしてトランザクションタイムが大幅に遅れてしまう事態になりました。
結局、Bさんが3BTCを手にした時、BTCのレートは1BTCが50万円に上がっていたのです。
Bさんにとっては、BTCのレートが上がったことによって30万円儲けた形になりますが、Aさんにとっては1BTCが50万円なら、2.4BTC送金すればいいだけだったので、0.6BTC損したことになります。
『商品の代金として3BTC支払う』という契約内容だったのなら、Aさんは損をしたことになりますし、Bさんは得をします。
この例の場合、逆にレートが下がってしまったら、Bさんが損をすることになってしまいます。
つまり、Bitcoinのように価格変動の大きな仮想通貨は、時間が経つとレートが変わってしまい、手にする金額も変わってしまう可能性があるのです。
このように送金が滞ってしまう現象を『送金詰まり』と言うのですが、これは取引をする上で、非常に大きな問題になります。
トランザクション問題の解決法
この問題を解決する方法は、
- 1度にできる処理量を増やすか、
- ブロックを作る時間を短くするか
の二つです。
ブロックサイズを大きくする
処理量を増やすには、ブロックサイズを大きくすることです。
ブロックサイズを大きくすれば、一度に処理できる取引数が増えます。
1度にできる処理量を増やせれば、多くの取引を処理できますので、待たされることは少なくなります。
トランザクションタイムを短くする
もう一つは、ブロックを作る時間、トランザクションタイムを短くすることです。
ブロックを作る時間を短くすれば、承認時間が短くなるので、処理できる数も増えるのです。
ブロックを作る時間を短くするには、マイニングの難易度(ディフィカルティ)を下げて、ブロックを生成する時間の設定を変える必要があります。
マイニングの難易度は、先ほどの章で説明した【ターゲット】の値を変化させることで調整できます。
参加者の増加やPCパワーの進化に合わせて、【ターゲット】の値を変化させることで、マイニング難易度を変化させることができるのです。
そしてブロックの生成時間を短くして、多くの承認を短時間でこなせるようにすれば良いのです。
ビットコインの送金詰まりから生まれたビットコインキャッシュ
事実、Bitcoinが送金詰まりを起こしてしまった時、Bitcoinのブロックチェーンからハードフォークして、ブロックサイズを大きくした仮想通貨、Bitcoin Cashが生まれました。
Bitcoin Cashは、ブロックサイズを8MBにしており、ブロックタイムは、BTCと同じ10分でした。
過去形なのは、このBitcoin Cashは、昨年(2018年11月)に再び、BCH ABCとBCH SVに分裂したからです。
その内容は今回のマイニングとは関係ないので割愛しますが、その時ブロックサイズやブロックタイムが変更になっているようです。
主要コインのブロックサイズ・ブロックタイム・ハッシュアルゴリズム一覧
そこで、主要コインのブロックサイズとブロックタイム、それとハッシュアルゴリズムを一覧にまとめてみました。
データに正確性を持たせるため、CoinGeckoのデータを参考にしたものを表記します。
ブロックサイズは、サイトに表記があるものはそのまま記載します。
記載がないものに関しては、表記無しです。
あくまでも参考数値程度になります。
ブロックタイムとハッシュアルゴリズムは、CoinGeckoに表記されているものを記します。
上記の表にリップル (XRP) が無いことを不思議に思われた方もいらっしゃるでしょう。
そのことに関しては、後半で詳しくお伝え致します。
トランザクションタイムとセキュリティの両立は難しい
送金詰まりを避け、利便性を高めるために、トランザクションタイムを短くすることは大事です。
ただ、トランザクションタイムを短くすることにだけ目を向けて、ブロックサイズを大きくしたり、ブロックタイムを短くしたりするのは、決して正しい選択だとは言えません。
なぜなら、マイニングの目的は、データの改ざんに対する耐性を強め、セキュリティを強固にすることで、通貨としての信頼性を確保することにあるからです。
ブロックサイズを大きくすれば、1度に処理できるデータ量は増えますが、1つのデータに対する確認時間は短くなります。
ブロックタイムを短くした場合でも、それは同じです。
つまりトランザクションタイムとセキュリティはトレードオフであり、両立させることは非常に難しいと言えます。
ビットコインのアップデート「Segwit」とは
そのような中で、BitcoinはSegwit(セグウィット)と呼ばれるアップデートを行っています。
Segwitとは、Segregated(分散した)Witness(証明)の略です。
ブロックに書き込むデータを署名と取引データに分け、署名はオフチェーンと呼ばれる別チェーンに一時保管します。
取引データは、今までと同じようにブロックに収められマイニングされるのを待ちます。
この時、オフチェーンに収められた署名によって、取引の内容はほぼトラストレスに証明されるので、署名がオフチェーンに収められたタイミングで、仮の承認が行われます。
この仮の承認が行われることで、送金の手続きが実行可能となり、取引の内容は後でマイニングされることになります。
取引データは、オフチェーンに一時保存する時に取引内容を確認できますし、非常に短時間で済ませられます。
それにオフチェーンでの一時承認が得られることで、送金が実行できるようになるので、時間短縮にもつながります。
BitcoinではこのSegwitの仕組みを使った、Lightning Network(ライトニングネットワーク)による、Micro Payment(マイクロペイメント:少額(1円以下)決済)の実用テストが、積極的に行われています。
この仕組みを使えば、今のキャッシュカードや銀行の仕組みでは対応できない少額決済や、高額決済にも瞬時に対応できる仕組みができると言われています。
今後もトランザクションタイムとセキュリティの両立が課題
このように、利便性の問題については技術的な対策が立てられます。
わかりやすく言えば、渋滞を避けるためにナビを使って抜け道を見つけるように、混雑を避けることも可能です。
確かにユーザーに対する利便性は重要です。
でも全てが最初から揃っていたわけではありません。
今インターネット上で行われているサービスのほとんどが、最初は非常に使いづらいものから始まり、徐々に進化して今の形となっています。
同じことが仮想通貨にも言えます。
確かに時間はかかりますが、その問題は一過性で、Segwitのような技術革新で解決される可能性もあります。
でもセキュリティで何かあった場合は、それこそ大変なことになります。
取り返しがつかないことが起こってしまうからです。
取引所を襲うクラッキング事件のように、全てが一瞬でなくなることもあり得るのです。
そのため、あまりトランザクションタイムが短いことを前面に押し立てている仮想通貨は、セキュリティの面で信用できないという印象を受けます。
何らかの仕組みがある場合は別ですが、トレードオフの現状でトランザクションタイムの追求はかなり厳しいのではないかと考えています。
マイニングに関係するコンセンサスアルゴリズムとは
コンセンサスアルゴリズムとは、「Consensus(コンセンサス:一致・総意)」と「Algorithm(アルゴリズム:演算法)」を組み合わせた単語で、日本語にすると「承認演算法」とか、「合意演算法」と訳することができます。
仮想通貨は、基本的に管理組織を持たない非中央集権型の仕組みで動いています。
トラストレスを保持するためには、取引が正常であることを証明する必要があります。
その役目を担っているのがマイニングになります。
ただマイニングによって、取引の証明方法は異なります。
その違いが、コンセンサスアルゴリズムの違いです。
コンセンサスアルゴリズムの種類
現在、採用されているコンセンサスアルゴリズムは、多岐に渡りますが、大きく分けて以下の5種類があります。
- PoW(Proof of Work:プルーフオブワーク)
- PoS(Proof of Stake:プルーフオブステイク)
- PoI(Proof of Importance:プルーフオブインポータンス)
- PoC(Proof of Consensus:プルーフオブコンセンサス)
- PoSステーキングプール
それでは簡単にですが、一つずつ説明していきましょう。
PoW(Proof of Work:プルーフオブワーク)
PoW(Proof of Work)は、初めての仮想通貨であるBitcoinで採用された、ビザンチン耐性を備えたコンセンサスアルゴリズムです。
その方式を要約すると、仕事量に応じて報酬が与えられるということになります。
具体的には、『ハッシュを使ってどうマイニングしているのか?』の章で説明した方法が、PoWです。
その章でも説明した通り、最後のブロックのノンス、新ブロックのトランザクションデータ(取引情報)、自分が設定するノンスを合わせ、ハッシュ関数にかけてハッシュ化します。
ハッシュ化したその値が【ターゲット】の値を下回るまで、自分が設定するノンスを入れ替え続けて、総当たりの計算を繰り返します。
計算量 = 仕事量で、Proof of Workなのです。
PoWのメリット
PoWは、セキュリティ性が高く、改ざん(ビザンチン)耐性が強いことが特徴です。
Bitcoin(BTC)だけでなく、以下の仮想通貨にも採用されています。
- Ethereum(ETH)
- Bitcoin Cash(BCH)
- Lightcoin(LTC)
- Ethereum Classic(ETC)
- MONAcoin(MONA) など…
PoWのデメリット
PoW最大のデメリットは、マイニング方式からくる弱点があることです。
それは、51%Attackと呼ばれるものです。
ブロックチェーンに新しいブロックをつなげる際、マイナーの過半数の承認が得られれば、新しいブロックを繋げられます。
51%Attackとは、マイニングパワーの過半数 (51%)を一人のマイナーが握ってしまうと、ブロックをつなげる承認権も同時に手にすることになります。
そうなれば、まさにその仮想通貨は乗っ取られてしまうのです。
実は、この51%Attackはまず起きないだろうと言われていた時期がありました。
たしかに利用者の多いBTCやETHのようなメジャーコインでは、今後も起きる可能性は低いでしょう。
しかし、時価総額が低く、ハッシュパワーもあまりないアルトコインの場合は、そうではありません。
Bitcoinのハッシュパワーを示す数値、ハッシュレートは353PH/s(ペタ・ハッシュ・パー・セコンド)です。
PH/sとはコンピュータの計算速度を表すもので、1秒間に何回ハッシュ値を出せるかの数値です。
PHは1,000,000,000,000,000(千兆)となりますので、353PH/sは、1秒間に35京3千兆回ハッシュ計算ができるという意味になります。
一方、同じPoW方式のLitecoinのハッシュレートは、408TH/s(テラ・ハッシュ・パー・セコンド)です。
THはPHの1,000分の1になりますので、408TH/sは1秒間に408兆回ハッシュ計算ができるということになるのです。
ハッシュレート(ハッシュパワー)は、世界中のコンピュータパワーの総合計ですので、実際にやるのは簡単ではありませんが、もしBitcoinのハッシュレートの0.2%が、Litecoinに乗り換えたとしたら、Litecoinの63%のハッシュレートを掌握してしまうのです。
事実、Ethereum Classic(ETC)が2019年1月に2度の51%Attackを受け、価格が暴落しているのです。
そしてもう一つの弱点が、電力消費です。
膨大な計算を強いるPoWは、マシンコスト以上に、消費電力コストが計算力に比例して増大します。
一説には、スロヴェニアやキューバといった1国の消費電力に匹敵するとまで言われているのです。
そこまでの電力を消費する理由は、マイニングマシンの稼働だけではなく、その稼働を助けるために部屋を冷却する必要があるためで、それをしなければマイニングマシンが壊れてしまうほどの負荷をかけているのです。
Bitcoinが4,000ドルを切った時には、マイニングファクトリーの損益分岐点ギリギリのラインとなり、マイニングの大手、Bitmain社が大リストラを敢行したほどです。
このようにPoWは、Bitcoinに採用され、セキュリティや改ざん耐性の高い方式ですが、それを実現させるために、非常に高いコストを支払っていることになるのです。
PoS(Proof of Stake:プルーフオブステイク)
PoS(Proof of Stake:プルーフオブステイク)は、コインもしくはトークンの保有量に対して、マイニングをする権利が与えられる方式です。
現在は、多くの仮想通貨が採用しているPoSですが、それは先に挙げたPoWが多くの問題を抱えているからです。
事実、Ethereumも次のアップデートSerenityで、PoWからPoSにマイニング方式を変更することを発表しています。
PoSは、コイン、もしくはトークンの保有枚数に対して、一定量に比例してマイニングの抽選券が与えられる形式になっています。
例えば、ETH100枚に対して、1枚マイニングの抽選券が与えられるとしたら、1,000枚持っている人は10枚、10,000枚持っている人は100枚の抽選券がもらえます。
もらえるのはあくまでも抽選券で、実際にマイニングできるかどうかは、抽選に当たる必要がありますが、当然ながら抽選券を多く持っている人の方が、当たる確率は高くなります。
PoSのメリット
PoSのメリットは、対象のコイン、またはトークンを持っていないとマイニングに参加できないという点です。
これは、コインを持っているのだから、コインの価値が下がってしまっては意味がない。
という前提を立てることになります。
「コインを持っているのだから、そのコインの価値を高めることに協力してくれる。」
という至極当然のルールが発生します。
逆にそのコインの価値を下げたいと考えている人間が入ってきたとしても、投資しなければならないので、価値を下げたい人間を入ってこれないようにもできるわけです。
それと同時に、PoSではPoWのような複雑な計算式は必要としません。
これは、先に挙げた条件『コインの価値を高めることに協力してくれる』という前提があるからです。
もちろん、取引内容の確認やブロックにつなげるための承認などはありますが、それも含めての抽選ですので、宝くじに当たるのと同じです。
しかも、PoWのような複雑な計算式が不要なため、マイニング専用のマシンも必要ありませんし、電力消費も抑えられるのです。
このように、PoSはPoWに比べて、エコロジーなコンセンサスアルゴリズムであると言えます。
またPoWのシステム的欠点である51%Attackに対しても耐性を持っています。
もし誰かが51%のコインを独占したとして、その人がマイニングを独占してしまった場合、そのコインの価値は一気に下がってしまいます。
だからそんなことをする人は居ない。
という前提があります。
これは最初の「コインを持っている人はコインの価値を高めることに協力してくれる」という前提と同じです。
これはBitcoinの改ざん耐性と同じで、労力に対しての価値が釣り合わないことを前提にしているのです。
このように、PoSはPoWの欠点を解決するように作られた、コンセンサスアルゴリズムなのです。
PoSのデメリット
PoSのデメリットは、富の集中が起こることにあります。
コインを多く持っている人に、より多くのマイニングチャンスが行くことになります。
なので、コインを多く持っている人ほど、コインを得られる機会が増えることになります。
その意味で、富の集中化が起こってしまうということになります。
ただ、この富の集中化というのは、どの世界にもあることで、実際資本主義そのものが富の集中で成り立っていると言えなくもありません。
ですので、これをデメリットと言って良いのかは、意見が分かれるところだと、個人的には考えます。
ただ、通貨を持っているだけで承認権が与えられるため、通貨の流通量(使用料)を増やすのではないので、市場価値を上げるには厳しい面があります。
実は、このPoSを活用した新たな取り組みがあるのですが、それは後ほど紹介させていただきます。
PoI(Proof of Importance:プルーフオブインポータンス)
PoI(Proof of Importance:プルーフオブインポータンス)は、貢献度に対して報酬が与えられるコンセンサスアルゴリズムになります。
PoIは、通貨の保有量のほか、取引回数や取引量をもとにコミュニティへどれだけ貢献しているかを重視します。
多くの通貨を保有して活発に取引を行うユーザーを承認者として認める方式です。
基本的な考え方は、PoSに準じますが、コインを持っているだけではPoIの場合、承認者の権限はもらえません。
単にコインを購入して、価値が上がるまで待っている塩漬け状態では、コインの価値は上がりません。
活発に取引を行い、コインを活用しているユーザーこそ、マイニングの承認者に相応しいという考えに立っています。
PoIのメリット
PoIが重視しているのは、市場への流通量を増やして、コインの価値を上げることです。
どれほど優れたコインやトークンであっても、使われなくては意味がありませんし、価値も上がりません。
PoIはPoSの欠点である、市場の流動性を高めるために考案された、コンセンサスアルゴリズムだと言えます。
PoIはPoSで選ばれる人以上に、そのコインに貢献している人に、マイニングの承認権を与えることで、一種の報奨金という意味合いを持たせています。
また、PoIでは同じ人との取引ではなく、何人もの人との取引を重要視するアルゴリズムが組み込まれています。
同じ人とばかり取引していたのでは、市場の活性にはつながりません。
逆に、癒着的な活動とみなされる場合があります。
そうしたところにも目を配れるのは、ブロックチェーンならではと言えるでしょう。
これは、選挙で選ばれた知事や議員が、選ばれた土地のために尽くすのに似ていると言えます。
PoIのデメリット
PoIのデメリットで挙げられる点は、PoSと同じです。
流通量(取引量)を重視するにしても、ベースとなるのはその保有量になります。
つまり、PoSほどではないにせよ、保有量の差による富の集中化は、起こってしまいやすい傾向にあります。
PoC(Proof of Consensus:プルーフオブコンセンサス)
コンセンサスアルゴリズムには、PoW・PoS・PoI以外にも種類があります。
中でも有名なのが、PoC(Proof of Consensus)です。
PoCは「合意による証明」と訳すことができます。
PoCの特徴は、特定のマイナーによる承認です。
Rippleの場合は、Ripple社が承認権を持っていて、Ripple社が承認する金融機関などの組織から選出されるのが特徴です。
つまりPoCは、中央集権的なマイニングなのです。
Rippleは仮想通貨ではない。と一部で言われることがありますが、その理由がこれです。
RippleがPoCを採用している理由は、承認時間を短くできるからです。
確かにRippleの承認時間は、BitcoinやEthereumに比べると早いです。
ただ、マイニングの内容があまりにブラックボックス化していて、その検証ができない点が問題なのです。
特に、マイニングによる承認が中央集権的であるということは、仮想通貨のトラストレス(第三者による信用の不要)が成り立たないことになります。
あえて言うなら、Ripple社を信用できなければ、XRPを買うことはできません。
なぜなら、Ripple社にとって都合の悪い取引は承認されず、都合の良い取引のみ承認している可能性すらあるわけです。
Ripple社が承認権を持っている以上、「価格操作されている可能性がある」と言われてもそれを否定できないのです。
ある意味、USDTを発行しているTetherが、USDT=USドルの価値を担保している資金を明確にできないため、市場から懐疑的に見られているのと同じです。
そして、Ripple社を信用するために必要な信用コストは、XRPの価格に反映します。
つまりXRPの価値は、そうしたコストも含んだ上での価値であり、トラストレスのなりたたない仮想通貨であると言えるのです。
新しいマイニングの形「PoSステーキングプール」
ここまでマイニングについて様々なことをお伝えしてきました。
仮想通貨バブルの前は、マイニングもそれほど知られておらず、一時期はスマホを使ったマイニングなどもアプリとして流行った時期があります。
しかし今、マイニングでそれほど利益が上げられるものは存在しません。
PoWの場合は、消費電力によるコストがネックになりますし、PoSやPoIの場合は必要保有量を持つ資金がネックになります。
ですが今、PoSの経済圏で新たなマイニングプールが出来上がりつつあります。
内容としては以前からあったものですが、その話題が非常に活発化してきているので、ご紹介します。
ご紹介する新たなマイニングとは、PoSステーキングプールです。
PoSステーキングプールは、PoSのトークンを顧客から預託してもらい、代わりにマイニングノードを運用し、差分の手数料(マイニング報酬)で収入を得るビジネスモデルです。
具体的には、EOSやCOSMOS、Caldano(ADA)がその動きを見せています。
時価総額が1億ドルを超えるPoSトークンは、先ほど挙げた以外でDASHなどの独自ブロックチェーンを含むと11ほど有ります。
これらの時価総額を合計すると、約1兆円にもなるのです。
PoSによって生じるマイニング報酬は、平均すると4.5〜5%の間になります。
これを基準にすれば、年間で450〜500億円のトークンが新規発生することになります。
この新規トークンの額がそのまま市場規模になるわけでは有りませんが、非常に大きな市場であることは間違いありません。
Ethereumが遅くとも来年にはアップグレードハードフォークを迎え、PoWからPoSに移行することを考えれば、Bitcoinを含むPoWブロックチェーンを、PoSブロックチェーンの時価総額が上回ることは、ほぼ間違いないと言えます。
となれば、PoSの市場に多くの企業が参入してきて、Bitcoinのマイニングで躍進したBitmainのような企業が現れてくる可能性は高いと言えるでしょう。
実際に海外の取引所であるCoinbaseの子会社であるCoinbase Venturesもこの、PoSステーキングプール市場に参入を表明していますし、Binanceも動きを見せています。
PoSステーキングプールのメリット
このPoSステーキングプールのメリットは、個人では準備できない資金をグループによって用意し、PoSマイニングで報酬を得られる点にあります。
PoSは資金を持っているところに報酬が集まる仕組みのマイニング方式です。
つまり、資金力の高いステーキングプールを選べば、高い報酬を得られる可能性があるというわけです。
今はまだ機関投資家向けの市場ですが、近い将来、個人向けの募集がされることは間違い無いでしょう。
そうした時のためにも、このPoSステーキングプールというキーワードを覚えておいてください。
マイニングのやり方は3種類
マイニングのやり方は決して1つではなく、規模に応じて3種類に分けられます。
もちろん、個人でもマイニングはできますが、企業もマイニングもしている為、以下の3種類に分けれます。
- クラウドマイニング
- プールマイニング
- ソロマイニング
つまり、上記の3種類をまとめて「マイニング」と呼ばれています。
クラウドマイニングとは?
クラウドマイニングとは、マイニングをしている企業に投資をし、配当を得る仕組みのことです。
例えば、株式投資をして配当を得る仕組みと、考えると分かりやすいです。
メリット・デメリットとして次の事があります。
クラウドマイニングのメリット
- マイニングをする為の機材が必要ない
- 電気代がかからない
企業にマイニングをする為、投資金以外は何もかかりません。
要するに、投資家がマイニングを行う上で最も取り組みやすいマイニングの方法です。
【クラウドマイニングを行っている主な企業】
クラウドマイニングのデメリット
- 詐欺に合う可能性がある
仮想通貨投資に関わらず、お金を企業に預ける時はどんな企業か調べましょう。
クラウドマイニングをする企業の体制やセキュリティが甘いと、配当が遅れたり、ハッキングされる恐れもあります、
また、クラウドマイニングを行う企業に投資をした際に、仮想通貨が暴落すると、原資金を回収できない事になります。
要するに、クラウドマイニングを行う企業は投資をする前にしっかりと調べましょう。
プールマイニングとは?
プールマイニングとは、マイナー(採掘者)が集団でチームを作り、協力してマイニングを行うことです。
大規模なプールマイニングが、一斉にマイニングを行うと、仮想通貨市場の価格に関わってきます。
その為、マイニングの中で、最も仮想通貨市場に影響力のあるマイニングの方法です。
プールマイニングのメリット
- 多額の配当金を得る事が出来る
クラウドマイニング同様、出資する事で配当金を得る事が出来ます。
企業が行うクラウドマイニングに対して、プールマイニングが規模が大きい為、多くの配当金を得る事が出来ます。
プールマイニングのデメリット
- 自分から参加すると配当が少ない
プールマイニングは自分からも参加する事が出来ます。
しかし、マイニングを行う専用機材でしている人に比べると、ほんのわずかしか配当金ができません。
配当金がごくわずかである為、原資金を回収するのに数年かかることもあります。
また、マイニングができる仮想通貨は、ビットコインやイーサリアムだけではありません。
日本国内でおすすめなのは、モナコインなどです。
モナコインなどは、国内人気は高くても海外ではそれほど注目されていないアルトコインです。
要するに、マイニングをする時は、競争率が低い仮想通貨を選びます。
ソロマイニングとは?
ソロマイニングとは、自分1人でマイニングをすることです。
ソロマイニングのメリット
- 報酬を独占できる
- 手数料を取られない
プールマイニングの場合は集団であり、クラウドマイニングの場合は手数料が発生します。
しかし、ソロマイニングは、自分1人でする事が出来る為、報酬を全て独占する事ができます。
その為、ソロマイニングを趣味としている人もいます
ソロマイニングのデメリット
- 初期投資がかかる
- 報酬が日によってバラバラ
ソロマイニングは自分1人で行う為、まずはマイニング専用の機材を色々と準備しなければいけません。
他のマイニングに比べると始めるまでに手間がかかります。
また、日にとっては報酬が発生しない日もあります。
その為、気長にマイニングをする必要があります。
まとめ
今回は、マイニングについて特集を組んでみましたが、いかがでしたでしょうか。
マイニングの問題はセキュリティと大きく絡んでいます。
そして、マイニングこそが、ブロックチェーンをたらしめているのです。
BitcoinにはBitcoinの考え方が、EthereumにはEthreumの考え方が、マイニングに当てはめられています。
そういう意味で、マイニングを知るということは、そのコインを知ることでもあります。
途中でもお伝えしましたが、スケーラビリティを優先すると、セキュリティは弱くなります。
セキュリティを優先しすぎると、ユーザーの利便性を損ないます。
このトレードオフの関係を、どう改善していくかが、今後の仮想通貨の課題になることは間違いないでしょう。
ブロックサイズやノードの問題も並行して起こることになります。
ネットワークを支えるには、多くのフルノードが必要ですが、ブロックサイズを大きくすると、端末がフルノードを持ちにくくなくなるのです。
そうした意味からも、今後もマイニングについて注目していただければと思います。