🇮🇹 "Traffico di rete e prezzi scalari"

:it: Traduzione italiana di “Network traffic and tiered pricing - IOHK Blog” scritto nel blog IOHK

Traduzione italiana a cura di Lordwotton di RIOT Stake Pools. Se apprezzi queste traduzioni, per favore valuta di supportare il mio lavoro delegando i tuoi ada a RIOT :pray: entra nel nostro gruppo Telegram


Traffico di rete e prezzi scalari

La finanza decentralizzata continuerà a creare domanda su Cardano. Il nostro progetto di ricerca sta cercando modi per mantenere un accesso equo e un throughput per ogni utente

img

Un recente post sul blog ha delineato alcuni dei modi in cui la rete Cardano si sarebbe adattata ed evoluta per soddisfare le richieste globali di contratti intelligenti e DeFi. Allo stesso modo, diventerà necessario aggiornare il sistema di commissioni sulle transazioni utilizzato per Cardano.

Il sistema attuale è semplice ed equo: ogni transazione è trattata allo stesso modo e non è possibile per gli utenti alterare la loro priorità pagando tasse più alte. Fino a quando la capacità di throughput è paragonabile alla domanda, questo approccio funziona bene.

Ci sono, tuttavia, degli svantaggi. Man mano che l’uso di Cardano aumenta, si arriverà ad un punto in cui non tutte le transazioni potranno essere incluse nella blockchain, anche con aggiustamenti alla parametrizzazione. Anche se aumentare la capacità della catena principale e/o deviare le transazioni su Hydra o altre soluzioni di livello 2 può alleviare questa preoccupazione, il sistema centrale deve comunque funzionare in modo agile in tutti i casi possibili e in ogni momento.

Questo è particolarmente rilevante nel caso di un attacco denial of service (DoS). Con il sistema così com’è, un attaccante potrebbe approfittare del trattamento equo e far passare il suo spam malevolo per transazioni legittime, aumentando i tempi di attesa per tutti gli altri. Ci sono misure in atto (ad esempio, relative alla propagazione delle transazioni attraverso la rete peer-to-peer) che rendono un tale attacco tecnicamente difficile. Tuttavia, per una maggiore protezione, vorremmo essere in grado di aumentare i costi di tali attacchi senza compromettere l’equità e l’efficienza dei prezzi dell’intero sistema.

Questo è un argomento che i membri del team di ricerca di IO Group hanno esaminato quest’anno. L’approccio risultante proposto in questo post mantiene i pilastri dell’elaborazione delle transazioni di Cardano (prevedibilità, equità e accesso poco costoso) mentre mitiga i problemi che potrebbero sorgere da una maggiore domanda. Il nostro approccio propone un nuovo meccanismo di tassa sulle transazioni per le blockchain. La chiave del progetto è la suddivisione di ogni blocco in tre “livelli” basati sul caso d’uso. Ogni livello costituisce una percentuale stabilita della dimensione massima del blocco ed è progettato per diversi tipi di transazioni (Figura 1). I livelli, insieme alla suddivisione suggerita che stiamo analizzando al momento, sarebbero:

  • equo (50%)
  • bilanciato (30%)
  • immediato (20%)

img

Figura 1. Ogni blocco sarebbe diviso in tre livelli.

Discuteremo il segmento equo per ultimo, perché funziona diversamente dagli altri due. Bilanciato e immediato funzionano avendo una “soglia di commissione”, che è diversa per ciascuno. Per essere inclusi in un blocco, gli emittenti di transazioni dovrebbero specificare il livello di servizio di cui hanno bisogno. Questo può essere fatto impostando una tariffa massima per la transazione. Poi, ogni blocco verrebbe riempito iniziando con i livelli immediati, poi bilanciati e infine equi. Le transazioni simili all’interno dello stesso livello pagherebbero la stessa tariffa. Per rendere questa scelta semplice, ad ogni transazione verrebbe addebitata solo la tariffa più bassa che garantirebbe il suo ingresso nel blocco. Dopo ogni blocco, le tariffe per i livelli immediati e bilanciati verrebbero aggiornate dinamicamente e deterministicamente (riflettendo il livello di domanda nei blocchi precedenti) per assicurare che ogni segmento utilizzi la sua percentuale target del blocco.

