本文へスキップ
buybitcoinsmart

用語集 / トランザクションと手数料

メモリプールポリシー

別名は中継ポリシーです。

メモリプールポリシーとは?
メモリプールポリシーとは、ノードがトランザクションを受け入れて中継する前に適用する追加のルール一式のことであり、コンセンサスより厳しく、ノードを運営する者が調整できます。

コンセンサスはブロックが合法的に何を含めることができるかを決め、ポリシーはその前に何が中継されるかを決めます。Bitcoin Coreは標準的なトランザクションを400,000ウェイトユニットに制限し、中継の下限額を下回る支払いをするものを受け付けません。どちらの制限もコンセンサスルールには現れません。トランザクションは完全に有効でありながら、どこにも届かないことがあります。

仕組み

ポリシーは、コンセンサスチェックの手前に立つ第2の関門です。ノードに届いたトランザクションは有効である必要があり、さらに、運営者が保存して転送してもよいと考える種類のトランザクションに見える必要もあります。第1の関門で失敗すれば、そのトランザクションはどこでも無効です。第2の関門で失敗した場合は、単にこのノードでは受け入れられないというだけで、隣のノードにはまったく問題なく受け入れられるかもしれません。

Bitcoin Coreのデフォルトは、いくつかの種類の制限を定めています。標準性のルールは、どのスクリプトタイプを中継するかを制限するため、新しい、または不正な形式の支出条件が、ネットワークがそれを理解する前に広まることはありません。サイズ制限は、標準的なトランザクションを400,000ウェイトユニット、すなわちブロックの4分の1に制限します。手数料制限は中継の下限額を定め、バージョン30.0で1 sat/vBから0.1に引き下げられました。また、個々の出力に対するダストのしきい値は、以前の3 sat/vBのまま据え置かれました。トポロジー制限は、互いにつながった未承認トランザクションのまとまりを64個、バーチャルサイズ101キロバイトに制限します。これは、バージョン31.0で従来の祖先25個と子孫25個という上限に代わって導入されたクラスタルールです。

これらの数値はすべて法律ではなく設定です。運営者は-minrelaytxfeeで中継の下限額を引き上げたり、OP_RETURN出力が運べるデータ量を-datacarriersizeで変更したり、意図的に厳しいデフォルトを備えたBitcoin Knotsを運用したりできます。データキャリア出力に対する83バイトの上限は、ここ数年で最も大きな論争を呼んだポリシーの議論となり、最終的にBitcoin Core 30.0がデフォルトを100,000バイトに引き上げ、事実上上限をなくしましたが、以前の挙動を望む人には-datacarriersize=83が引き続き利用できます。

ポリシーはコンセンサスより速く動きます。完全なreplace-by-feeは2024年10月のBitcoin Core 28.0でデフォルトとなり、同じリリースで親と子を一緒に機会的に中継する機能が追加されました。どちらの変更も、運営者がアップグレードすると同時に有効となり、いかなる種類のフォークも伴いませんでした。

どこで見られるか

ポリシーは、マイナーが関与するずっと前に、自分のウォレットからのエラーメッセージとして現れます。中継手数料、ダスト出力、未承認の支出の過大なクラスタ、非標準のスクリプトに言及する拒否はすべてポリシーによるものであり、いずれもそのトランザクションが1つのピアにも渡されなかったことを意味します。

また、あるトランザクションが一方のブロックエクスプローラーには存在し、別のエクスプローラーには存在しない理由も説明します。エクスプローラーは自身のノードのメモリプールを表示するため、そのノードのポリシーで除外されたトランザクションはそこでは見えず、他の場所では通常どおり承認されます。マイナーには送信エンドポイントを通じてトランザクションを直接送ることができ、中継を完全に迂回できます。非標準のトランザクションが、待機しているところを一度も見られないまま時折ブロックに現れるのはこのためです。

ビットコインを購入して保有する人にとって、実用的な要点は限定的ですが有用です。ポリシーがあるために、ウォレットは300サトシの出力の作成を拒否し、未承認の支出の連なりは最終的に別の子を受け付けなくなり、滞留したトランザクションは手数料を引き上げるのではなく再ブロードキャストが必要になることがあります。

メモリプールポリシーvsコンセンサスルール

コンセンサスルールに違反すると、ブロックは無効となり、ネットワーク全体によって永久に拒否されます。ポリシールールに違反した場合は、そのトランザクションが待たされるか、まったく届かないというだけで、マイニングするには完全に合法のままです。ポリシーはソフトフォークの予行演習の場でもあります。新しい支出タイプは通常、有効化の前または同時に中継の標準とされ、ネットワークが安全にそれらを運べるようになります。コンセンサスは憲法であり、ポリシーは各ノードのハウススタイルです。

混同しやすい用語

よくある質問

トランザクションは有効でありながら拒否されることがありますか?

はい、それは日常的に起こります。ポリシーはコンセンサスの手前に位置するため、コンセンサスルールに違反していないトランザクションでも、下限額を下回る支払い、ダスト出力の作成、未承認のクラスタを上限を超えて拡張することなどを理由に中継を拒否されることがあります。

メモリプールポリシーは誰が決めますか?

各ノードの運営者が、ソフトウェアと設定を選ぶことで決めます。Bitcoin Coreは1つのデフォルトのセットを提供し、Bitcoin Knotsはより厳しいセットを提供します。どちらも、ノードが受け入れるブロックを変えることなく、コマンドラインオプションで調整できます。

関連用語

トランザクションと手数料のその他の用語

このページを英語で読む