Block Sizeとは何ですか?
Block Sizeは、ブロックチェーン上で単一のブロックが運べるデータの最大量です。ブロックが生成される前にどれだけのトランザクションが入るかの上限を決めます。列車の車両のようなもので、車両が大きければ乗れる人数は増えますが、各駅に到着するまでに時間がかかることがあります。
Block Sizeが大きければ常に取引は即座に安くなる、というわけではありません。ブロックが大きいとネットワーク上で広がるのに時間がかかり、古いブロックが発生しやすくなったり、小規模ノードが参加しにくくなったりするリスクが高まります。
Block Sizeの仕組み
以下は、ブロックが組み立てられるときに実際に何が起きるか、そしてBlock Sizeがその過程でどのような役割を果たすかの簡単な説明です。
- Step 1:人々がトランザクションを送ります。これらはmempoolと呼ばれる公開の待合室に積み上がります。
- Step 2:マイナーやバリデータがトランザクションを選び、プロトコルの上限に達するまで詰め込みます。その上限が各ブロックのトランザクション容量を形作ります。
- Step 3:候補ブロックがブロードキャストされます。他のノードが検証し、すべてのチェックが通ればチェーンの一部になります。
- Step 4:需要に対してBlock Sizeが不足していると、一部のトランザクションがキューに残り、ネットワーク混雑が発生します。
- Step 5:Block Sizeが非常に大きい場合、各ノードの限られたネットワーク帯域幅のためにブロックの伝播に時間がかかることがあります。伝播時間が長くなるとチェーン分岐や無駄な作業が増える可能性があります。
これがサイクルです。検証して、また繰り返します。
なぜBlock Sizeが重要か
ユーザーや開発者として何を気にすべきでしょうか?
- 利点:Block Sizeを大きくすれば各ブロックにより多くのトランザクションが入れられ、取引が混雑する時間帯でも手数料の上昇を抑えやすくなります。
- 視点:大きすぎるとノードのハードウェアやストレージの要件が高まり、参加できる主体が限られてしまいます。これはネットワークリソースやフルノードを運用する人に直接関係します。
- 関連性:Block Sizeは、ビットコインやイーサリアム、利用者の多いアプリがあるチェーンでスループット、手数料、分散性を議論するときによく取り上げられます。
Block Sizeをブロック時間、通常の手数料、チェーンがロールアップや支払いチャネルを使っているかどうかと比べてみてください。サイズだけが全てではありません。
Block Sizeの主な特性
その動きを決める詳細:
- 上限:プロトコルルールがブロックに含められるデータ量を制限します。
- 実効:実際の埋まり具合は需要や手数料によって上限を下回ることが多いです。
- 伝播:大きなブロックは広がるのに時間がかかり、それがセキュリティや確定感に影響します。
- 手数料:需要がBlock Sizeより速く増えると手数料が上がる傾向があります。
- アップグレード:Block Sizeの変更は通常、広範な合意と慎重なテストが必要です。
バリエーション
チェーンによってこの考え方を測定したり適用したりする方法は少しずつ異なります:
- 最大:クラシックな1メガバイト制限のように、ブロックごとのバイト上限を直接設定する方法。
- ウェイト:SegWitのように一部のデータをより重く数える加重方式。
- ガス:スマートコントラクト系チェーンで一般的な、計算コストに結びついたブロックごとのガス上限。
- 適応:あるネットワークでは最近の使用状況に基づき緩やかに上限を調整し、変動をならす仕組みを採用しています。
Block Sizeはコンセンサスルールです。自分のノードだけで変更してネットワークが従うと期待することはできません。
例
混雑する週末には、需要に対してBlock Sizeが小さいと多くのトランザクションが待たされ、mempoolが解消されるまで手数料が上昇することがあります。
豆知識
2017年の有名なブロックサイズ論争はビットコインコミュニティを分裂させ、Bitcoin Cashを生み出しました。プロトコル設計が公の議論と結びついた印象的な出来事でした。
まとめ
短く言うと:Block Sizeはブロックに入る量の上限であり、その上限をどう設定するかは速度、手数料、そしてノードを運用できる人々の範囲との間でのトレードオフです。