La differenza tra i livelli immediati e bilanciati è nel modo in cui le tariffe verrebbero aggiornate, in particolare la “velocità” con cui si regolano dato il carico corrente. La soglia per il servizio immediato sarebbe sempre più alta di quella bilanciata e reagirebbe più bruscamente alla domanda, assicurando che la transazione che la richiede sia servita il prima possibile. La soglia bilanciata sarebbe più lenta ad adattarsi e più stabile: questo la renderebbe inadatta alle transazioni sensibili al tempo, ma fornirebbe un prezzo più basso e affidabile a scapito di un tempo di attesa più vario.

Mentre i livelli equilibrato e immediato mirano a gestire transazioni con diversi livelli di urgenza, il livello equo gestisce le transazioni ordinarie. Il segmento equo è destinato a servire come un perfezionamento dell’attuale sistema in Cardano, mantenendo le commissioni basse (o in futuro anche stabili, agganciandole a un paniere di materie prime/fiat, come spiegato nel post sulle stablefees) e rimuovendo qualsiasi imprevedibilità dalla prospettiva dell’utente. Finché la domanda è bassa (e le transazioni rientrano nella metà del blocco) questo segmento funzionerebbe come Cardano fa ora.

Tuttavia, una volta che la domanda aumenta, un meccanismo speciale entrerebbe in funzione per le transazioni di livello equo. Il meccanismo filtrerebbe le transazioni in un modo indipendente dalle tasse e sarebbe basato su una funzione di priorità. Un esempio di questo sarebbe quello di dare priorità alle transazioni a seconda dell’età e dell’ammontare dei loro UTXO. In particolare, la priorità di una data transazione sarebbe uguale alla somma dell’importo di ogni ingresso moltiplicato per la sua età e poi diviso per la dimensione totale delle transazioni in byte. Questa priorità potrebbe essere utilizzata in combinazione con una soglia (aggiornata dinamicamente dopo ogni blocco) che filtrerebbe le transazioni la cui priorità è troppo bassa. Un tale approccio garantisce liveness (NdT: bassa latenza) per ogni transazione ad un prezzo basso e prevedibile e limita l’effetto che un malintenzionato (o un’impennata della domanda) potrebbe avere sui prezzi, fornendo sempre una entrata poco costosa in ogni blocco.

L’idea dei prezzi a livelli qui presentata estende e chiarisce anche il concetto di moltiplicatore che abbiamo introdotto nel post di stablefees. Visto in questo modo, ognuno dei tre livelli è associato ad un moltiplicatore calcolato in modo deterministico (con il livello giusto sempre ad un moltiplicatore di 1) il cui valore dipende dalla congestione del rispettivo livello nei blocchi precedenti.

Questo meccanismo è diverso dagli attuali approcci ai prezzi, come quelli usati da Bitcoin o Ethereum (anche con Ethereum Improvement Proposal 1559), dove c’è una tassa variabile che ogni transazione deve superare per entrare in un blocco. Il lato negativo di questo approccio è che la tassa che tutti devono pagare è dettata dai consumatori più “ricchi”. Ancora peggio, questa è la tassa pagata dai consumatori più ricchi per entrare “immediatamente” in un blocco. Inoltre, anche se le commissioni sono per lo più una funzione della domanda e dell’offerta, questi particolari tipi di meccanismi di commissioni di transazione possono inavvertitamente ‘modellare’ la domanda, o aumentare inavvertitamente i prezzi perché la strategia ottimale di offerta non è chiara agli utenti. Immaginate se le commissioni di transazione di Bitcoin venissero improvvisamente dimezzate e tutti si dimenticassero di cosa fossero, salirebbero ancora ai loro livelli attuali? Rispondere “no” a questa domanda illustra i lati negativi di tali meccanismi ed è una situazione che i prezzi a livelli precludono per progettazione.

L’approccio a livelli è più raffinato. Capisce che non tutte le transazioni hanno le stesse esigenze, assicurando che diversi casi d’uso possano avvenire simultaneamente e rendendo facile per gli utenti scegliere il tipo di servizio desiderato. In questo modo, il tiered pricing rende possibile avere tariffe prevedibili ed eque, mentre si gestiscono i periodi di congestione sulla catena principale. In combinazione con i miglioramenti del design che saranno rivelati in post successivi e che si concentrano sull’aumento della capacità di throughput grezzo e della potenza di elaborazione della catena principale, il tiered pricing mostra come Cardano sarà in grado di ospitare qualsiasi circostanza di richiesta di elaborazione delle transazioni.

Vorrei riconoscere i contributi di Giorgos Panagiotakos, Aggelos Kiayias e Elias Koutsoupias a questo post. Insieme formiamo il gruppo di ricerca che lavora alla progettazione di questo meccanismo. Un documento tecnico sarà presto disponibile.