
ハードフォークとソフトフォークって?
今回は仮想通貨をやっているとよくみかけるワード
『ハードフォーク』と『ソフトフォーク』について話していきたいと思います。
この2つのワードは、仮想通貨の価格に大きく影響を与える大切なものになるので、
仮想通貨をやっている人はぜひ理解しておきたい内容です。
ハードフォークとソフトフォークの共通点
前提としてハードフォークとソフトフォーク、そもそも共通の説明として言えるのは
どちらも『仮想通貨のアップデート』だということです。
※正しく言えば仮想通貨の仕様変更ですが、わかりやすくするため今回はアップデートで理解してOKです。
アップデートというのは、日常的によく見るワードでもありますが、
簡単に言えばシステムを最新のものにして性能を向上させることですね。
なので例えばビットコインのアップデートであれば、ビットコインより性能の良い仕様にバージョンアップさせるという意味になります。
そしてそういった仮想通貨のアップデートのための方法として
ソフトフォークとハードフォークという2つの方法がある、ということです。
ソフトフォークってなに?
ソフトフォークというのは、いろんな言い方をされますが、よく言われるのは、
『互換性のあるアップデート』です。
互換性とは、ある部品やコンポーネント(構成要素)などを置き換えても同様に動作させることができる性質のこと
互換性というのは、変更前のモノの機能・仕組みが、変更後のモノでも問題なく使えることです。
また、先ほど話したようにアップデートというのは、システムを最新のものにして性能を向上させることですね。
つまり、ソフトフォークで言われる互換性のあるアップデートとは、前の機能・仕組みを問題なく使えるように引き継いだまま、
より性能のよい新しいものへとアップデートさせることです。
イメージとしては、ゲームボーイとゲームボーイポケットです。(笑)
分からない人もいるかもしれませんが、昔、任天堂から発売された携帯ゲーム機として
ゲームボーイとゲームボーイポケットがありました。
ゲームボーイの場合、遊ぶためには単三電池が4個も必要でした。
また、大きさもあるため携帯ゲーム機とはいえ持ち運びに不便でした。
これに対してあとから発売されたゲームボーイポケットは、
単三電池よりも小さい単四電池2個で、ゲームボーイと同じように遊ぶことができました。
しかもゲームボーイよりコンパクトで持ち運びにも便利でした。(笑)
↑左がゲームボーイ・右がゲームボーイポケットです。
このようにゲームボーイポケットは、前バージョンのゲームボーイの機能(ゲームボーイでできること)を引き継いだまま、性能を向上させています。
あくまでゲーム機の例ですが、仮想通貨におけるソフトフォークはこのように、
前の機能・仕組みを持った通貨を問題なく使えるように引き継いだまま、より性能のよい通貨へとアップデートさせることです。
以上を踏まえて、実際にビットコインで話をされるソフトフォークについて見てみましょう。
ここからブロックチェーンについて簡単にでも知識があるとさらに理解が深まります。
余裕がある方はぜひ↓
つまりどういうことなの?
ビットコインの場合、現時点で1つのブロックに入る取引データ(トランザクションと言います)の上限は、1MG(メガバイト)と決まっています。
「ブロック」というのはデータが入る箱です。
このデータが入る箱、すなわりブロックに、マイナーと呼ばれる人たちが、
皆がビットコインを取引したデータを詰め込んでいきます。(AさんがBさんに1ビットコインを送りました!といったデータです。)
取引データが次々とブロックに詰め込まれ、1MG分の取引データがブロックに入れば1つのブロックが完成して、
次の新しいブロックがつくられます。
1つ目のブロックの中の取引データが正しいこと(改ざんされたりしていないこと)を、マイナーたちが確認できれば、
1つ目のブロックと2つ目のブロックはつながることができます。
このように1MGのブロックが次々とチェーンのようにつながっていくので、ブロックチェーンといいます。
この1つのブロックができるまでには10分間(600秒)かかります。※ビットコインの仕様です。
ソフトフォークは「前の機能・仕組みをもった通貨を問題なく使えるように引き継いだまま、より性能のよい通貨へとアップデートさせること」だと話しました。
もっと具体的に言えば、ソフトフォークが行うことは、
ブロック自体の大きさは変えずに、ブロックに入る取引データの大きさを小さく圧縮するようなことです。
こうすることで、互換性を維持したまま、よりたくさんの処理を少ない時間でできるようになります。
それがソフトフォークです。
ソフトフォークの良い点
互換性があるので混乱が起きにくい
ソフトフォークの良い点として挙げられるのは、
互換性があるのでソフトフォークが行われた際の問題も起きにくく、そのためソフトフォークが行われる際に大きな混乱も起きにくい点です。
ソフトフォークの悪い点
ソフトフォークが導入された後に撤回されると強制的にハードフォークが行われる。
ソフトフォークは、ブロックの大きさはそのままで、ブロックに入る取引データのルールを変更し、
より多くのデータが1ブロックに入るような仕様に変更するものです。
これは互換性があるアップデートです。
しかし、もし万が一ソフトフォークが上手くいかず、
このソフトフォークにより適用されているルールを撤廃しようとなったとき、強制的にハードフォーク(互換性のないアップデート)が行われることになります。
この仕組みについては、詳しく話すとややこしくなるので割愛しますが、そういうものなんだと理解してもらえれば大丈夫です。
もしソフトフォークの撤回によるハードフォークが行われるとなった際には間違いなく大きな混乱が起こると考えられます。
ソフトフォークの実装には通常長期間にわたってテストが行われるので、なかなかあることではないでしょうが、
考えられる話なので頭に入れておきたいところです。
ハードフォークってなに?
ハードフォークというのは、
『互換性のないアップデート』のことです。
ソフトフォークの逆で、互換性のないアップデートとは、
前の機能・仕組みは引き継がずに、より性能のよい新しいものへとアップデートさせることです。
イメージとしては、ファミコンとスーパーファミコンです。(笑)
またかよ、と思ってますよね(笑)
ファミコンのソフトはスーパーファミコンでは使えず遊べないし、
スーパーファミコンのソフトをファミコンで遊ぶこともできないけど、
スーパーファミコンはファミコンに比べて性能は向上しています。
このようにハードフォークは、前のバージョンとの互換性を持たせずに、性能を向上させるアップデートです。
先ほどソフトフォークのときに話したように、ビットコインを例に話をすると、
ビットコインのブロックチェーンでは現時点で、1つのブロックに入る取引データ(トランザクションといいます)の上限は、1MG(メガバイト)です。
ソフトフォークの場合、この容量1MG上限のブロックの中に入る取引データの大きさを小さくして、
たくさんのデータを処理できるようにするようなものだと話しました。
これに対してハードフォークは、ブロック自体の容量を大きくするようなものです。
ブロック自体を大きくすればそれだけたくさんの取引データを詰め込むことができます。
ビットコインの場合、ブロック自体の容量が大きくなれば、10分間で1つのブロックを作るという仕様は変わらなくとも、
単純に10分間でそれまでよりたくさんの取引データを処理できるようになります。
しかし、ブロックの互換性はないので、それまでのビットコインから分裂してしまい、
旧ビットコインと新ビットコインはそれぞれのブロックチェーンを作っていくことになります。(どちらも存在し続けることになります)
わかりやすいようにブロックサイズを大きくするような仕様の変更を、
今回ハードフォークの例に挙げましたが、ブロックサイズの変更に限らず、
それまでのブロックチェーンと互換性のない仕様の変更でもハードフォークは行われます。
実際に仮想通貨のイーサリアムが以前ハードフォークをし、
現在のイーサリアムとイーサリアムクラシックに分かれたのもこういった互換性のない仕様に変更があったからです。
ハードフォークの良い点
ソフトフォークに比べてより柔軟に、大きくバージョンアップすることが可能
ハードフォークの良さは、ソフトフォークに比べてより柔軟に、大きくパワーアップできる点です。
ビットコインのソフトフォークの場合、1MGのブロック容量は変えずに取引データを小さくすると先ほど話しました。
ハードフォークの場合、1MGのブロックの容量を10MG、20MGと大きくすることもできますし、
それに加えてソフトフォークのようにブロックに詰め込む取引データを小さくすることもできます。
簡単に言えば、ソフトフォークに比べてハードフォークは
理論上色んなカタチのバージョンアップが可能だということです。
ハードフォークの悪い点
分裂により市場に大きな混乱が起こりやすい
一方で、ハードフォークは互換性がなく、それまでのものとまったく別物になるので、通貨の分裂が起こります。
この分裂は市場に大きな不安を呼び、混乱を招きやすく、これはハードフォークの大きな問題点になります。
そもそも何でバージョンアップが必要なの?
ソフトフォークにしてもハードフォークにしても、
仮想通貨の仕様を変更することは必ずリスクがつきものです。
それによって市場が混乱する場合もあります。
それでもバージョンアップをするのは、ひとことで言えば来るべき将来に備えるためです。
確かにまったくリスクを取らずに、ビットコインの仕様を今のままにしておくこともできます。
しかし、将来的にさらにビットコインをはじめ仮想通貨が世界でたくさんの人に使われることを想定したとき、
今の処理機能では不十分という問題が発生してしまうんですよね。
そのため、こういったバージョンアップが試みられることになるんです。
特にハードフォークはリスクもそこそこに大きく市場に大きな不安と混乱を招きやすいといえるため、
マイナスに捉えられがちですが、実際のところはハードフォークにしろソフトフォークにしろ、根本的には前向きなイベントであって、
無事うまくアップデートでき処理性能が向上すれば、長期的にみてその通貨にとってはプラスになっていくと考えられます。
(もちろん必ずしもというわけではありませんが。)
まとめ
長くなりましたが、以上がハードフォークとソフトフォークのお話です。
今後もなにかの仮想通貨の『ハードフォーク』『ソフトフォーク』など聞く機会はたくさんだと思うので、
少しでも参考になれば幸いです!