ビットコインネットワークの問題を解決するSegwitとは?
Segwit(Segregated Witness)はビットコインのトランザクションからシグネチャデータ(電子署名)を削除することでブロックチェーンのブロックサイズ制限を増やすものです。これにより、トランザクションをブロックチェーンに追加するためのスペースや容量が解放されます。
「トランザクション」など、ビットコインネットワークのそもそもの仕組みについて知りたい方は以下の記事を参考にしてください。
SegwitはSegregated Witnessの略語であり、”Segregated”は分離することを意味し、”Witness”は証人は取引の署名のことを意味します。したがって、トランザクションの署名(シグネチャデータ)を分離することを意味します。
Segwitの概念はPieter Wuille博士によって策定されました。ちなみに、Segwitは「セグウィット」と呼ばれています。
ビットコインブロックチェーンは、ピアツーピアネットワーク(P2P)で構成されており、分散された複数のシステムで運用されています。これらのシステムはノードと呼ばれ、ビットコインのトランザクションの管理者として機能します。
ビットコインで行われたすべてのトランザクションはこれらのノード間で複製されるため、1つのトランザクションをハッキングして破損させることは事実上不可能です。
複数のノードで共有されるトランザクションデータは、入力(Input)と出力(Output)の2つのコンポーネントで構成されています。そして、トランザクションには1つまたは複数の入出力が含まれている可能性があります。
出力(Output)は受信者(ビットコインを受け取る人)の公開鍵(パブリックアドレス)の情報が入っています。入力(Input)は、送信者(ビットコインを送金/送付する人)の公開鍵が含まれています。
ビットコインの送付者は、送金するために受取人のウォレットのアドレスが必要です。このウォレットのアドレスは公開鍵のことです。トランザクションの大半の領域は、送信者が支払いに必要な資金(ビットコイン)を持っていることを確認する署名、入力(Input)の一部で構成されています。
つまり、実際にビットコインは、送信されたトランザクションごとに入力(Input)から出力(Output)に移動します。各ノードがトランザクションを有効であると検証すると、そのトランザクションは、ブロックチェーンに追加されたブロックに含まれます。
そんなビットコインネットワークが直面している問題は、ますます多くのトランザクションが実行されるにつれ、より多くのブロックをチェーンに追加する必要があるということです。
ご存知の通り、2017年から2018年にかけて、ビットコインは世界中の人に利用されるようになりました。そんなビットコインですが、ブロックチェーンに繋ぐためのブロックは10分ごとに生成され、そのブロックは最大1メガバイト(MB)に制限されています。
この容量の制約があるため、ブロックに追加するトランザクションの数は限られます。ビットコインの利用者が増え、トランザクションが発行されればされるほど、トランザクションの処理や検証には多くの遅延を招いてしまいます。
その結果、トランザクションが有効であることを確認するのにとても時間がかかってしまいます。2009年にビットコインが作られて以来、実行されてきたビットコインのすべての取引がブロックチェーンに乗っていて、それが積み重なっていると想像してください。
ビットコインを今後も長期的に活用していくためには、革新的な変化がなされなければ、システムは持続可能ではないことがお分かりになるかと思います。
Pieter Wuille博士は、この問題を解決するために、シグネチャデータ(電子署名)を取引データから分離する必要があることを示唆しています。このプロセスを、Segwitと呼んでいるのです。
電子署名は、トランザクションのスペースの65%を占めています。Segwitは、入力(Input)から署名を取り除くことにより、1つのブロックに含められるトランザクションを多くすることができます。
Segwitの導入により、最大で4MBのデータを1MBのブロックに収める可能性があります。
また、Segwitは、容量の解決のみならず、セキュリティも強化されます。Segwitにより電子署名がトランザクションとは別の場所に保管されているため、外部からトランザクションIDを変更することができなくなります。
そんなSegwitですが、2017年8月に無事にビットコインに導入(ロックイン)されました。Segwitを導入することで中国の大手マイニングプールが不利になるなど、デメリットも多少なりともありますが、基本的にはSegwitの導入はビットコインの未来を明るくするものでしょう。
余談ですが、ビットコインキャッシュはSegwitのロックインに不満を持った中国の大手マイニングプールに有利な設計になっているため、ビットコインのハードフォークで唯一と言っていい成功事例の一つとなっています(2018年2月18日現在)。
ビットコインにSegwitが導入されてネットワークの混雑(送金詰まり)は解決された?
皆さんご存知の通り、ビットコインネットワークの混雑(送金詰まり)は未だ解決されていません。Segwitが導入されたのにどうして?と思う方も多いかと思いますが、Segwit対応するのはビットコインのシステム本体のみならず、ウォレットなどを管理しているアプリケーション側もシステム改修が必要なのです。
そのため、未だSegwit対応していないビットコインウォレット等のアプリケーションもあるのと、引き続きビットコイン利用者が急増しているということもあり、ビットコインの送付や受取に時間がかかっている現状があります。