「保留(Pending)」は本当にネットワーク全体の事実なのか?

あるウォレットはDuskの取引を「保留」とラベル付けできますが、別のノードにはそもそも対応するメンプールのエントリが存在しないことがあります。

それは必ずしも矛盾ではありません。Duskが、取引が台帳状態になる前にどのように扱うかに従うだけです。

各ピアはそれぞれ独自の承認(admission)のチェックを行い、独自のメンプールを保持します。したがって、DuskのmempoolTxsクエリは「ネットワーク全体で共有される待ち行列」ではなく、問い合わせられたノードの実メンプールを示します。

Boreas-eraのMoonlightによる取り扱いは、さらに直感に反するものになります。アカウントの現在のシーケンスよりnonceが先行している有効な取引は、不足しているnonceが届くまで延期できます。その期間中、その取引はノードが見える実メンプールの外に位置します。つまり、取引を受け取ったノードでさえ、mempoolTxsにまだ表示されない可能性があります。

有効期限(Expiry)も別のローカルな要素を追加します。これは取引自体にエンコードされた「有効期間」ではなく、ノードのポリシーです。

このことにより、「保留(pending)」という語の読み方も変わります。コンセンサス前のDuskには、誰もが観測できる唯一の権威あるグローバルな取引状態は提供されません。同じ取引について、ノードごとに異なる情報を正当に保持し得ます。

したがって、ウォレットの状態は「観測地点からの報告」であり、ネットワークが共有された中間事実についてすでに合意しているという宣言ではありません。

コンセンサスは、そうした断片化したローカルな見え方が共通の台帳履歴へと変わり始める場所です。

@Dusk $DUSK #dusk