Segwit(セグウィット)とは

カテゴリ glossary

Segwit(セグウィット)とは、仮想通貨/暗号資産市場のスケーラビリティの課題を解決するために採用されている方法のひとつです。

 

Segregated Witnessの略で、トランザクション(取引)のデータ中に含まれている署名部分を新しい領域に移動させるシステムです。

 

スケーラビリティの課題とはいくつかありますが、その中でビットコインのブロックチェーンサイズが一般的な決済システムよりも小さいことによる不都合は特に注目されています。

 

現状では大きな問題は起きていないものの、ビットコインの注目度が高まっている状況を考えると、今後ビットコインの取引量は大幅に増えると考えられています。

 

そうなった場合、現在のビットコインのブロックチェーンサイズが小さいことで取引量の増加に対応できない可能性があります。

 

対応できないというのは、すなわち送金処理をはじめとした取引の遅れや停止が起きることにつながりかねない、ということです。

 

多くの技術者が指摘しているこの問題を解決するために、取引データのサイズを圧縮しようという考えのもと採用されているのがSegwitです。

 

取引データのサイズを圧縮するのではなく、取引データを記録するブロックサイズを大きくすればいいのではないかと考えがちですが、ブロックチェーンというシステムではさまざまな支障をきたします。

 

ブロックチェーンは、過去の取引データが記録されたブロックが延々とつながっている台帳の役割を果たすものです。

 

そのため、あるブロックのサイズを大きくすると、そのブロックにつながった他のブロックにも影響が出てしまいます。

 

ブロックそのものを変えるのではなく、ブロックの中に記録する取引データの容量を圧縮によって小さくすることで、結果的に処理量を増やすというのがSegwitの考え方です。

 

トランザクションのデータの中で、データサイズが大きいのが署名部分です。

 

その署名部分を削除して、トランザクションから独立した署名領域を使って署名することで、1つのブロックに記録できるトランザクションデータを増やすことができます。

 

また、署名に何か細工を加えていた場合でも、トランザクションのIDは変化することがありません。

 

この働きによって、トランザクションの二重支払いを意味するトランザクション展性の発生を防ぐことができます。

 

さらにブロックサイズに関する制限の緩和に対しても有効です。

 

理論上は、最大4MB近くのサイズが1.7MB程度になると推測されています。

投稿者

Liquid編集部(基礎)