Bitcoin Magazine コア問題:クラスターメモリプール、問題は分割すれば簡単に コア問題より:ノードの再設計、クラスターメモリプールの考察Bitcoin Magazine コア問題:クラスターメモリプール、問題は分割すれば簡単に コア問題より:ノードの再設計、クラスターメモリプールの考察

核心的な問題:クラスターメムプール、問題は分割すると簡単になる

2026/02/21 03:38
23 分で読めます

Bitcoin Magazine

The Core Issue: クラスターメンプール、問題は分割すれば簡単に

クラスターメンプール1は、メンプールがトランザクションの整理と並び替えを処理する方法の完全な再構築であり、Suhas DaftuarとPieter Wuilleによって概念化され実装されました。この設計は、全体的なアーキテクチャを簡素化し、トランザクションの並び替えロジックをマイナーのインセンティブとより良く整合させ、セカンドレイヤープロトコルのセキュリティを向上させることを目的としています。2025/11/25にPR #336292でBitcoin Coreにマージされました。 

メンプールは、ノードが様々な理由で追跡しなければならない保留中のトランザクションの巨大なセットです:手数料の見積もり、トランザクション置換の検証、そしてマイナーの場合はブロック構築です。 

これは、ノードの単一機能がサービスを提供するには多くの異なる目標です。バージョン30.0までのBitcoin Coreは、これらの機能を支援するために2つの異なる方法でメンプールを整理しています。どちらも特定のトランザクションの相対的な観点から:トランザクションとその子孫を前方に見た組み合わせ手数料率(子孫手数料率)、およびトランザクションとその親を後方に見た組み合わせ手数料率(祖先手数料率)です。 

これらは、メンプールがいっぱいになったときにどのトランザクションを削除するか、および新しいブロックテンプレートを構築するときにどれを最初に含めるかを決定するために使用されます。 

メンプールはどのように管理されているのか?

マイナーがブロックにトランザクションを含めるかどうかを決定する際、そのノードはそのトランザクションと、ブロック内で有効であるために最初に承認されなければならない祖先を見て、それら全体を一つの全体として支払った個別の手数料を考慮して、それら全体のバイトあたりの平均手数料率を見ます。そのトランザクションのグループが手数料で他を上回りながらブロックサイズ制限内に収まる場合、次のブロックに含まれます。これはすべてのトランザクションに対して行われます。

ノードがメンプールがいっぱいになったときにどのトランザクションを削除するかを決定する際、各トランザクションとそれが持つ子を見て、メンプールがすでにより高い手数料率を支払っているトランザクション(およびその子孫)でいっぱいである場合、トランザクションとそのすべての子を削除します。 

上記のトランザクションのグラフ例を見てください。手数料率は括弧内に(祖先手数料率、子孫手数料率)のように示されています。トランザクションEを見ているマイナーは、単一の小さな祖先を持つ非常に高い手数料を支払う小さなトランザクションであるため、おそらく次のブロックに含めるでしょう。しかし、ノードのメンプールがいっぱいになっている場合、低い相対手数料を支払う2つの巨大な子を持つトランザクションAを見て、おそらくそれを削除するか、受信したばかりの場合は受け入れて保持しないでしょう。 

これら2つのランキング、つまり順序付けは、完全に矛盾しています。メンプールはマイナーがマイニングするものを確実に伝播する必要があり、ユーザーは自分のローカルメンプールがマイナーがマイニングするものを正確に予測することに自信を持つべきです。 

このように機能するメンプールは以下にとって重要です:

  • マイニングの非中央集権化:すべてのマイナーに最も収益性の高いトランザクションのセットを提供すること
  • ユーザーの信頼性:正確で信頼できる手数料見積もりとトランザクション承認時間
  • セカンドレイヤーのセキュリティ:セカンドレイヤープロトコルのオンチェーン処理実行トランザクションの信頼性と正確性

