別の ウォレット アドレスへの送金など、暗号通貨取引を実行したことがある場合は、遅延に気付いたかもしれません。 これらの遅延トランザクションは、通常、「mempool」と呼ばれるものに保持されます。
このガイドでは、mempoolとは何か、どのように機能するか、そしてなぜそれが暗号通貨取引の重要な部分であるのかを詳しく説明します。
)
mempoolは、ブロックチェーンの ノード にある一種の「待合室」であり、マイニングされていないトランザクションが保存されます。 「mempool」という用語は、「メモリ」と「プール」の2つの単語を組み合わせたもので、保留中のトランザクションがブロックチェーンに追加される前に列に並んで待機するスペースを指します。
ビットコインは、トランザクションメモリプール(mempool)の概念を導入して利用した最初のブロックチェーンでした。 イーサリアムのような他のブロックチェーンも後にこの用語を採用しました。 すべてのブロックチェーンには、異なる用語があっても、何らかのタイプのmempoolがあります。 たとえば、パリティブロックチェーンでは、「トランザクションキュー」という用語を使用して、チェーン上のメモリプールを表します。
Mempoolsは、 ブロックチェーン ノードの動作において大きな役割を果たします。 トランザクションが完了し、ブロックチェーンに記録されるためには、まずトランザクションをブロックに追加する必要があります。 ただし、ブロックチェーンネットワーク上のすべてのノードが新しいブロックを作成できるわけではありません。 たとえば、ビットコインなどのプルーフオブワークメカニズムを使用して動作するブロックチェーンでは、マイナーのみが新しいブロックにトランザクションを追加できます。イーサリアムのような プルーフ・オブ・ステーク の仕組みを利用するブロックチェーンは、バリデーターや提案者のみがブロックにトランザクションを追加することができます。
トランザクションを開始した後、ユーザーはマイナーまたはバリデーターに依存してトランザクションを承認し、ブロックチェーンに追加する必要があります。 これはすぐには起こりません。 代わりに、トランザクションが開始されてから完了するまでに遅延があります。 この間、トランザクションは確認を待っているmempoolに保存されます。
まず、ブロックチェーンにはmempoolが1つだけではないことに注意する必要があります。 それどころか、特定のブロックチェーンネットワーク内のすべての ノード には、独自のトランザクションメモリプールがあります。 たとえば、ビットコインブロックチェーンの各ノードには、公開台帳に追加されるのを待っている独自のトランザクションプールがあります。 個々のノードの mempool が一緒になって、集合的な mempool を構成します。
ユーザーがトランザクションを開始すると、そのトランザクションはノードに送信されます。 その後、ノードはトランザクションをmempoolに追加し、キューに入れて検証を待ちます。 トランザクションが検証されると、「保留中」としてマークされます。 マイナーは、「保留中」とマークされたトランザクションのみを新しいブロックに追加できます。
mempoolのダイナミクスとトランザクションのライフサイクルを説明するために、0.01BTCを友人に送金したいとします。
まず、友人のウォレットアドレスを入力し、ブロックチェーンの取引手数料を受け入れてから、「送信」をクリックします。
トランザクションは、最も近いmempoolに「キューに入れられた」トランザクションとして追加されます。
次に、トランザクションはネットワーク内の他のノードにブロードキャストされますが、ブロックチェーンではまだ利用できません。 代わりに、すべてのノードが個別のテストを実行して、トランザクションが本物であることを確認します。
ノードがトランザクションを承認すると、そのステータスが「キュー」から「保留中」に変わります。
最終的に、保留中のトランザクションはマイナーによって選択され、新しいブロックに追加されます。
次に、マイナーはこのブロックをすべてのノードにブロードキャストします。 その結果、すべてのノードが新しいブロックに含まれるすべてのトランザクションにアクセスできるようになります。
この段階で、トランザクションがmempoolに保存されているノードは、トランザクションを削除します。
最後に、あなたの取引が完了し、あなたの友人は0.01BTCを受け取ります。
トランザクション・メモリプールの輻輳は、トランザクションの需要が1つのブロックに収まるトランザクションの数を超えた場合に発生します。 いくつかの要因がmempoolバックログを引き起こす可能性があります。 これらには以下が含まれます:
ビットコイン ブロックチャートあたりの平均トランザクション数: Ycharts.com
これらの要因と、それらがmempoolの輻輳にどのように影響するかを理解することは、ユーザーと開発者にとって重要です。 これにより、潜在的な遅延を予測し、必要な調整を行い、 ガス料金 を節約し、遅延を回避することができます。
多くのトランザクションが同時に発生するため、mempool内でどのトランザクションが優先されるかを決定する要因がいくつかあります。 以下にそれらのいくつかを強調します。
mempool内でトランザクションを実行する順序を決定する主な要因の1つは、各トランザクションに付随する手数料です。 マイナーとバリデーターは利益を原動力としており、新しいブロックに追加するトランザクションを選択することができます。 当然のことながら、彼らはより高い報酬につながるため、より高い手数料が付随する取引を好みます。
したがって、トランザクションに関連する手数料は、ブロックに含まれる可能性に大きく影響します。 マイナーは通常、トランザクションデータの単位あたりの手数料(一般的にサトシ/バイトで表される)の観点から、メモリプール内のトランザクションを整理します。 そこから、ブロックがいっぱいになるまで、手数料が最も高い取引を優先します。
この手数料ベースのアプローチは、mempools内に競争の激しい市場を生み出します。 これにより、ユーザーは、取引を迅速に完了するために高い手数料を支払うか、より長い待ち時間を犠牲にして低い手数料を支払うかを選択することを余儀なくされます。
それにもかかわらず、ユーザーは高すぎず、タイムリーな確認を確保する最適な料金を見積もることができます。 これは、履歴データ、トランザクション量、ネットワークの輻輳、mempool内の料金分布などのいくつかの要因を考慮することで実現できます。 暗号ウォレットや取引所などの最も人気のあるプラットフォームには、mempoolの現在の状態を分析し、最も適切な手数料を推奨できるツールがあります。
しかし、正確な料金の見積もりは正確な科学ではなく、課題も残っています。 たとえば、ネットワークの状態が急速に変化し、履歴データの信頼性が低下する可能性があります。 さらに、需要の高い時期には手数料の変動が激しくなり、予期せぬ手数料の変動につながる可能性があります。
ネットワークの輻輳は、トランザクションの処理方法やガス料金のダイナミクスにさまざまな影響を与えます。
Mempoolは、ブロックに追加されるのを待っているすべてのトランザクションの一致するリストを保持する必要はありません。 ただし、ブロックチェーンにすでに追加されているトランザクションを把握して、まだブロックチェーンに保存されている場合に備えて、mempoolから削除できるようにする必要があります。 マイナーが新しいブロックをノードにブロードキャストすると、この情報を確認してmempoolの同期を実現できます。 これにより、マイニングされていないトランザクションのみがmempoolに保持されます。
一方、ブロックスペースは、新しいブロックにトランザクションを含めるために利用できる容量です。 このスペースは限られているため、マイナーやバリデーターはガス料金の高いトランザクションを優先し、残りは確認を待っているメンプールに送られます。
mempoolに追加されるすべてのトランザクションは、数キロバイト(kb)以下のデータです。 トランザクションを構成するすべてのバイトの合計がmempoolのサイズです。 mempool のサイズが大きい場合は、確認を待っているトランザクションが多数あることを示します。 また、ネットワークトラフィックの急増を示している可能性もあります。
Mempoolサイズチャート。 出典: Blockchain.com
mempoolには事前定義された最大サイズはありませんが、ノードはmempoolのサイズ制限を設定できます。 これは通常、ビットコインの場合は300MBに設定されています。 mempoolがこのしきい値に達すると、ノードは最低 取引手数料 要件を強制することができます。 手数料率がこの制限を下回るトランザクションは、mempoolから削除されます。 そうすることで、ノードは保留中のトランザクションの過負荷によるクラッシュを回避できます。
mempoolのサイズがトランザクションの手数料と時間にどのように影響するかを理解することは、ユーザーがトランザクションを実行するのに最適な時間を選択できるようにするため、重要です。 ビットコインネットワーク上のグローバルなmempoolサイズを追跡するWebサイトは、 mempool.space や BitcoinTicker.co など、いくつかあります。
それでは、世界の2大ブロックチェーンであるビットコインとイーサリアムでメンプールがどのように機能するかを見てみましょう。
ビットコインネットワークを介して送信されたすべての有効なトランザクションは、ブロックチェーンに即座に追加されるわけではありません。 彼らはビットコインのメモリプールで待たなければなりません。
もともと、 ビットコインの取引手数料 は、取引のバイトあたりのサトシの数で測定されていました。 しかし、これはSegWitのアップグレード後に変わりました。 現在、ビットコインメモリプールでのトランザクションは重み単位で測定されます。 このアップグレードでは、SegWit機能と呼ばれる機能が導入されました。
アップグレードの結果、ビットコインブロックは最大4倍のトランザクションに対応できるようになりました。
ビットコインと同様に、イーサリアムブロックチェーンは当初、イーサリアムメモリプールを利用して、マイナーによってブロックに追加されるのを待っているトランザクションの一時的なストレージとして機能しました。 しかし、イーサリアムがプルーフ・オブ・ ワークからプルーフ・オブ・ ステークのコンセンサスメカニズムに移行した後、ネットワークはブロックビルダーの概念を導入しました。
ブロックビルダーは、トランザクションをコンパイルして、ブロックを形成できる最適化されたトランザクションバンドルを作成する特殊なサードパーティエンティティです。 これは、トランザクション・メモリー・プールからバンドル内の特定のトランザクションを並べ替えるか、または含めることによって行われます。 最終的に、彼らは提案者/バリデーターにバンドルを提供し、有料でブロックに含めることができます。
ブロックの値は、ブロックに含まれるトランザクションによって異なります。 したがって、ブロックビルダーは、バリデーターによって優先順位付けされ、より迅速に確認される可能性が高いため、最も収益性の高いブロックを作成するインセンティブを与えます。 その結果、他のブロックチェーンと同様に、イーサリアムで支払う手数料が多ければ多いほど、取引が早く承認される可能性が高くなります。
mempoolは、ブロックチェーントランザクションの重要なコンポーネントです。 これは、未確認のトランザクションが検証され、最終的には新しいブロックに含まれるのを待つ「待合室」の一形態として機能します。 トランザクションのキューイング、検証、手数料の優先順位付けなど、mempoolの仕組みを理解することは、暗号通貨ユーザーにとって不可欠です。
別の ウォレット アドレスへの送金など、暗号通貨取引を実行したことがある場合は、遅延に気付いたかもしれません。 これらの遅延トランザクションは、通常、「mempool」と呼ばれるものに保持されます。
このガイドでは、mempoolとは何か、どのように機能するか、そしてなぜそれが暗号通貨取引の重要な部分であるのかを詳しく説明します。
)
mempoolは、ブロックチェーンの ノード にある一種の「待合室」であり、マイニングされていないトランザクションが保存されます。 「mempool」という用語は、「メモリ」と「プール」の2つの単語を組み合わせたもので、保留中のトランザクションがブロックチェーンに追加される前に列に並んで待機するスペースを指します。
ビットコインは、トランザクションメモリプール(mempool)の概念を導入して利用した最初のブロックチェーンでした。 イーサリアムのような他のブロックチェーンも後にこの用語を採用しました。 すべてのブロックチェーンには、異なる用語があっても、何らかのタイプのmempoolがあります。 たとえば、パリティブロックチェーンでは、「トランザクションキュー」という用語を使用して、チェーン上のメモリプールを表します。
Mempoolsは、 ブロックチェーン ノードの動作において大きな役割を果たします。 トランザクションが完了し、ブロックチェーンに記録されるためには、まずトランザクションをブロックに追加する必要があります。 ただし、ブロックチェーンネットワーク上のすべてのノードが新しいブロックを作成できるわけではありません。 たとえば、ビットコインなどのプルーフオブワークメカニズムを使用して動作するブロックチェーンでは、マイナーのみが新しいブロックにトランザクションを追加できます。イーサリアムのような プルーフ・オブ・ステーク の仕組みを利用するブロックチェーンは、バリデーターや提案者のみがブロックにトランザクションを追加することができます。
トランザクションを開始した後、ユーザーはマイナーまたはバリデーターに依存してトランザクションを承認し、ブロックチェーンに追加する必要があります。 これはすぐには起こりません。 代わりに、トランザクションが開始されてから完了するまでに遅延があります。 この間、トランザクションは確認を待っているmempoolに保存されます。
まず、ブロックチェーンにはmempoolが1つだけではないことに注意する必要があります。 それどころか、特定のブロックチェーンネットワーク内のすべての ノード には、独自のトランザクションメモリプールがあります。 たとえば、ビットコインブロックチェーンの各ノードには、公開台帳に追加されるのを待っている独自のトランザクションプールがあります。 個々のノードの mempool が一緒になって、集合的な mempool を構成します。
ユーザーがトランザクションを開始すると、そのトランザクションはノードに送信されます。 その後、ノードはトランザクションをmempoolに追加し、キューに入れて検証を待ちます。 トランザクションが検証されると、「保留中」としてマークされます。 マイナーは、「保留中」とマークされたトランザクションのみを新しいブロックに追加できます。
mempoolのダイナミクスとトランザクションのライフサイクルを説明するために、0.01BTCを友人に送金したいとします。
まず、友人のウォレットアドレスを入力し、ブロックチェーンの取引手数料を受け入れてから、「送信」をクリックします。
トランザクションは、最も近いmempoolに「キューに入れられた」トランザクションとして追加されます。
次に、トランザクションはネットワーク内の他のノードにブロードキャストされますが、ブロックチェーンではまだ利用できません。 代わりに、すべてのノードが個別のテストを実行して、トランザクションが本物であることを確認します。
ノードがトランザクションを承認すると、そのステータスが「キュー」から「保留中」に変わります。
最終的に、保留中のトランザクションはマイナーによって選択され、新しいブロックに追加されます。
次に、マイナーはこのブロックをすべてのノードにブロードキャストします。 その結果、すべてのノードが新しいブロックに含まれるすべてのトランザクションにアクセスできるようになります。
この段階で、トランザクションがmempoolに保存されているノードは、トランザクションを削除します。
最後に、あなたの取引が完了し、あなたの友人は0.01BTCを受け取ります。
トランザクション・メモリプールの輻輳は、トランザクションの需要が1つのブロックに収まるトランザクションの数を超えた場合に発生します。 いくつかの要因がmempoolバックログを引き起こす可能性があります。 これらには以下が含まれます:
ビットコイン ブロックチャートあたりの平均トランザクション数: Ycharts.com
これらの要因と、それらがmempoolの輻輳にどのように影響するかを理解することは、ユーザーと開発者にとって重要です。 これにより、潜在的な遅延を予測し、必要な調整を行い、 ガス料金 を節約し、遅延を回避することができます。
多くのトランザクションが同時に発生するため、mempool内でどのトランザクションが優先されるかを決定する要因がいくつかあります。 以下にそれらのいくつかを強調します。
mempool内でトランザクションを実行する順序を決定する主な要因の1つは、各トランザクションに付随する手数料です。 マイナーとバリデーターは利益を原動力としており、新しいブロックに追加するトランザクションを選択することができます。 当然のことながら、彼らはより高い報酬につながるため、より高い手数料が付随する取引を好みます。
したがって、トランザクションに関連する手数料は、ブロックに含まれる可能性に大きく影響します。 マイナーは通常、トランザクションデータの単位あたりの手数料(一般的にサトシ/バイトで表される)の観点から、メモリプール内のトランザクションを整理します。 そこから、ブロックがいっぱいになるまで、手数料が最も高い取引を優先します。
この手数料ベースのアプローチは、mempools内に競争の激しい市場を生み出します。 これにより、ユーザーは、取引を迅速に完了するために高い手数料を支払うか、より長い待ち時間を犠牲にして低い手数料を支払うかを選択することを余儀なくされます。
それにもかかわらず、ユーザーは高すぎず、タイムリーな確認を確保する最適な料金を見積もることができます。 これは、履歴データ、トランザクション量、ネットワークの輻輳、mempool内の料金分布などのいくつかの要因を考慮することで実現できます。 暗号ウォレットや取引所などの最も人気のあるプラットフォームには、mempoolの現在の状態を分析し、最も適切な手数料を推奨できるツールがあります。
しかし、正確な料金の見積もりは正確な科学ではなく、課題も残っています。 たとえば、ネットワークの状態が急速に変化し、履歴データの信頼性が低下する可能性があります。 さらに、需要の高い時期には手数料の変動が激しくなり、予期せぬ手数料の変動につながる可能性があります。
ネットワークの輻輳は、トランザクションの処理方法やガス料金のダイナミクスにさまざまな影響を与えます。
Mempoolは、ブロックに追加されるのを待っているすべてのトランザクションの一致するリストを保持する必要はありません。 ただし、ブロックチェーンにすでに追加されているトランザクションを把握して、まだブロックチェーンに保存されている場合に備えて、mempoolから削除できるようにする必要があります。 マイナーが新しいブロックをノードにブロードキャストすると、この情報を確認してmempoolの同期を実現できます。 これにより、マイニングされていないトランザクションのみがmempoolに保持されます。
一方、ブロックスペースは、新しいブロックにトランザクションを含めるために利用できる容量です。 このスペースは限られているため、マイナーやバリデーターはガス料金の高いトランザクションを優先し、残りは確認を待っているメンプールに送られます。
mempoolに追加されるすべてのトランザクションは、数キロバイト(kb)以下のデータです。 トランザクションを構成するすべてのバイトの合計がmempoolのサイズです。 mempool のサイズが大きい場合は、確認を待っているトランザクションが多数あることを示します。 また、ネットワークトラフィックの急増を示している可能性もあります。
Mempoolサイズチャート。 出典: Blockchain.com
mempoolには事前定義された最大サイズはありませんが、ノードはmempoolのサイズ制限を設定できます。 これは通常、ビットコインの場合は300MBに設定されています。 mempoolがこのしきい値に達すると、ノードは最低 取引手数料 要件を強制することができます。 手数料率がこの制限を下回るトランザクションは、mempoolから削除されます。 そうすることで、ノードは保留中のトランザクションの過負荷によるクラッシュを回避できます。
mempoolのサイズがトランザクションの手数料と時間にどのように影響するかを理解することは、ユーザーがトランザクションを実行するのに最適な時間を選択できるようにするため、重要です。 ビットコインネットワーク上のグローバルなmempoolサイズを追跡するWebサイトは、 mempool.space や BitcoinTicker.co など、いくつかあります。
それでは、世界の2大ブロックチェーンであるビットコインとイーサリアムでメンプールがどのように機能するかを見てみましょう。
ビットコインネットワークを介して送信されたすべての有効なトランザクションは、ブロックチェーンに即座に追加されるわけではありません。 彼らはビットコインのメモリプールで待たなければなりません。
もともと、 ビットコインの取引手数料 は、取引のバイトあたりのサトシの数で測定されていました。 しかし、これはSegWitのアップグレード後に変わりました。 現在、ビットコインメモリプールでのトランザクションは重み単位で測定されます。 このアップグレードでは、SegWit機能と呼ばれる機能が導入されました。
アップグレードの結果、ビットコインブロックは最大4倍のトランザクションに対応できるようになりました。
ビットコインと同様に、イーサリアムブロックチェーンは当初、イーサリアムメモリプールを利用して、マイナーによってブロックに追加されるのを待っているトランザクションの一時的なストレージとして機能しました。 しかし、イーサリアムがプルーフ・オブ・ ワークからプルーフ・オブ・ ステークのコンセンサスメカニズムに移行した後、ネットワークはブロックビルダーの概念を導入しました。
ブロックビルダーは、トランザクションをコンパイルして、ブロックを形成できる最適化されたトランザクションバンドルを作成する特殊なサードパーティエンティティです。 これは、トランザクション・メモリー・プールからバンドル内の特定のトランザクションを並べ替えるか、または含めることによって行われます。 最終的に、彼らは提案者/バリデーターにバンドルを提供し、有料でブロックに含めることができます。
ブロックの値は、ブロックに含まれるトランザクションによって異なります。 したがって、ブロックビルダーは、バリデーターによって優先順位付けされ、より迅速に確認される可能性が高いため、最も収益性の高いブロックを作成するインセンティブを与えます。 その結果、他のブロックチェーンと同様に、イーサリアムで支払う手数料が多ければ多いほど、取引が早く承認される可能性が高くなります。
mempoolは、ブロックチェーントランザクションの重要なコンポーネントです。 これは、未確認のトランザクションが検証され、最終的には新しいブロックに含まれるのを待つ「待合室」の一形態として機能します。 トランザクションのキューイング、検証、手数料の優先順位付けなど、mempoolの仕組みを理解することは、暗号通貨ユーザーにとって不可欠です。