【事例から学ぶ!】ソフトフォークとは!ハードフォークとの違いについて解説
初心者向けに仮想通貨のソフトフォークとは何か詳しく解説しています。ソフトフォークの仕組みや特徴、ハードフォークとの違いについて説明しています。実際にソフトフォークした仮想通貨の事例も紹介しているので、どんなことが起きるのか理解しておきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
今回は、ソフトフォークについて解説します。
ハードフォークとの違いについてもぜひ知っておきましょう。実際にソフトフォークされた通貨の事例も紹介しているので、どんな特徴を持っているのか理解できるはずです。
今回はソフトフォークについて解説しよう。
田島メンター!ソフトフォークというのは何ですか~?
ブロックチェーンの分岐の形のひとつなんだ。まずは、どのようなときに行われるのかというところから説明するよ。
お願いします!
ソフトフォークとは
ソフトフォークとは、ブロックチェーンのデータが正しいかどうかを検証するためのルールをより良い物にする際に発生する、ブロックチェーンにおける分岐のことです。
このブロックチェーンの分岐は、仮想通貨自体の仕様を変更する為に行います。
ただ、実際には分岐し続けることはなく、最終的には1本のブロックチェーンに収束します。
ソフトフォークにおける分散型アプリケーション
ブロックチェーンでは、ビットコインに代表される分散型アプリケーションでは、取引データをブロック毎に分けています。
その上で、暗号化された正しい取引で有ることを証明するために、取引データであるブロックにハッシュ値と呼ばれる取引内容を要約したデータを作成します。
チェーンでつながれたように次のブロックでは、前のブロックの要約データと現在のブロックの要約データの整合性が取れているかどうかで不正を確認します。
このルールを定期的よりよいものに変更していくことで、セキュリティを高めています。
そして、その変更をソフトフォークと呼ばれています。
ソフトフォークについての基本的な説明だね。
ソフトフォークはブロックチェーンの改善のために行われるんですね。
次に、ソフトフォーク以外の分岐についても見ていこう。
ソフトフォーク以外のブロックチェーンの分岐
ソフトフォークで発生するブロックチェーンの分岐以外にもブロックチェーンの分岐が発生します。
ブロックチェーンの分岐が発生する理由としては、ブロックチェーンのマイニングにより発生する同時マイニングや、ハッカーによる操作により発生します。
マイニングとは、日本語で言えば採掘という意味です。
実際に採掘作業を行うのではなく、ビットコインやアルトコインで行う計算処理を分散型ネットワーク内で代わりに処理することをマイニングと言います。
同時マイニングとは、マイニングを行うノードがブロックを採掘する際、同時に複数のブロックが生成された場合に、ブロックチェーンの分岐が発生します。
ハッカーによる操作とは、悪意のあるノードが、ブロックチェーンのデータを改ざんしようとして、複数のブロックを改ざんすることで、正しいデータブロックと改ざんされたデータブロックでブロックチェーンの分岐が発生します。
ソフトフォークの仕組み
ソフトフォークの種類の1つとして、SegWitという技術があります。
SegWitとは、Segregated Witnessの略で、日本語では証明書を分離するという意味です。ソフトフォークにより実装される、ビットコインの様々な課題を解決することができます。
SegWitでは、ブロックサイズは同じままで、ブロックウェイトを制限することで、より多くのトランザクションを利用できます。
ビットコインで既に適用されているソフトフォークとして、Pay to script hash(P2SH)という技術があります。
Pay to script hash(P2SH)とは、マルチシグネチャのBitcoinで支払いを行う際に使用する方法の1つです。
マルチシグネチャとは、マルチシグと略されるもので、通常のBitcoinで送金するために複数の署名を使用する方法です。
マルチシグネチャを利用する理由は、セキュリティを高めるためです。
マルチシグネチャではない認証方法をシングルシグネチャと呼ばれます。2018年1月26日にコインチェック株式会社(英語表記:Coincheck,inc.)で580億円以上に相当するNEMという仮想通貨の盗難事件が発生しました。
この時、コインチェック株式会社が採用していた認証がシングルシグネチャでした。
Bitcoinでマルチシグネチャを使用するソフトフォークを適用するにあたり、反対するノードもありました。
それは、ハードフォークに比べると低いなりにも、仕様を変更することで仮想通貨自体の価値が下がる可能性がある点です。
それでも、BitcoinではPay to script hash(P2SH)を取り入れるソフトフォークを行った結果、マルチシグネチャに対応した送金を行うことができるようになり、送金に関するセキュリティを高ることに成功しました。
結果的に、Bitcoinの長期的な安定につながりました。
ソフトフォークの特徴
ソフトフォークの特徴として、仕様変更を行うけれども、仕様変更に伴いブロックチェーン自体が、以前使用していたものと互換性が無くなるということは無いということです。
この点は非常に重要で、もし、以前使用していた状態のブロックチェーンとの互換性が無くなるということは、フォークを行ったが、そのフォークで適用した機能が良くなかった場合、以前の仕様にすることもできないということを意味しています。
そういう意味では、ソフトフォークは、長期的にブロックチェーンを利用した仮想通貨の価値を高めることができる、仕様変更と言うことができます。
また、多くのユーザーにとっては、ソフトフォークされたことを意識すること無く、仮想通貨を利用することができます。
ソフトフォークとハードフォークの分かりやすい違い
ハードフォークはブロックチェーンの仕様変更により、仮想通貨が分裂します。
ソフトフォーク(SegWit等で実装する場合)は仮想通貨の仕様変更が行われ、仮想通貨自体は分裂しません。
これに対して、ハードフォークはブロックチェーンの仕様変更により、仮想通貨が分裂します。
ソフトフォークの事例
デジバイト(DigiByte)
デジバイト(DigiByte)は、Bitcoinでも話題になったセグウィット(Segwit)を最初に採用してソフトフォークを行った仮想通貨です。
デジバイト(DigiByte)は、5つのアルゴリズムを使用してマイニングを行うことができます。
ブロックチェーン自体は1本のブロックチェーンですので、20%の割合で5つのアルゴリズムを振り分けてマイニングを行うことができます。
5つのアルゴリズムとは、SHA-256、Scrypt、Groestl、Skein、Qubitです。
どのアルゴリズムを使用するかはマイニングを行うノードが選択することができます。
ハードフォークの事例
ビットコイン(Bitcoin)
ビットコインでも2017年12月27日にセグウィット(Segwit)が導入されました。
セグウィット(Segwit)を導入するかどうかの話がノード間でまとまるまで時間を要しました。
2017年7月20日にアクティベートしたビットコインキャッシュは、ブロックサイズが8MBです。1つのブロックにたくさんの情報を詰め込むことにより、ビットコインのスケーラビリティ問題を解決することができます。
仮想通貨は利用する人が多くなることで、扱われるデータが増加し、決済時間や取引時間に関する時間が増大してしまいます。
この問題をスケーラビリティ問題と言います。そして、ハードフォークを行うことでこの問題を解決したのがビットコインキャッシュでした。
以上、ソフトフォークについて解説しました。
仮想通貨自体が分裂することは大きなニュースになりますが、ソフトフォークは仕様変更なので知る人ぞ知るというレベルかもしれません。
自身で保有している通貨や興味のある通貨については今後の動きもチェックしておきましょう。
ソフトフォーク・ハードフォークの違いと、それぞれの実例について紹介したよ。
ハードフォークは最終的に仮想通貨が分裂するもの、ソフトフォークは全体の仕様変更が行われるものといったイメージでしょうか。
仮想通貨の分裂やアップデートについては、実際のニュースなどもぜひ参考にしてみよう。
そうですね、チェックしてみます。ありがとうございました!
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。 その他にも地域の職業プログラマー育成活動を行い、2018年には小学生がUnityで開発したオリジナルAndroidアプリをGooglePlayでリリース。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。 |