ソフトフォークとは?
仮想通貨における重要な技術のでもあるブロックチェーンにはそれぞれルールが定められていますが、ソフトフォークはブロックチェーンの改善のために、ルールの変更が行われるものです。
具体的には、従来のブロックチェーンに新たなルールを追加したり、ルールを無効にしたりします。
これによって、ブロックチェーンは一時的に分岐し、互換性のある新たなブロックチェーンが生まれます。
このような、ブロックチェーンの分岐は自然発生的に起こることもありますが、永続的に分岐していくことはなく、やがて一つに収束していくとされています。例えば既存のチェーンをA、分岐したチェーンをBとすると、マイニングを行っているマイナーがBを支持すればBに収束していき、Aを支持すればAに収束していくといった形になります。
ソフトフォークとハードフォークの違い
ソフトフォークの対となる用語として「ハードフォーク」という言葉が使用されています。「ブロックチェーンのルール変更を指すこと」、「語尾にフォークが付く」という部分は共通していますが、2つの言葉には大きな違いがありますので、理解しておきましょう。
ソフトフォークとハードフォークが大きく異なる点は、「分岐の永続性」と、「分岐前後のそれぞれのブロックチェーンの互換性の有無」です。また、ソフトフォークの場合は仮想通貨の単なるアップデートにすぎませんが、ハードフォークでは新たな仮想通貨が生まれることになります。
分岐の永続性
ブロックチェーンが分岐した場合、長いものが正しいと認識され、もう一方のブロックチェーンは無効になるという規則があります。このために、ソフトフォークにおけるブロックチェーンの分岐は一時的なものに過ぎず、時間が経つとまた1つのチェーンへと収束します。
しかし、ハードフォークにおける分岐では、新たなルールを採用するブロックチェーンと、古いルールを採用したままのブロックチェーンは2つに分かれてしまいます。これがハードフォークによるブロックチェーンの分岐で、それぞれのブロックチェーンに対応する、2つの仮想通貨が生まれることになります。
互換性の有無
ソフトフォークでは、ブロックに格納される取引の内容であるトランザクションを検証するためのルールを追加したり、あるいは厳しくしたりします。このとき、トランザクションは新旧双方のルールで検証されるため、新たなルールに適合しないトランザクションがブロックに追加されると、ブロックチェーンが一時的に分岐します。
しかし、前述のようにこのときにはより長いほうのブロックチェーンが正規のブロックチェーンとみなされるルールによって、短いブロックチェーンは無効となります。
一方、ハードフォークでは互換性のない仕様変更によってブロックチェーンが分裂するため、永続的に分岐します。これによって新たなルールのブロックチェーンだけが機能することもあれば、古いルールのブロックチェーンも同時に機能する場合もあり、これも仮想通貨の分裂する要因となります。
また、ハードフォークについてさらに詳しく知りたい方は、【ハードフォークとは?メリットやデメリット、過去事例を徹底解説!】を参考にしていただければと思います。
ソフトフォークのメリット
ここまでのように、ソフトフォークは分裂を伴わないブロックチェーンのアップデートですが、そのメリットにはどんなものがあるのでしょうか。
ハードフォークとは異なり混乱が少ない
ハードフォーク同様、ソフトフォークもいったんはブロックチェーンの分裂を伴います。しかしながら、双方に互換性があるためにやがては収束し、新たな仮想通貨が生まれることはありません。
マイニングを行っているマイナーも、互換性があるので仮想通貨が正当かの判断を迫られることはなく、やがてはどちらかに収束していくため、ハードフォークと比較して混乱が少ないと言えます。
セキュリティや取引速度の向上を行うことができる
ハードフォークはブロックの容量を拡大することにより、取引速度の向上を目指しますが、ソフトフォークも同様の改善を目指すことがあります。
ただし、ソフトフォークの場合は、ブロックに格納されるデータを圧縮することによって取引速度の向上を図るため、互換性を損なわずに取引速度を向上させることができます。
性能が向上し、価格上昇に繋がることが多い
ソフトフォークの目的はブロックチェーンの改善を図るものであるため、結果として仮想通貨の性能は向上します。また、新たな技術も導入されることも多いため、当該の仮想通貨に対する期待が高まり、結果的に価格が上昇することも少なくありません。
ソフトフォークのデメリットや問題点
ハードフォークよりも混乱は少ないとされるソフトフォークですがデメリットがゼロというわけではありません。では想定されるデメリットにはどんなものがあるのでしょうか。
混乱が起こる可能性
ソフトフォークは理論的には問題は起こらないとされています。しかしながら、ハードフォークほどではないにしろ、通貨の消失といったリスクがないわけではありません。これは、現状確立されている理論に変更を加える以上、避けては通れないことです。
バグの発生
これも、ハードフォークと比較すると起こりにくいとされますが、可能性として考慮し、さまざまなトラブルが起こった場合は適切に対処しなくてはなりません。
過去にビットコインで行われたソフトフォーク
ここからは実際にビットコインで行われたソフトフォークについてみていきましょう。
Segwit
Segwit(Segregated Witness)とは署名の分離を意味し、ビットコインが持っている署名データを分離し、別の領域に格納するものです。
Segwitが導入されることによって、1つのブロックに含めることができるトランザクション(取引データ)を増やすことができるため、ビットコインが抱えていたスケーラビリティ問題(ブロックサイズが1MBに限られているため、送金遅延や手数料の高騰が起こる問題のこと)の改善に繋がります。
また、Segwitは、旧バージョンのルールを無効にせず、動作に影響を及ぼさないよう新たなルールを追加しているため、ソフトフォークとみなされています。
P2SH
P2SH(Pay to script hash)は、ビットコインで決済する場合や送金する際に、複数の署名が必要になるマルチシグネチャを実現するもので、万が一自分の秘密鍵が盗まれたとしても、第三者がビットコインを使用することはできません。
P2SHがビットコインに実装される以前は、複雑な操作が必要で手数料も多く支払わなければなりませんでしたが、P2SHにより、マルチシグネチャの容易な実行が可能になりました。
以上のようにソフトフォークは新たな技術の導入に伴って、仮想通貨の改善や利便性の向上が図られるものです。欠陥が見つかるなどして仮想通貨の価格が急落する可能性も否定はできませんが、ハードフォークと比較するとはるかにリスクは低く、価格上昇のポイントになりやすいといえるものです。