
Mempoolは、ブロックチェーンノード上に設けられた「待合室」であり、開始されたもののまだ処理されていないトランザクションが一時的に保管される場所です。 「memory」と「pool」を組み合わせた用語で、トランザクションがブロックチェーンに追加される前に順番待ちをするためのデジタルスペースを指します。
ユーザーが暗号資産のトランザクションを発行すると、システムによる処理完了まで遅延が発生する場合があります。トランザクションが開始されて確定するまでの間、そのデータはmempoolに保持されます。この中間状態は、ブロックチェーンネットワークがトランザクションを管理する上で不可欠です。
Bitcoinは、ブロックチェーン技術を一般化させた最初のプロジェクトです。Satoshi Nakamotoは、mempoolを活用したトランザクション処理の仕組みを導入しました。その後、Ethereumを含む他の多くのブロックチェーンプロジェクトがこのモデルを採用しています。
すべてのブロックチェーンにはmempoolが存在しますが、呼称が異なる場合もあります。たとえば、Parityブロックチェーンプロジェクトではmempoolを「Transaction Queue」と呼びます。名称が異なっても、未処理トランザクションを一時的に保存するという役割は共通です。
Mempoolに追加される各トランザクションは、通常数キロバイト(KB)以内のデータパケットです。これら全体の合計サイズがmempoolのサイズとなり、ブロックチェーンネットワークの稼働状況や負荷を示す主要な指標となります。
Mempoolが大きい場合は、承認待ちのトランザクションが多いことを意味します。mempoolサイズの推移を追跡することで、トランザクションの処理速度を予測したり、優先的な処理のために最適な手数料を見積もることができます。
ビットコインのmempoolサイズは、暗号資産価格の急激な変動時に急増する傾向があり、ボラティリティが高まる局面で取引が活発化する様子がチャートから確認できます。
注目! 各ノードはmempoolのサイズ上限を設定可能です。閾値を超えると、ノードはトランザクションに最低手数料を要求する場合があります。これによってネットワークの過負荷やスパム攻撃からの保護が実現されます。
Mempoolは、ブロックチェーンノードの動作において不可欠な役割を果たします。トランザクションがブロックチェーンに記録されるためには、まずブロックに取り込まれる必要があります。どのノードがブロックを作成できるかは、ネットワークのコンセンサスメカニズムに依存します。
例えば、BitcoinのようなProof-of-Work型のブロックチェーンでは、マイナーのみがトランザクションをブロックに追加できます。マイナーは計算リソースを使い、暗号パズルを解いて新しいブロックを生成します。Proof-of-Stake型のEthereumでは、トークンをステーキングするバリデータがこの役割を担います。
トランザクション作成後、ユーザーはバリデータまたはマイナーによる承認を待ち、ブロックへの取り込みとブロックチェーンへの記録を待つことになります。このプロセスは即時には完了せず、トランザクションの検証およびネットワーク全体での合意形成が必要です。この間、トランザクションはmempoolに留まり、検証およびブロック取り込み、ブロックチェーン記録が終わるまで一時保存されます。
一つのブロックチェーンには複数のmempoolが存在します。各ノードは、検証およびブロック取り込み待ちのトランザクションを保管する独自のデジタルスペース(mempool)を持っています。 これら各ノードのmempoolが集まり、分散型のmempool全体を構成することで、ネットワークの信頼性と耐障害性が維持されます。
ユーザーがトランザクションを送信すると、それがノードに届き、ノードは自身のmempoolに追加し、検証待ちとしてキューに登録します。 デジタル署名の確認、送信者残高の確認、プロトコル準拠の検証などがここで実施されます。
検証が完了したトランザクションは、保留状態に移行します。 この段階のトランザクションのみが、マイナーやバリデータによってブロック取り込み対象として選定されます。手数料の大きさなど複数の要素が選択基準となりますが、手数料は特に重要です。
トランザクションがブロックチェーンに記録されると、ノードに通知が届き、各ノードは自身のmempoolから該当トランザクションを削除し、ネットワーク全体でmempoolの同期が図られます。
Mempoolの機能やトランザクションのライフサイクルを説明するために、0.01 BTCを友人に送る場合の具体的な流れを見てみましょう。
トランザクションの開始。 まず、友人の暗号資産ウォレットアドレスを取得し、受取人アドレスとして入力します。必要に応じて推奨手数料を確認し、最後に「送信」をクリックします。
mempoolへの追加。 トランザクションはmempoolに送信され、「保留」状態となります。この時点ではまだブロックチェーンには記録されていません。
ブロードキャストと検証。 ネットワークはトランザクションを他のノードにブロードキャストし、各ノードはプロトコル準拠を検証します。
バリデーション。 ノードがトランザクションを承認すれば、一般的なキューからブロック取り込み待ちのグループへ移動します。問題があれば、トランザクション未承認の通知が届きます。
ブロックへの取り込み。 マイナーまたはバリデータがトランザクションを新しいブロックに追加し、ブロックチェーンに記録します。手数料の大きさが選定の主な基準となります。
情報の伝播。 マイナーまたはバリデータがブロックを他のノードにブロードキャストし、どのトランザクションが含まれたかを全ノードが把握します。
mempoolのクリーンアップ。 この段階で各ノードは自分のmempoolから該当トランザクションを削除します。
完了。 これで送金は完了し、友人は0.01 BTCを受け取り、トランザクションはブロックチェーン上に恒久的に記録されます。
mempoolの混雑は、保留中のオペレーション数が単一ブロックに格納できるトランザクション数を超えた場合に発生します。 これにより、処理速度が大幅に低下し、トランザクション手数料が上昇することがあります。主な原因は次の通りです。
ネットワーク混雑。 トランザクション数の急増がブロックスペースを埋め、mempoolが過負荷となります。例えば、ビットコインの標準的なブロックには約3,150件のトランザクションが含まれます。保留中のトランザクションがこれを大きく上回る状態が数時間続くと、ネットワークとmempoolの両方が混雑し、確認までの待ち時間が数分から数時間、場合によっては数日間に及ぶこともあります。
イベントやニュース。 トークンローンチ、エアドロップ、有名人による暗号資産のプロモーションなどの業界イベントが、トランザクション需要の急増を引き起こし、mempoolの混雑につながる場合があります。これは著名なICOや新規NFTプロジェクトの開始時にも発生しています。
フォークやネットワークアップグレード。 フォークやプロトコルのアップグレードなどネットワークの変更時には、ノードが最新バージョンの更新や同期に集中するため、mempoolが一時的に混雑します。この期間はネットワークパフォーマンスが低下しやすくなります。
トランザクション手数料は、mempool内での処理順を決める主要な要素です。マイナーやバリデータは、最大利益を求めてブロックに取り込むトランザクションを選択します。つまり、ユーザーが支払う手数料が高いほど、トランザクション処理が速くなります。
これにより、次のブロックの空き枠を巡ってユーザー間で手数料競争が生まれます。ネットワークが活発な時期には、通常よりも手数料が大きく上昇することがあります。一部ウォレットは、現在のmempoolの状況に基づき動的な手数料推奨を提供しています。
そのため、ビットコインのトランザクション承認時間はmempoolの混雑状況や設定手数料に依存します。ネットワーク負荷が低く手数料が高ければ確認は速くなり、混雑や低手数料の場合はビットコインや他の暗号資産の承認までに時間がかかります。極めて低い手数料のトランザクションは、一定期間が経過すると処理されずにmempoolから削除されることもあります。
Mempoolは未確認のブロックチェーントランザクションを一時的に保管するスペースです。各トランザクションには手数料が設定されており、手数料が高いほど優先的に処理されます。
手数料が低い場合やネットワークが混雑している場合、トランザクションはmempoolに残りやすくなります。バリデータは手数料が高いトランザクションを優先するため、取引量が多いと遅延が発生します。
トランザクション手数料がmempoolでの処理優先度を決定します。手数料が高いほどキューの上位に移動し、より早く処理されます。手数料の高いトランザクションが最初に承認されます。
いいえ、手動でトランザクションをmempoolから削除することはできません。mempoolは未処理トランザクションをブロックチェーンに取り込まれるまで一時的に保持します。ただし、より高い手数料で再送信するか、保持期間が経過するのを待つことは可能です。
mempoolが大きくなるとネットワーク負荷が高まりますが、適切なサイズを維持すれば混雑を防ぎ、トランザクション処理が速くなり、ブロックチェーン全体の効率が向上します。
Mempoolは暗号資産ごとにサイズや処理速度、手数料体系が異なります。ビットコインのmempoolは混雑しやすいですが、Ethereumは比較的速く処理される傾向があります。各ブロックチェーンは独自にmempool管理のルールや上限を設定しています。