メンプールの現在の動作は、マイニングインセンティブの現実と完全には整合していません。これにより、トランザクションがマイナーに届くかどうかについて不確実性を生み出すことでセカンドレイヤーのセキュリティに問題となる可能性がある盲点が生まれ、マイナーへの非公開ブロードキャストチャネルへの圧力も生まれ、最初の問題を悪化させる可能性があります。 

これは、マイナーに置換をより早く含めるよう促すためだけであれ、オンチェーン処理で実行されているセカンドレイヤープロトコルの一部としてであれ、未承認トランザクションを置換する際に特に問題となります。 

既存の動作による置換は、トランザクションが巻き込まれているトランザクションのウェブの形状とサイズに応じて予測不可能になります。単純な手数料引き上げの状況では、置換をマイニングすることがマイナーにとってより良い場合でも、トランザクションの伝播と置換に失敗する可能性があります。 

セカンドレイヤープロトコルの文脈では、現在のロジックにより、参加者が必要な祖先トランザクションをメンプールから削除させたり、悪意のある参加者が作成した子トランザクション、または必要な祖先トランザクションの削除のために、現在のルールの下で別の参加者が必要な子トランザクションをメンプールに送信することを不可能にしたりする可能性があります。 

これらの問題はすべて、これらの一貫性のない包含と削除のランキング、およびそれらが生み出すインセンティブの不整合の結果です。単一のグローバルランキングを持つことでこれらの問題は解決されますが、新しいトランザクションごとにメンプール全体をグローバルに並べ替えることは非現実的です。 

すべてはただのグラフ

互いに依存するトランザクションはグラフ、つまり有向の一連の「パス」です。トランザクションが過去に別のトランザクションによって作成されたアウトプットを使用する場合、その過去のトランザクションとリンクされます。さらに2番目の過去のトランザクションによって作成されたアウトプットを使用する場合、両方の履歴トランザクションを一緒にリンクします。 

未承認の場合、このようなトランザクションのチェーンは、後のトランザクションが有効であるために、最初に以前のトランザクションが承認されなければなりません。結局のところ、まだ作成されていないアウトプットを使用することはできません。 

これはメンプールを理解するための重要な概念であり、明示的に方向性を持って順序付けられています。 

すべてはただのグラフです。 

チャンクがクラスターを作り、クラスターがメンプールを作る

クラスターメンプールでは、クラスターの概念は、互いに直接関連している未承認トランザクションのグループ、つまりクラスター内の他のトランザクションによって作成されたアウトプットを使用しているか、その逆です。これが新しいメンプールアーキテクチャの基本単位になります。メンプール全体を分析して順序付けすることは非現実的なタスクですが、クラスターを分析して順序付けすることは、はるかに管理しやすいものです。 

各クラスターはチャンクに分解され、クラスターからのトランザクションの小さなセットであり、方向性の依存関係を尊重しながら、バイトあたりの最高手数料率から最低の順に並べ替えられます。たとえば、最高から最低の手数料率まで、クラスター(A)のチャンクは次のとおりです:[A,D]、[B,E]、[C,F]、[G, J]、そして最後に[I, H]。 

これにより、これらすべてのチャンクとクラスターを事前にソートし、その過程でメンプール全体をより効率的にソートできます。 

マイナーは、すべてのクラスターから最高の手数料率チャンクを単純に取得してテンプレートに入れることができます。まだスペースがある場合は、次に高い手数料率のチャンクに移動し、ブロックがほぼいっぱいになり、収まる最後のいくつかのトランザクションを見つけるだけになるまで続けます。これは、利用可能なすべてのトランザクションへのアクセスを前提とした、ほぼ最適なブロックテンプレート構築方法です。 

ノードのメンプールがいっぱいになると、すべてのクラスターから最低の手数料率チャンクを単純に取得し、設定された制限を超えなくなるまでメンプールからそれらを削除し始めることができます。それで十分でない場合は、次に低い手数料率のチャンクに移動し、メンプールの制限内に収まるまで続けます。このように行うと、マイニングインセンティブと整合していない奇妙なエッジケースが削除されます。 

