Ordering by Unanimity: Giving Applications Sequencing Rights Without Breaking Composability
Questo articolo introduce l'algoritmo di "unanimity override", che consente alle applicazioni blockchain di imporre la propria sequenza di transazioni preferita quando tutte le parti coinvolte sono d'accordo, utilizzando al contempo un ordine predefinito per risolvere i cicli e garantendo che specifiche transazioni vengano eseguite come previsto anche contro manipolazioni avversarie.
Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Immagina una blockchain come un enorme quaderno digitale condiviso dove tutti annotano le proprie transazioni. In questo quaderno, la composibilità è il superpotere che permette alle diverse app di comunicare tra loro. Ad esempio, potresti vendere un'azione su un'app e immediatamente usare quel denaro per acquistare un prestito su un'altra, tutto in un unico passaggio.
Tuttavia, c'è un problema: chi decide l'ordine?
In una fila fisica in un bar, chi arriva per primo viene servito per primo. Ma in una blockchain, la persona che scrive la riga (il "proponente del blocco") di solito decide chi va per primo. Questo crea un mal di testa per gli sviluppatori di app.
- Un'app di aste ha bisogno che la proposta più alta venga elaborata prima della seconda più alta, altrimenti l'asta fallisce.
- Un'app di trading ha bisogno che un aggiornamento di prezzo avvenga prima che qualcuno faccia trading, altrimenti le persone commerciano su prezzi vecchi o errati.
- Un'app di cancellazione deve cancellare un ordine prima che qualcuno tenti di eseguirlo.
Se il proponente del blocco decide l'ordine, potrebbe accidentalmente (o maliziosamente) rovinare queste app.
La Soluzione: "Unanimity Override" (Sovrascrittura per Unanimità)
L'autore propone una nuova regola chiamata Unanimity Override. Pensala come un sistema di "Consenso di Gruppo" per il quaderno.
Ecco l'idea centrale: Se tutte le app coinvolte in una specifica coppia di transazioni concordano su chi debba andare per primo, il quaderno deve rispettare tale accordo.
- La Buona Notizia: Se l'App A dice "La transazione X deve avvenire prima di Y" e l'App B (che vede entrambe) è d'accordo, allora X avviene prima di Y. Il sistema blocca questa decisione.
- La Cattiva Notizia (Il Ciclo): A volte, le app sono in disaccordo in un cerchio.
- L'App A dice: X prima di Y.
- L'App B dice: Y prima di Z.
- L'App C dice: Z prima di X.
- Questo crea un ciclo (X → Y → Z → X). È un paradosso. Il sistema non può eseguire tutte le transazioni nell'ordine desiderato da tutti.
Rompere il Ciclo: La Regola della "Demozione"
Quando si verifica un ciclo, il sistema ha bisogno di un elemento di rottura per interrompere il loop. Il documento introduce una regola di "fallback":
- Identificare i problematici: Il sistema cerca le transazioni che interagiscono con pianti app che hanno opinioni contrastanti. Queste sono chiamate "Multi-Opinion Transactions" (Transazioni a Opinione Multipla).
- Demetterle: Il sistema sceglie la transazione a "priorità più bassa" nel ciclo (in base a una regola predefinita, come chi ha pagato la commissione più bassa) e la demete.
- Reset: La transazione demetuta viene spostata in fondo alla fila. Il ciclo viene interrotto e le transazioni rimanenti possono essere ordinate come richiesto dalle app.
Le Due Grandi Garanzie
Il documento dimostra che anche se un attaccante malizioso cercasse di manipolare il sistema creando transazioni false per forzare questi cicli, due cose sono impossibili da rompere per lui:
1. La Garanzia "Single-App" (Singola App)
Se una transazione parla con una sola specifica app (e quell'app ha una preferenza forte), l'attaccante non può rovinarla.
- Analogia: Immagina di essere in fila per un negozio specifico. Solo quel negozio si cura della tua posizione in fila. Anche se un bullo cerca di tagliarti la strada gridando ad altri negozi, quel negozio ti farà passare per primo perché è l'unico che conta per la tua posizione.
- Risultato: Le app che vogliono controllare il proprio ordine interno (come un'asta) possono farlo in sicurezza, purché gli utenti rimangano confinati in quell'app.
2. La Garanzia "Gated" (A Cancello/Protetta)
Se una transazione è "gated" (ovvero nessuno controllato dall'attaccante può creare una transazione che la superi in termini di rango), essa è sicura.
- Analogia: Immagina un pass VIP che dice: "Nessuno con un badge regolare può passare davanti a me". Se l'attaccante non possiede un badge VIP (o non può falsificarlo), non può creare un ciclo per farti restare indietro.
- Risultato: Gli aggiornamenti critici (come i feed di prezzo da una fonte attendibile) sono protetti perché l'attaccante non può "superarli" legalmente agli occhi del sistema.
Cosa succede alle transazioni "Demetute"?
L'unico caso in cui il sistema ignora il desiderio di un'app è quando una transazione è coinvolta in un ciclo disordinato con molteplici app, e viene quindi "demetuta".
- Il Problema: Il documento sostiene che se un'app vuole che le sue transazioni siano sicure, dovrebbe incoraggiare gli utenti a mantenere le proprie transazioni semplici (interagendo con una sola app). Se un utente cerca di essere sofisticato interagendo con molte app contemporaneamente, rischia di finire in un ciclo e di essere demetuto.
- L'Incentivo: Questo crea un incentivo naturale per gli utenti a seguire le regole. Se vuoi che la tua offerta vinca un'asta, non cercare di fare altre 10 cose nello stesso momento; invia semplicemente l'offerta all'app dell'asta.
Riassunto
Il documento introduce una regola che permette alle app di dire: "Abbiamo bisogno di X prima di Y", e la blockchain ascolta — a meno che le app non stiano discutendo in un cerchio. Se le app discutono in un cerchio, il sistema rompe l'impasse spingendo la transazione a "priorità più bassa" che coinvolge più app in fondo alla lista.
Questo protegge le transazioni più importanti (quelle semplici o "gated") dalla manipolazione, pur permettendo alla blockchain di rimanere un unico, connesso quaderno dove le app possono lavorare insieme. È un modo per dare alle app il controllo del proprio destino senza rompere l'intero sistema.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.