Questo potrebbe essere controverso, ma le tue transazioni dovrebbero essere in grado di difendersi contro i validatori malintenzionati che fanno sandwich. Ho costruito un programma semplice per fare esattamente questo. Non puoi sapere a runtime se lo slippage è un movimento naturale del mercato o un attacco sandwich. Ma se il tuo swap atterra su un validatore noto come malintenzionato, sei praticamente garantito di essere sandwiched fino al tuo massimo slippage. Questo ti permette di combattere. ✅ Su un validatore fidato? La tua transazione procede con il tuo slippage desiderato (x%). ❌ Su un validatore malintenzionato? Lo slippage della tua transazione viene regolato (0%, una frazione di x%, qualsiasi cosa tu voglia) Invece di semplicemente tornare indietro, la tua transazione può avere successo con vincoli più rigidi quando si trova in una foresta più oscura. Quando crei e firmi la tua transazione, non sai esattamente su quale validatore atterrerà, quindi la logica che cambia comportamento deve essere onchain. Quindi, come funziona? Un programma Solana non può accedere al validatore attuale, ma può accedere allo slot attuale. Il programma prende in input una rappresentazione compatta (14 byte ma può essere ulteriormente ridotta) per consentire al programma di controllare se il leader dello slot è contrassegnato come malintenzionato. Alcuni modi per usarlo: (1) Puoi inserirlo direttamente come un'istruzione semplice (<260 CU, la maggior parte dei quali è l'accesso al sysvar Clock). Annulla l'intera transazione quando atterra su un validatore malintenzionato. (2) Puoi usarlo per avvolgere il router Jupiter v6. Chiamerà il programma Jupiter e sovrascriverà dinamicamente il valore di `slippage` ma solo quando viene eseguito su un validatore malintenzionato. (3) Chiamalo direttamente tramite CPI dal tuo programma. L'elenco dei validatori malintenzionati e i loro prossimi slot possono essere ottenuti dalla nostra prossima API Sandwiched[dot]me o dai tuoi dati. Tieni presente che questo prototipo è sperimentale. Non è distribuito onchain. Mi piacerebbe ricevere il tuo feedback e le PR sono benvenute.
2,79K