Solanaで取引の並び順を一定のルールで検証する提案が、現時点では採用に至らなかった。提案「SIMD-0649」は、同じバッチに含まれる取引が手数料に基づく優先順位に沿っているかをバリデーターが確認する仕組みを想定していたが、ブロック生成者がどの取引をブロックに入れるか、バッチをどこで区切るかまでは制限しない。プルリクエストは2026年9月25日にクローズされ、マージされていないため、ルールはまだ有効化されていない。現在のバッチ規模を示す実測データも不足しており、取引執行の予測可能性がどこまで改善するかは不明だ。
SIMD-0649、バッチ内の取引順を検証
Solanaの台帳では、ブロックのデータが複数のバッチに分けて整理される。提案では、例外扱いの取引を除き、同じバッチ内の取引を優先順位の高いものから低いものへ並べるよう求める。バリデーターはブロックを再実行する際に記録された順序を確認し、ルールに違反していれば、受け取った後に取引を並べ替えるのではなく、そのブロック自体を無効と判定する。
優先順位が同じ取引については、並び順を任意にできる。単純な投票取引もこのルールの対象外となる。提案でいう優先順位のスコアは、ユーザーが設定した手数料の大小だけで決まるものではない。ブロック生成者が取引を取り込むことで得られる報酬を、取引実行前のコストモデルに基づくリクエストコストで割って算出する。計算には乗数と分母の保護項を含む整数演算を用い、異なるクライアント間でも結果が一致するよう設計されている。
手数料の定義では、報酬に優先手数料と、バーンされずに残る基本手数料の部分が含まれる。ルールが導入されれば、観測者は、ブロック生成者が同じバッチに入れた例外対象外の取引について、その順序が共通の基準に沿っているかを確認できる。提案の作成者は、統一された検証によって、バリデーターのクライアントやスケジューラーをまたいだ取引順序のチェックが容易になると説明している。一方で、個別の取引が本来ブロックに入るべきだったかどうかまでは判断しない。
ブロックへの採用とバッチ境界は生成者が決定
SIMD-0649は、スロット全体を対象にした共通の優先キューを設けるものではない。ブロック生成者は引き続き、どの取引をブロックに採用するか、どの取引を後続バッチへ回すか、そしてバッチの開始位置と終了位置を決定できる。競合する2つの取引が必ず同じバッチに入るとは限らず、優先順位の高い取引であっても後続バッチに置かれれば、先行するバッチの取引より自動的に前へ移動するわけではない。
そのため、バッチ内の並び順に関する制約は、スロット全体の順序を対象とするルールより狭い。最良の執行を保証する仕組みでもない。提案では、ブロック生成者がバッチを細かく分割し、比較対象となる取引を減らすことで、順序検証の実効性を弱めることを避けるため、バッチの最小規模を定めている。
最後のバッチを除き、各バッチは少なくとも2つの前方誤り訂正(FEC)セットを含まなければならない。FECセットは、ブロックを構成するデータ分片(shreds)の集合で、提案が採用する固定サイズのルールでは、2セットは少なくとも64個のデータ分片に相当する。最後のバッチも順序検証の対象となるが、スロットがバッチの完成前に終了する可能性があるため、この最小規模要件は適用されない。
実際のバッチ規模が分からず効果を測定できず
9月23日のレビューでは、バッチの最小規模を定めても、ブロック生成者が競合する取引を分離しやすいタイミングで現在のバッチを終える可能性があるとの指摘が出た。レビュアーは、スケジューラー、クライアント、相場環境ごとに分けた現在のバッチ規模のデータを求め、異なる最小規模を設定した場合の結果を検証するよう提案した。これは実運用でルールがどこまで機能するかへの問題提起であり、ブロック生成者がすでにメインネットでそのような運用を行っていることを示すものではない。
提案では、AgaveとFiredancerの目標バッチ規模はおおむね2つのFECセットとされている。しかし、提案とレビュー内容のいずれにも、現在のブロック生成者が実際にどの程度の規模のバッチを作っているかを示す分布データはない。そのため、この最小規模の設定が日常のブロック生成にどの程度影響するのか、またブロック生成者がバッチ境界を調整できる余地を実際にどこまで縮小できるのかは、定量化できない状況にある。
遅延と優先取引への懸念は残る
8月の議論では、遅延に関する懸念も示された。バリデーターがバッチ全体の到着を待ってから検証しなければならない場合、到着したデータの一部を使って再実行するFiredancerの運用に影響する可能性があるためだ。修正版の草案では、取引が到着するたびに順序を段階的に比較し、実行できるようにした。その後、順序違反が判明した場合には、ブロックを無効と判定できる。ただし、取引量が少ない局面では、バッチが2つのFECセットに達するまでブロック生成者を待たせることで、ブロードキャストの遅延が増える可能性がある。現時点の資料には、その遅延を測定した結果は示されていない。
この提案は、ブロック生成者が自分自身に優先手数料を支払うことで、自らの取引を有利に扱うことも防がない。提案では、優先手数料はブロック生成者に戻る一方、バーンされる基本手数料の部分はコストとして残ると説明している。したがって、バッチ内の順序検証だけで、特定の取引への便宜、最大抽出可能価値(MEV)、スリッページを防止できるわけではない。
SIMD-0649は9月25日にクローズされ、今後進められるかどうかは、追加の議論とクライアント開発者の支持に左右される。取引参加者にとって確認すべき点は、実際に競合関係にある取引のうち、どの程度が同じバッチに入るのか、そしてバッチの最小規模がブロック生成者の行動を変えるのかという点だ。これらのデータがそろうまでは、提案が提供するのはバッチ内の相対的な取引順序を確認する方法にとどまり、実際の取引執行への影響は確定していない。