Segwit(セグウィット)とは?単なる圧縮じゃないビットコインの技術を解説!

▼おすすめの取引所ランキング

本記事では、最近小耳にはさむ「Segwit」とは何かを解説していきます。

最近ではこんなニュースもあり、Segwitが注目を集めています。

仮想通貨取引所最大手のBitfinex(ビットフィネックス)GDAX(ジーダックス)が最近になってSegwit(セグウィット)を取り入れ、ビットコインの取引手数料がようやく元の水準まで下がった。

ビットコインの将来性を語るのに欠かせないSegwitとはどんな技術なのか?

そんな疑問を解決できるよう、わかりやすく解説していきます!

Segwitとは

Segwitを簡単に言えば…

トランザクション(データのやり取り)を行うのに必要ない証明IDデータを外部化することで、下記のようなメリットのある仕組み。

・「データを圧縮」して実質一回のトランザクション量を増加

・「取引を誤魔化す」ことを防ぐ

Segwitという言葉はSegregated Witnessの短縮語です。

Segwitは「スケーラビリティ問題」と「トランザクション展性問題」に対する一つの解決方法です。

スケーラビリティ問題とは

スケーラビリティ問題とは、簡単に言えば「ブロック」に書き込める情報に制限があり、大量のデータを一度にやりとりできない問題のことです。

その問題が引き起こす問題は主にこちらの2つ。

  • 決済遅延が発生する。
  • 手数料が高騰する

ビットコインに代表される仮想通貨は、ブロックチェーン技術が使われており、取引の情報をブロックが記憶しています。

「ブロック」にも書き込めるサイズが決まっており、データ容量というものが存在します。

そのブロックサイズは1MBと決まっているのです。また、ブロックは10分毎に1つしか作成されません。

その為一回のブロック生成における承認できるトランザクションの数も限られます。

するとデータの処理速度がその他決済システムと比べると非常に遅くなってしまいます

ビットコインを送金してみるとわかりますが、送金の反映までに1〜2日かかることも珍しくありません。

また、マイナー(ブロックを作るためのハッシュ値を計算し報酬をもらう人)は高い手数料を支払うユーザーのトランザクションを優先してブロックに取り込むため、手数料も高騰します。

▼スケーラビリティ問題とは

仮想通貨やビットコインを勉強し始めるとよく聞く「スケーラビリティ問題」。 これはビットコインの将来性を大きく左右する問題だと言われ

トランザクション展性とは?

トランザクション展性(transaction malleability)とは、各トランザクションを識別するためのトランザクションID(txid)が変更されてしまう脆弱性のことを言います。

それの何が問題かというと、簡単に言えば取引をごまかして「ズル」できます。

自分が払う予定の、データをトランザクションIDを変更するだけで、他人が払うことにしてしてしまえるのです。

Segwitは「取引のサイズ圧縮」をし「トランザクションIDの変更」をできなくする

「スケーラビリティ問題」に対して改善策のひとつとして「取引のサイズ圧縮」が挙げられます。

トランザクションに使われるデータの中で、大部分を占める(60%くらい)scriptSigと呼ばれる署名のデータをwitness dataと名付け、トランザクションインプットの外に移動させました。

つまり、送信元に含まれる署名情報を分離(segregate)し、独立した署名領域(witness)を生成するわけです。

そうすることで、トランザクションから無駄なデータがなくなり圧縮されます。

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

そのため「トランザクション展性」の問題も解決します。

ブロックを大きくしてはいけないの?

普通に考えて、データ圧縮するよりブロックの容量増やしたらいけないの?と思う人もいるでしょう。

結果から言いますと、できなくもないですがデメリットがあります。

ブロックチェーン技術は、マイニングしてくれてるパソコンの力を少しずつ借りて成り立っています。それぞれのパソコンにデータの全てのやり取りが保存されているので、書き換えを難しくしデータの信頼性を保証しています。

そこで1つあたりのブロックサイズを単純に大きくしてしまうだけですとどうなるでしょうか?膨大な量のブロックを保存できるだけの大容量端末が必要になってしまいます。

そのため、中央集権化してしまうので本末転倒なのです。

Segwitの効果

実質容量が1MBだったものが4MBになります。

(正確には、今までは「1MBのブロックサイズ」と制限していたものを、SegWit実装以後では「4MBのブロックウェイト」で制限する。)

メリット

  • トランザクションが増え使い勝手が上がる
  • トランザクション展性に対しての耐性がつく
  • 手数料が安くなる

デメリット

  • 取引の混雑が緩和されることから、手数料が低くなり、マイナーの報酬が低くなる。
  • ソフトフォークによりネットワークに不具合が生じる可能性がある。
  • 実装が複雑でそれに伴い全てのウォレットがsegwitに対応しなければならない

まとめ

現在ビットコイン自体にはSegwitが実装されていますが、取引所やウォレットが全てSegwitの機能に対応しないと結果的にSegwitのメリットを利用できないという問題が発生しています。

近年ビットコインの取引量が爆発的に増えました。

それに伴いビットコインの送金に関する問題点が浮き彫りになっていましたが、Segwitはその解決策となるものです。一刻も早く普及して欲しいところですね。

今後のSegwitの広がりにビットコインの送金の利便性などがかかってきそうです。


ビットコイン (bitcoin) 用語解説