ビットコインの抱える問題点とこれからの可能性(可能性編)
ビットコインでは、時間あたりの取引数が限られており、送金がなかなか行えない状況が続いています。このことをスケーラビリティ問題といいます。どの程度、送金が行えない状況かは、以下の記事に書いています。
それを解決するために、ビットコインの開発者は知恵を絞っています。今回は、スケーラビリティ問題を解決するための技術を紹介します。ビットコインのこれからの可能性を押さえておきましょう。
セグウィット(Segwit 2x)
ビットコインは 2017/08/24 にセグウィット(Segwit)を導入しました。セグウィットでは、取引(トランザクション)データの 60% を占めるデジタル署名部分(この取引は自分がしたよという証明)を分離し、取引データを圧縮するというものです。
このデジタル署名部分は、トランザクション検証には必要ない部分であるため、ただの傍観者(Witness)を分離する(Segregated)ということから、Segwit(Segregated Witness)となります。
取引データが圧縮されることにより、ブロックの容量はそのままですが、ひとつのブロックに含められる取引数が多くなります。試しに、chainFlyer で Segwit が有効になった 481824 ブロックとその前後を見てみると、確かに取引数は増えた印象を受けますが、2 倍とかは増えていませんね。
2017/08/24 に行われたセグウィットですが、次はセグウィット 2x(Segwit 2x)が予定されています。2017/11/15 に実施される見込みでしたが、現在、延期されています。
セグウィット 2x では、セグウィットによる取引の圧縮に加えて、ブロックのサイズを 1 → 2MB にすることが予定されています。単純に時間あたりの取引数が 2 倍に増えそうですね。
ライトニング・ネットワーク
セグウィットを導入することにより、将来、実装可能になるのがライトニング・ネットワークと呼ばれる技術です。このライトニング・ネットワークによっても、スケーラビリティ問題が解決できる可能性があります。
ライトニング・ネットワークでは、取引処理をビットコインのブロックチェーン外で実行することができます。具体的には、ユーザー間で決済チャンネルを作り、そこで取引を行えます。また、二者のユーザー間だけでなく、複数のユーザー間でも行えます。そして、最終的な結果をブロックチェーンに送り込めます。
これにより、例えば A さんと B さんの間で複数回の取引があったとき、これまでは複数回分をブロックに書き込まなければいけませんでしたが、ライトニング・ネットワーク導入以降では、最終的な結果を書き込む、つまり 1 回だけブロックに書き込むだけで良くなります。
このように、ライトニング・ネットワークを使えば、今までの手順をある程度省くことができるため、送金は一瞬で完了するとのことです(その分「決済完了性」を少し犠牲にします)。