ビットコインのブロックサイズ問題や上限に達した場合について

カテゴリ knowledge

ビットコインの問題点や将来性について語るうえで外せない話題が「ブロックサイズ問題(スケーラビリティ問題)」です。
取引を格納するブロックの大きさが小さいため、ビットコインの取引量が増えた昨今では、送金時間の大幅な遅延や未取引トランザクションの増加が起こり、深刻な問題となっています。
この記事では、ビットコインのブロックサイズ問題について詳しく解説していきます。

この記事では、以下の点について解説しています。

1.そもそもブロックサイズとは?


ビットコインにおける「ブロックサイズ問題」を説明する前に、まずはビットコインの「ブロック」や「ブロックサイズ」とは何なのか説明していきます。

1.1 ビットコインの取引履歴はブロックに書き込まれる

ビットコインが送金される場合、すべての情報はブロックチェーン上の「ブロック」と呼ばれる箱のようなスペースに書き込まれます。

すべての情報がひとつのブロックに書き込まれるわけではなく、一定時間ごとに生まれるブロックに順番に書き込まれていきます。7

ビットコインのブロックチェーンは、約10分ごとに新しいブロックが生成されます。これらのブロックひとつひとつが鎖のようにつながれていくことから、ブロックチェーンと呼ばれています。 

1.2 ビットコインのブロックサイズは1MB

このときブロックに書き込むことができる最大容量が「ブロックサイズ」です。
ブロックサイズが多いほど、1度に書き込める情報が大きくなりますが、ビットコインのブロックサイズは最大1MB(メガバイト)のため、これ以上の情報をひとつのブロックに書き込むことはできません。
ビットコインのブロックサイズ容量は、最初は36MBでしたが、安全性を確保するために2010年から1MBに変更されました。
その後、ビットコインの取引量が増加したことにより取引を記録するのに1MBのブロックサイズでは収まらなくなりましたが、現在もビットコインのブロックサイズは、1MBのままです。
2018年現在、世界中で発生する取引は10分で1MBを超えることが多いため、送金処理の遅延が常態化しています。
これが、ビットコインのブロックサイズ問題、またはスケーラビリティ問題と呼ばれています。 

2.ビットコインのブロックサイズ問題について

ビットコインのブロックサイズ容量が1MBに制限されていること、そして約10分に1回しかブロックが生成されないことから、ビットコインの処理速度の遅さが問題になっています。これが「ブロックサイズ問題(スケーラビリティ問題)」です。 

2.1 ビットコインが処理できる取引は毎秒6~7件のみ

ビットコインの1取引あたりのブロックサイズは取引ごとに異なり、190バイトの場合もあれば1KBを超える場合もあります。
平均するとおおよそ250バイトといわれています。
1取引あたり250バイトで計算すると、ブロックサイズが1MBのビットコインブロックには約4,000件の取引記録しか記録できません(1,000,000バイト÷250バイト=4,000件)。
ビットコインのブロック生成は約10分かかるため、10分で4,000件を処理すると、1秒間に処理できる取引はわずか6~7件という計算になります(4,000件÷600秒=6.66件/秒)。
この取引スピードは、従来の決済システムと比べるとかなり遅いといえます。
例えばクレジットカードのシステムは、1秒間に4,000~6,000件処理できる能力があります。
これと比べると、ビットコインの処理スピードは500分の1以下です。
ビットコイン以外の仮想通貨と比べても、ビットコインの処理能力はかなり低いといわざるを得ません。
例えばリップル(XRP)が1秒間に処理できるトランザクション数は1,500件です。
また、別の仮想通貨でも新しい技術が実装されれば、1秒に最大4,000件(平均3,000件)のトランザクションを処理できるといわれています。 

2.2 ビットコインの取引量が処理能力を上回り始めた

2013年頃、ビットコインの取引量がまだ少なかった当時は、1ブロックごとに収められたデータサイズは100~200KB程度でした。
しかし2015年頃から一気にビットコインの取引量が増え、処理できる量である1MBを超え始めました。
ビットコインの取引量が増え、処理できるキャパシティを超えてしまった結果、送金処理に長い時間がかかったり、未処理トランザクションが増えたりという深刻な問題を引き起こすことになったのです。

3.取引量がブロックサイズ上限を超えるとどうなるのか


ここからは、取引量がブロックサイズ上限の1MBを超えると、どのような弊害が起こるのか、2つの可能性と解決策をご紹介します。
 

3.1 送金処理に大幅な遅延が発生する

前述したように、1MBのブロックサイズには約4,000件のトランザクションしか格納できません。
それを超える取引が発生した場合は、次のブロックが生成されることになりますが、ビットコインが生成できるブロックは約10分に1回と決められています。
よって、処理しきれなかったブロックは滞留ブロックとなります。
ビットコイン取引量が増えれば増えるほど、処理が終わっていない滞留ブロックは溜まっていきます。これがいわゆる「送金詰まり」の状態です。
未処理の滞留ブロックが増えることで、通常ならば10分程度で処理できる送金処理に遅延が発生します。
どのくらい遅れるのかはブロックの混雑状況によりますが、数時間、場合によっては何日もかかることも考えられます。
 

3.2 送金手数料が高くなる

ビットコインの送金手数料は、ブロックの承認作業を行っているマイナー(採掘者)への報酬です。
マイナーは送金手数料が高い取引から優先的に処理するので、トランザクションが混雑しているときは、送金手数料の安い取引はなかなか処理されません。
そのため、なるべく早めに送金をするためには、ビットコインの送金手数料を高くする必要があります。
2017年12月にビットコイン価格急騰により取引量が大幅に増加した際には、ビットコインの送金手数料を一時的に引き上げた仮想通貨取引所もありました。
 

3.3 ブロックサイズ問題を解消する方法とは

ビットコインのブロックサイズ問題を解決するために、実はすでにいくつかの施策が実行されています。
ブロックサイズ問題の解決方法としては、ビットコインのプログラムを変更してブロックサイズ上限を大きくする方法、ブロックサイズ上限は変えずに1取引のデータ量を小さくする方法、そして、取引データをブロックチェーンの外で保管する方法が考えられます。
 

3.3.1 ビットコインのプログラムを変更してブロックサイズ上限を大きくする

ひとつ目のブロックサイズ上限を大きくする方法は、2017年8月に誕生したビットコインキャッシュによって実現されています。
ビットコインキャッシュはビットコインが分裂してできた仮想通貨で、ブロックサイズが8MBと8倍になりました。ただし、ビットコインのブロックサイズは1MBのままです。
 

3.3.2ブロックサイズ上限は変えずに1取引のデータ量を小さくする

ふたつ目の方法は、ブロックサイズ上限は1MBのままで、ひとつの取引データ量を小さくする方法です。
これは、ビットコインキャッシュ分裂時と同時期に、ビットコインに実装されたSegwit(セグウィット)により実現されています。
それまでブロックに含めていた署名を取り除き、別の領域に保存することで、取引ごとのデータ容量を約半分まで少なくすることができます。
 

3.3.3取引データをブロックチェーンの外で保管する

3つ目の方法は、ライトニングネットワークという技術で解決できるのではないかといわれています。
送金まわりの取引をオフチェーン(ブロックチェーンの外側)で行い、最終的な結果だけをブロックチェーンで処理しようという考えです。
まだ本格導入には至っていませんが、ビットコインのブロックサイズ問題を解消する方法として注目されています。

投稿者

Liquid編集部