置換ロジックも大幅に簡素化されます。トランザクションKがG、I、J、Hを置き換えたクラスター(B)とクラスター(A)を比較します。満たす必要がある唯一の基準は、新しいチャンク[K]が[G, J]と[I, H]よりも高いチャンク手数料率を持たなければならないこと、[K]が[G, J, I, H]よりも合計手数料で多く支払わなければならないこと、そしてKが置き換えるトランザクション数の上限を超えることができないことです。 

クラスターパラダイムでは、これらすべての異なる用途が互いに整合しています。 

新しいメンプール

この新しいアーキテクチャにより、トランザクショングループの制限を簡素化し、メンプール内のトランザクションが持つことができる未承認祖先の数に関する以前の制限を削除し、クラスターあたり64トランザクションと101 kvBのグローバルクラスター制限に置き換えることができます。 

この制限は、クラスターとそのチャンクを事前にソートする計算コストを、ノードが常に実行するのに実用的な程度に低く抑えるために必要です。 

これがクラスターメンプールの真の重要な洞察です。チャンクとクラスターを比較的小さく保つことで、最適なブロックテンプレートの構築を安価にし、トランザクション置換ロジック(手数料引き上げ)を簡素化してセカンドレイヤーのセキュリティを向上させ、削除ロジックを修正することを、すべて同時に実現します。 

テンプレート構築のための高価で遅いオンザフライ計算や、手数料引き上げでの予測不可能な動作はもうありません。メンプールが異なる状況でトランザクション組織を管理する方法におけるインセンティブの不整合を修正することで、メンプールはすべての人にとってより良く機能します。 

クラスターメンプールは、何年もかけて作られてきたプロジェクトであり、収益性の高いブロックテンプレートがすべてのマイナーに開かれていること、セカンドレイヤープロトコルが構築するための健全で予測可能なメンプール動作を持つこと、そしてビットコインが非中央集権的な通貨システムとして機能し続けることを保証する上で重要な影響を与えます。 

クラスターメンプールがどのように実装され、内部でどのように機能するかの詳細に深く入り込むことに興味がある方のために、読むことができる2つのDelving Bitcoinスレッドを以下に示します:

高レベル実装概要(設計根拠付き):https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393 

クラスターメンプール手数料率ダイアグラムの動作方法:https://delvingbitcoin.org/t/mempool-incentive-compatibility/553 

今すぐThe Core Issueを手に入れよう!

The Core Issueをぜひ手に入れてください — 多くのコア開発者が自ら取り組んでいるプロジェクトを説明する記事を掲載しています!

この記事は、Bitcoin Magazineの最新印刷版The Core Issueに掲載されている編集者からの手紙です。完全な号で探求されているアイデアの先行公開として、ここで共有しています。

[1] https://github.com/bitcoin/bitcoin/issues/27677 

[2] https://github.com/bitcoin/bitcoin/pull/33629 

この記事The Core Issue: Cluster Mempool, Problems Are Easier In ChunksはBitcoin Magazineに最初に掲載され、Shinobiによって書かれました。

市場の機会
NODE ロゴ
NODE価格(NODE)
$0.01484
$0.01484$0.01484
-0.93%
USD
NODE (NODE) ライブ価格チャート
免責事項:このサイトに転載されている記事は、公開プラットフォームから引用されており、情報提供のみを目的としています。MEXCの見解を必ずしも反映するものではありません。すべての権利は原著者に帰属します。コンテンツが第三者の権利を侵害していると思われる場合は、削除を依頼するために service@support.mexc.com までご連絡ください。MEXCは、コンテンツの正確性、完全性、適時性について一切保証せず、提供された情報に基づいて行われたいかなる行動についても責任を負いません。本コンテンツは、財務、法律、その他の専門的なアドバイスを構成するものではなく、MEXCによる推奨または支持と見なされるべきではありません。