Il riallineamento
Un duello ha tre pool: A in ETH, B in ETH e A in B. I loro prezzi possono divergere dopo un'operazione. Dopo ogni operazione, nella stessa transazione, l'hook tenta un riallineamento profittevole. Può essere saltato o limitato dall'ETH disponibile; non è garantito che i prezzi coincidano esattamente.
Come funziona
Quando la differenza di prezzo dà a un ciclo triangolare un margine di profitto superiore allo 0,1% prima del dimensionamento, l'hook può fare trading attorno al triangolo senza commissioni. È una soglia di profitto del ciclo, non una garanzia che i prezzi di due pool qualsiasi restino entro lo 0,1%:
- se A è diventata cara in ETH rispetto al pool A/B, l'hook compra B con ETH, la scambia con A nel pool A/B e vende quella A contro ETH;
- se è successo a B, lo stesso al contrario.
Una formula chiusa dimensiona il ciclo profittevole, poi lo limita a quanto può pagare il pool in cui il token viene venduto per ETH. Tiene solo un ciclo che produce un profitto. Il profitto catturato va al piatto del round. Un tentativo fallito viene annullato e saltato, quindi non blocca lo swap dell'utente, tranne per mancanza di gas: allora lo swap fa revert con ArbitrageStarved, così nessuno può saltare il riallineamento inviando poco gas. Un ciclo limitato o saltato può lasciare una differenza di prezzo.
Cosa significa per la ripartizione
La ripartizione e i round leggono solo i due pool ETH. Il prezzo A/B non conta mai direttamente. Un passaggio tramite A/B li influenza solo se il riallineamento opera davvero sui pool ETH. Se nessun prezzo in ETH si muove, il passaggio non cambia né la ripartizione né la media del round, e non attiva un round altrimenti tranquillo.
Cosa significa per i trader
Il pool A/B contiene un po' di ciascuna fazione. Quando il riallineamento viene eseguito dopo che una fazione è salita, può vendere un po' di quella fazione nel suo pool ETH e comprare un po' dell'altra. Tre effetti possibili:
Un acquisto può essere in parte compensato subito dopo. Quando il riallineamento viene eseguito, può vendere parte della fazione comprata e mandare al piatto il profitto in ETH catturato. Un acquisto seguito da una vendita immediata può quindi costare più delle commissioni di swap. Queste misurazioni interne indicative usano i termini di default, su un duello nuovo e su un duello in cui una fazione ha il 97% della ripartizione (10 ETH comprati su di essa, niente sull'altra); i costi dipendono dallo stato del pool e non sono un'aliquota fissa:
| Comprare e rivendere subito | Duello nuovo | A 97/3, in testa | A 97/3, indietro |
|---|---|---|---|
| 0,1 ETH | circa 4% | circa 2% | circa 4% |
| 1 ETH | circa 5% | circa 3% | circa 12% |
| 5 ETH | circa 10% | circa 4% | circa 32% |
| 20 ETH | circa 22% | circa 7% | circa 61% |
Per la fazione indietro, un solo grande acquisto costa di più. Mentre la fazione in testa saliva, il riallineamento ha riempito il pool A/B della fazione indietro. A un acquisto della fazione indietro viene rivenduta quella scorta: più l'acquisto in un colpo solo è grande, più ne finisce nel piatto. Più acquisti piccoli, ciascuno seguito dal proprio riallineamento, costano meno di un unico grande acquisto dello stesso totale.
Le fazioni sono legate quando viene eseguito il riallineamento. Un acquisto su una fazione può far salire anche l'altra, quindi una rimonta può costare più di quanto suggerisca il divario in ETH. Un riallineamento limitato o saltato può dare un esito diverso. Vedi Chi è in testa ha un vantaggio, non una garanzia.
Di default, il pool A/B parte con il 2% di ogni offerta, la quota più piccola consentita dai contratti, per mantenere leggero questo legame. Una quota iniziale più grande rafforza il legame; il suo effetto dipende dallo stato del pool e dalla dimensione dell'operazione.
Perché farlo nell'hook
Un riallineamento profittevole cerca di ridurre la differenza e manda il profitto catturato al piatto. Riduce le opportunità di arbitraggio ma non le elimina: il ciclo può essere limitato, saltato o lasciare un divario residuo.