Segwitとは?Segwitの実装で改善されるビットコインの問題点

Segwit(セグウィット)を解説

近年、ビットコインの認知度上昇に伴い、送金詰まりや送金手数料などの諸問題(スケーラビリティ問題)が深刻化しています。スケーラビリティ問題はビットコインを遅くて高い、使いづらい仮想通貨にしてしまいます。

この問題を解決する技術の一つがSegwitです。Segwitは2018年4月時点ですでにビットコイン(BTC)、ライトコイン(LTC)、モナコイン(MONA)などに搭載されており、様々な仮想通貨の使い勝手を向上させる技術として期待されています。

Segwitとは?

Segwit(セグウィット)とは、「Segregated Witness」の略で、直訳すれば「署名の分離」です。日本語だとセグウィットと読みます。

もう少し具体的に言うと、トランザクションのデータの中にある署名データを分離して保存することによってトランザクションデータを小さくし、1つのブロックに格納できるトランザクション数を増やす技術のことです。

segwitの仕組みを図解で解説

署名はビットコインのブロックチェーンの約60%を占めており、これを分離して保存すれば、理論上のブロックサイズは約4倍になるとされています。

Segwitの仕組み

Segwitをより詳しく理解するためには、ビットコインのブロックチェーンの仕組みについて理解する必要があります。ビットコインのブロックチェーンのブロックは、おおむね10分に1個のペースで生成されます。このブロックの中に、10分間に行われたトランザクションのデータ、ノンスやハッシュ値等のデータが格納されます。

ブロックの大半を占めるのはトランザクションのデータです。このトランザクションのデータはさらにアウトプット(送り先を記載したデータ)とインプット(送り元を記載したデータ)に分けられます。アウトプットの中にはビットコイン送金元のアドレスをロックする「ScriptPubKey」が、インプットの中にはそれを解除する「ScriptSig」があります。

Segwitでは、このScriptSigを別の領域に保存します。

ScriptSigを別の領域に保存

別の領域に保存するため、ブロックサイズに余裕ができ、より多くのトランザクションを詰め込めるようになります。

Segwitの実装で改善されるビットコインの問題

Segwitはスケーラビリティ問題を筆頭に、数多くの問題を解決します。

スケーラビリティ問題の解決

スケーラビリティ問題とは、ビットコインのブロックのデータ容量が1MBしかないことが原因で発生する送金詰まりや送金手数料の高騰などの諸問題のことです。

近年、ビットコインの10分間あたりのトランザクション数≒ブロックに格納されるトランザクション数は急激に増加しています。Blockchain.infoによれば、2010年頃までは1つのブロックに1つのトランザクションしか格納されない事がほとんどでしたが、最近は1000を超えるトランザクションが格納されています。2018年以降はビットコインの価格下落に伴いやや落ち着いたものの、それでも高い水準を維持していることは間違いありません。

10分間に行われるトランザクション数が増加すればするほど、ブロックサイズは圧迫されます。

トランザクションの送金詰まり

ブロックに収まりきらないほどのトランザクションが行われると、送金詰まりが発生します。ビットコインは送金手数料を高く設定すると優先的に承認される仕組みになっているため、送金詰まりは取引手数料高騰を招きます。トランザクションの急激な増加はビットコインを「遅くて高い」仮想通貨にしてしまうのです。

Segwitを実施すれば前述の通り、トランザクションのデータサイズが小さくなるため、1つのブロックに格納できるトランザクションの数が増えます。それはビットコインを「安くて早い」理想の仮想通貨に戻す上で非常に重要です。

トランザクション展性の解決

トランザクション展性とは、各トランザクションに設定されているトランザクションIDが変更されてしまう危険性のことです。

ビットコインの各ブロックには多数のトランザクションが格納されており、それを識別するためにトランザクションIDが与えられます。トランザクションIDは署名データなどから自動的に導き出されます。

Segwitが導入されていない仮想通貨では、トランザクションに含まれるアドレスや送金量(受取量)を変更しないまま、トランザクションIDだけを変更できてしまいます。仮想通貨ウォレットの中にはトランザクションIDだけをトランザクションの識別に用いているものがあります。言い換えれば、トランザクションIDを変更すれば、二重支払いが可能になってしまうわけです。

SegwitはトランザクションIDの改ざんが難しい

Segwitを導入すると、トランザクションIDを導くための署名データが別領域に保存されるため、トランザクションIDを勝手に書き換えられづらくなります。

Segwitのデメリット

このように様々な問題を解決できるSegwitですが、決して万能の技術というわけではなく、デメリットも少なからず存在します。

ウォレットの対応を待たなければならない

Segwitの1番のデメリットは、すべてのウォレットに実装されるまでには時間がかかることです。ビットコインにSegwitが導入されても、仮想通貨取引所やウェブウォレット、ハードウェアウォレットなどの各ウォレットがそれに対応しなければ、その機能を使うことはできません。

各ユーザーが各ウォレットの仕様を直接変更することは不可能なので、セグウィットのメリットを享受するためには、自身の使用しているウォレットがSegwitに対応するのを待たなければならないのです。日本ではBitFlyerやBitbank.cc,海外ではBitstampなどの取引所のほか、TrezorやLedgerなどのハードウェアウォレットが対応していますが、未対応のウォレットも少なくありません。

一時しのぎにしかならない可能性がある

Segwitはビットコインのブロックチェーンのブロックサイズを擬似的に4MBにまで増やしましたが、これで十分である保証はどこにもありません。ビットコインを限られた人しか取引していない現状でも1MBがカツカツになっているのだから、更に普及すれば4MBもすぐに埋まってしまうのではないかという懸念は拭い切れません。

ちなみに、Bitcoinから分裂して発生したビットコインキャッシュ(BCH)は、ブロックサイズが8MBとかなり大きい上、2018年5月にはハードフォークによって32MBまで拡大しました。

ビットコイン側もこれに対抗するためにライトニング・ネットワークという新技術の搭載を検討するなどしていますが、今後しばらくは両仮想通貨による競争が続くかもしれません。

0 0

この記事の共有はここから