仮想通貨サテライト

ビットコインの問題点を解決する技術「Segwit(セグウィット)」とは?

どうも!こんにちは!

クリプトマッスルです!

ビットコインに問題点があることはもう皆さんもご存知かと思いますが、その問題点を解決するために考案されたSegwit(セグウィット)と言われる技術について分かりやすく説明します。

 

ビットコインの問題点

ビットコインには解決しなくてはいけない問題点が2つあります。

それは「スケーラビリティ問題」「トランザクション展性」と言われるものです。

それぞれ詳しく見ていきましょう。

スケーラビリティ問題

以前にイーサリアムでもこのスケーラビリティ問題について触れましたが同じことになります。

ビットコインのユーザー数やノード数は日々増加しています。

ビットコインに用いられているブロックチェーンの1ブロックあたりの容量は1MBと制限されているので、取引の総容量が1MBを超えてしまうと取引の承認に遅れが生じます。

そうすると、優先的に承認してもらおうと手数料を多く払う人が出てきて、結果的に送金の手数料が高くなってしまうということが起きます。

まとめると、

これが「スケーラビリティ問題」となります。

トランザクション展性

トランザクションとは、あるビットコインアドレスからどのビットコインアドレスにいくら送金されたかを示すものです。

このトランザクションには、それぞれIDが設定されているのですが、このIDは外部から変更可能になります。

そうすると、ビットコインの2重送金が発生したり、改ざんされた取引がビットコイン・ネットワークに承認されてないかのように見せかける事が出来てしまいます。

ちなみに2014年のマウントゴックス社の事件はこのトランザクション展性による攻撃であったとされています。

このビットコインに存在する脆弱性がトランザクション展性と呼ばれ問題になっています。

 

Segwit(セグウィット)とは

上述した2つのビットコインの問題点である、

を解決するために考案されたのがSegwit(セグウィット)になります。

Segwitとは、Segregated(分離された)Witness(隔離された署名領域)の略になります。

それではそれぞれの問題をどのように解決するのか見ていきましょう。

スケーラビリティ問題へのアプローチ

Segwitは、ブロックチェーン上に記録される取引のサイズを約60%ほど圧縮することができると言われており、1ブロックあたりに記録できる取引の量を増やすことで、取引の滞りを抑制し、取引を速やかに処理することが期待されています。

これにより「スケーラビリティ問題」に効果的であるとされています。

トランザクション展性へのアプローチ

Segwitでは、署名データなどのトランザクションIDの算出に使用されるデータを別の領域に保存することができます。

そうすることで、外部からトランザクションIDを変更することはできなくなります。

これにより、取引所やウォレットに対しての攻撃が出来なくなり、取引所やウォレットの開発者にとっては、単純にトランザクションIDのみを参照し取引を認証する仕組みを作ることでコードが単純にすることも可能になります。

 

Segwit(セグウィット)のメリット&デメリット

メリット

上述した内容がほぼSegwitにおいてのメリットになります。

デメリット

ソフトフォークとハードフォークの違いとは?を簡単解説!

以上がSegwit実装によるデメリットになります。

 

Segwit2x(セグウィットツーエックス)とは

Segwit2xを分かりやすく説明すると、上述したようにビットコインの1ブロックのサイズは1MBあり、Segwitの導入により取引処理をスムーズにすることができるようになりました。

そこで、ブロックサイズをさらに大きくすればより多くの取引を1ブロックで処理できるのではないかということでサイズを2MBにしたのがSegwit2xになります。

つまり、Segwitとの違いは、ブロックサイズが1MBか2MBかということです

 

マッスルまとめ

ここまで、ビットコインの2つの問題点を解決するSegwit(セグウィット)について何なのか、2つの問題点をどのように解決するのか、デメリットなどを交えながら分かりやすく説明してきました。

ビットコインのスーケラビリティ問題を解決するための方法は他にもあり、それが「ライトニングネットワーク」です。

Segwitはこのライトニングネットワークの導入を助ける役割もあります。

次回はこのライトニングネットワークについて説明します。