これは議論の余地があるかもしれませんが、あなたのトランザクションは悪意のあるサンドイッチバリデーターに対抗できるはずです。 私はまさにそれを行うための簡単なプログラムを構築しました。 スリッページが自然な市場の動きなのか、それともサンドイッチ攻撃なのかは、実行時にはわかりません。しかし、もしあなたのスワップが既知の悪意のあるバリデーターに落ちた場合、実質的には最大スリッページまで挟まれることが保証されています。 これにより、反撃することができます。 ✅ 信頼できるバリデーターですか?あなたの取引はあなたが望むスリッページ(x%)で進行します。 ❌ 悪意のあるバリデーターに?トランザクションのスリッページは調整されます(0%、x%の一部、必要なもの) 単に元に戻すのではなく、暗い森で実行しているときに、より厳しい制約でトランザクションを成功させることができます。 トランザクションを作成して署名するとき、それがどのバリデーターに着地するか正確にはわからないため、動作を変更するロジックはオンチェーンである必要があります。 では、それはどのように機能するのでしょうか?Solanaプログラムは現在のバリデーターにアクセスできませんが、現在のスロットにはアクセスできます。 プログラムは、スロットのリーダーに悪意のあるフラグが付けられているかどうかをプログラムがチェックできるように、コンパクトな表現 (14 バイトですが、さらに減らすことができます) を取り込みます。 それを使用するいくつかの方法: (1)簡単な命令(<260 CU、そのほとんどがClock sysvarにアクセスしています)として直接挿入できます。悪意のあるバリデーターに着地したtx全体を元に戻します (2)これを使用してJupiterv6ルーターをラップできます。Jupiterプログラムを呼び出し、「slippage」値を動的にオーバーライドしますが、これは悪意のあるバリデーターで実行される場合に限られます (3)自社プログラムから直接CPIで呼び出す 悪意のあるバリデーターとその今後のスロットのリストは、近日公開予定のSandwiched[dot]me APIまたはあなた自身のデータから入手できます。 このプロトタイプは実験的なものであることに注意してください。オンチェーンではデプロイされません。あなたのフィードバックをもらいたいです、そしてPRは大歓迎です
2.83K