どうも!こんにちは!
クリプトマッスルです!
ビットコインに問題点があることはもう皆さんもご存知かと思いますが、その問題点を解決するために考案されたSegwit(セグウィット)と言われる技術について分かりやすく説明します。
コンテンツ
ビットコインの問題点
ビットコインには解決しなくてはいけない問題点が2つあります。
それは「スケーラビリティ問題」と「トランザクション展性」と言われるものです。
それぞれ詳しく見ていきましょう。
スケーラビリティ問題
以前にイーサリアムでもこのスケーラビリティ問題について触れましたが同じことになります。
ビットコインのユーザー数やノード数は日々増加しています。
ビットコインに用いられているブロックチェーンの1ブロックあたりの容量は1MBと制限されているので、取引の総容量が1MBを超えてしまうと取引の承認に遅れが生じます。
そうすると、優先的に承認してもらおうと手数料を多く払う人が出てきて、結果的に送金の手数料が高くなってしまうということが起きます。
まとめると、
- 取引に遅延が生じてしまう
- 取引ごとの送金手数料が高くなってしまう
これが「スケーラビリティ問題」となります。
トランザクション展性
トランザクションとは、あるビットコインアドレスからどのビットコインアドレスにいくら送金されたかを示すものです。
このトランザクションには、それぞれIDが設定されているのですが、このIDは外部から変更可能になります。
そうすると、ビットコインの2重送金が発生したり、改ざんされた取引がビットコイン・ネットワークに承認されてないかのように見せかける事が出来てしまいます。
ちなみに2014年のマウントゴックス社の事件はこのトランザクション展性による攻撃であったとされています。
このビットコインに存在する脆弱性が「トランザクション展性」と呼ばれ問題になっています。
Segwit(セグウィット)とは
上述した2つのビットコインの問題点である、
- スケーラビリティ問題
- トランザクション展性
を解決するために考案されたのがSegwit(セグウィット)になります。
Segwitとは、Segregated(分離された)Witness(隔離された署名領域)の略になります。
それではそれぞれの問題をどのように解決するのか見ていきましょう。
スケーラビリティ問題へのアプローチ
Segwitは、ブロックチェーン上に記録される取引のサイズを約60%ほど圧縮することができると言われており、1ブロックあたりに記録できる取引の量を増やすことで、取引の滞りを抑制し、取引を速やかに処理することが期待されています。
これにより「スケーラビリティ問題」に効果的であるとされています。
トランザクション展性へのアプローチ
Segwitでは、署名データなどのトランザクションIDの算出に使用されるデータを別の領域に保存することができます。
そうすることで、外部からトランザクションIDを変更することはできなくなります。
これにより、取引所やウォレットに対しての攻撃が出来なくなり、取引所やウォレットの開発者にとっては、単純にトランザクションIDのみを参照し取引を認証する仕組みを作ることでコードが単純にすることも可能になります。
Segwit(セグウィット)のメリット&デメリット
メリット
上述した内容がほぼSegwitにおいてのメリットになります。
- スケーラビリティ問題の解決
- トランザクション展性の問題の解決
- ライトニングネットワークを導入するにあたって必要な工程
- 手数料が低くなる
デメリット
- 1ブロックあたりの取引数が増えることから、マイニングに必要なコンピュータの性能の向上が必要になり、マイナーの負担が大きくなり、マイナーの減少を招く可能性がある。
- 取引がスムーズになることで、手数料が低くなり、マイナーの報酬が低下。
- ソフトフォークによりネットワークに不具合が生じる可能性がある。
以上がSegwit実装によるデメリットになります。
Segwit2x(セグウィットツーエックス)とは
Segwit2xを分かりやすく説明すると、上述したようにビットコインの1ブロックのサイズは1MBあり、Segwitの導入により取引処理をスムーズにすることができるようになりました。
そこで、ブロックサイズをさらに大きくすればより多くの取引を1ブロックで処理できるのではないかということでサイズを2MBにしたのがSegwit2xになります。
つまり、Segwitとの違いは、ブロックサイズが1MBか2MBかということです。
マッスルまとめ
ここまで、ビットコインの2つの問題点を解決するSegwit(セグウィット)について何なのか、2つの問題点をどのように解決するのか、デメリットなどを交えながら分かりやすく説明してきました。
ビットコインのスーケラビリティ問題を解決するための方法は他にもあり、それが「ライトニングネットワーク」です。
Segwitはこのライトニングネットワークの導入を助ける役割もあります。
次回はこのライトニングネットワークについて説明します。