Attacchi alla governance DAO e come evitarli

Molti progetti web3 abbracciano il voto senza autorizzazione utilizzando un token nativo fungibile e scambiabile. Il voto senza autorizzazione può offrire molti vantaggi, dall'abbassamento delle barriere all'ingresso all'aumento della concorrenza. I possessori di token possono utilizzare i loro token per votare su una serie di questioni, dalla semplice regolazione dei parametri alla revisione del processo di governance stesso. (Per una rassegna della governance DAO, vedere “Democrazia della velocità della luce"). Ma il voto senza autorizzazione è vulnerabile attacchi alla governance, in cui un utente malintenzionato acquisisce il potere di voto attraverso mezzi legittimi (ad esempio, l'acquisto di token sul mercato aperto) ma utilizza tale potere di voto per manipolare il protocollo a vantaggio dell'attaccante. Questi attacchi sono puramente "in-protocollo", il che significa che non possono essere affrontati attraverso la crittografia. Invece, prevenzione richiedono un'attenta progettazione del meccanismo. A tal fine, abbiamo sviluppato un framework per aiutare i DAO a valutare la minaccia e potenzialmente contrastare tali attacchi. 

Attacchi alla governance in pratica

Il problema degli attacchi alla governance non è solo teorico. Non solo può accadono nel mondo reale, ma lo sono già e continueranno a farlo. 

In un esempio lampanteSteemit, una startup che costruiva un social network decentralizzato sulla loro blockchain, Steem, aveva un sistema di governance on-chain controllato da 20 testimoni. Gli elettori hanno utilizzato i loro token STEEM (la valuta nativa della piattaforma) per scegliere i testimoni. Mentre Steemit e Steem stavano guadagnando terreno, Justin Sun aveva sviluppato piani per fondere Steem in Tron, un protocollo blockchain che aveva fondato nel 2018. Per acquisire il potere di voto per farlo, Sun si è avvicinato a uno dei fondatori di Steem e ha acquistato token equivalenti a 30 per cento della fornitura totale. Una volta che gli attuali testimoni di Steem hanno scoperto il suo acquisto, hanno congelato i gettoni di Sun. Quello che seguì fu un pubblico avanti e indietro tra Sun e Steem per controllare abbastanza token per installare la loro lista preferita dei primi 20 testimoni. Dopo aver coinvolto i principali scambi e aver speso centinaia di migliaia di dollari in token, Sun alla fine ha vinto e ha effettivamente avuto libero sfogo sulla rete. 

In un'altra istanza, Beanstalk, un protocollo stablecoin, si è trovato suscettibile di attacco alla governance tramite flashloan. Un aggressore ha preso un prestito per acquisire una quantità sufficiente del token di governance di Beanstalk per passare istantaneamente una proposta dannosa che ha permesso loro di sequestrare 182 milioni di dollari delle riserve di Beanstalk. A differenza dell'attacco Steem, questo è avvenuto nell'arco di un singolo blocco, il che significava che era finito prima che qualcuno avesse il tempo di reagire. 

Sebbene questi due attacchi siano avvenuti all'aperto e sotto gli occhi dell'opinione pubblica, gli attacchi alla governance possono anche essere condotti di nascosto per un lungo periodo di tempo. Un utente malintenzionato potrebbe creare numerosi account anonimi e accumulare lentamente token di governance, comportandosi come qualsiasi altro titolare per evitare sospetti. In effetti, data la bassa partecipazione degli elettori tende ad essere in molte DAO, tali account potrebbero rimanere dormienti per un lungo periodo di tempo senza destare sospetti. Dal punto di vista della DAO, gli account anonimi dell'attaccante potrebbero contribuire a far apparire un buon livello di potere di voto decentralizzato. Ma alla fine l'attaccante potrebbe raggiungere una soglia in cui questi portafogli sybil hanno il potere di controllare unilateralmente la governance senza che la comunità sia in grado di rispondere. Allo stesso modo, gli attori malintenzionati potrebbero acquisire potere di voto sufficiente per controllare la governance quando l'affluenza alle urne è sufficientemente bassa e quindi tentare di approvare proposte dannose quando molti altri titolari di token sono inattivi.

E mentre potremmo pensare che tutte le azioni di governance siano solo il risultato delle forze di mercato all'opera, in pratica la governance a volte può produrre risultati inefficienti come risultato di fallimenti di incentivi o altre vulnerabilità nella progettazione di un protocollo. Proprio come il processo decisionale del governo può essere catturato da gruppi di interesse o anche da semplice inerzia, la governance DAO può portare a risultati inferiori se non è strutturata correttamente.

Quindi, come possiamo affrontare tali attacchi attraverso la progettazione di meccanismi?

La sfida fondamentale: l'indistinguibilità

I meccanismi di mercato per l'allocazione dei token non riescono a distinguere tra gli utenti che vogliono fare prezioso contributi a un progetto e aggressori che attribuiscono un valore elevato all'interruzione o al controllo in altro modo. In un mondo in cui i token possono essere acquistati o venduti in un mercato pubblico, entrambi questi gruppi sono, dal punto di vista del mercato, comportamentalmente indistinguibili: entrambi sono disposti ad acquistare grandi quantità di token a prezzi sempre più alti. 

Questo problema di indistinguibilità significa che la governance decentralizzata non è gratuita. Al contrario, i progettisti di protocolli devono affrontare compromessi fondamentali tra il decentramento aperto della governance e la protezione dei propri sistemi contro gli aggressori che cercano di sfruttare i meccanismi di governance. Più i membri della comunità sono liberi di acquisire potere di governance e influenzare il protocollo, più facile sarà per gli aggressori utilizzare lo stesso meccanismo per apportare modifiche dannose. 

Questo problema di indistinguibilità è familiare dalla progettazione delle reti blockchain Proof of Stake. Anche lì, a mercato altamente liquido nel token rende più facile per gli aggressori acquisire una partecipazione sufficiente a compromettere le garanzie di sicurezza della rete. Tuttavia, una combinazione di incentivi token e design della liquidità rende possibili le reti Proof of Stake. Strategie simili possono aiutare a proteggere i protocolli DAO.

Un framework per valutare e affrontare la vulnerabilità

Per analizzare la vulnerabilità che diversi progetti devono affrontare, utilizziamo un framework catturato dalla seguente equazione:

Un'equazione per valutare e affrontare la vulnerabilità agli attacchi di governance DAO

Affinché un protocollo sia considerato sicuro contro gli attacchi di governance, il profitto di un utente malintenzionato dovrebbe essere negativo. Quando si progettano le regole di governance per un progetto, questa equazione può essere utilizzata come guida per valutare l'impatto di diverse scelte progettuali. Per ridurre gli incentivi allo sfruttamento del protocollo, l'equazione implica tre scelte chiare: diminuire il valore degli attacchi, aumentare il costo dell'acquisizione del potere di votoe aumentare il costo di esecuzione degli attacchi

Diminuendo il valore degli attacchi 

Limitare il valore di un attacco può essere difficile perché più successo ottiene un progetto, più prezioso può diventare un attacco riuscito. Chiaramente un progetto non dovrebbe sabotare intenzionalmente il proprio successo solo per diminuire il valore di un attacco. 

Tuttavia, i progettisti possono limitare il valore degli attacchi limitando l'ambito di ciò che la governance può fare. Se la governance include solo il potere di modificare determinati parametri in un progetto (ad esempio, i tassi di interesse su un protocollo di prestito), la portata dei potenziali attacchi è molto più ristretta rispetto a quando la governance consente il controllo completo e generale dello smart contract governativo. 

L'ambito di governance può essere una funzione della fase di un progetto. All'inizio della sua vita, un progetto potrebbe avere una governance più ampia man mano che trova le sue basi, ma in pratica la governance può essere strettamente controllata dal team fondatore e dalla comunità. Man mano che il progetto matura e decentralizza il controllo, può avere senso introdurre un certo grado di attrito nella governance, richiedendo almeno ampi quorum per le decisioni più significative.

Aumentare il costo di acquisizione del potere di voto

Un progetto può anche adottare misure per rendere più difficile acquisire il potere di voto necessario per un attacco. Più liquido è il token, più facile è richiedere quel potere di voto, quindi quasi paradossalmente, i progetti potrebbero voler ridurre la liquidità per proteggere la governance. Si potrebbe provare a ridurre direttamente la commerciabilità a breve termine dei token, ma ciò potrebbe essere tecnicamente impossibile. 

Per ridurre la liquidità indirettamente, i progetti possono fornire incentivi che rendono i singoli titolari di token meno disposti a vendere. Questo può essere fatto incentivando lo staking o dando ai token un valore indipendente oltre la pura governance. Più valore matura per i titolari di token, più allineati diventano con il successo del progetto. 

I vantaggi dei token autonomi potrebbero includere l'accesso a eventi di persona o esperienze sociali. Fondamentalmente, vantaggi come questi sono di grande valore per gli individui allineati con il progetto, ma sono inutili per un attaccante. Fornire questo tipo di vantaggi aumenta il prezzo effettivo che un utente malintenzionato deve affrontare quando acquisisce token: gli attuali detentori saranno meno disposti a vendere a causa dei vantaggi standalone, che dovrebbero aumentare il prezzo di mercato; tuttavia, mentre l'attaccante deve pagare il prezzo più alto, la presenza delle funzionalità standalone non aumenta il valore dell'attaccante dall'acquisizione del token. 

Aumento del costo di esecuzione degli attacchi

Oltre ad aumentare il costo del potere di voto, è possibile introdurre frizioni che rendono più difficile per un attaccante esercitare il potere di voto anche dopo aver acquisito i token. Ad esempio, i progettisti potrebbero richiedere una sorta di autenticazione dell'utente per partecipare alle votazioni, come un controllo KYC (conosci il tuo cliente) o una soglia del punteggio di reputazione. Si potrebbe anche limitare la capacità di un attore non autenticato di acquisire token di voto in primo luogo, magari richiedendo una serie di validatori esistenti per attestare la legittimità di nuovi partiti. 

In un certo senso, questo è esattamente il modo in cui molti progetti distribuiscono i loro token iniziali, assicurandosi che le parti fidate controllino una frazione significativa del potere di voto. (Molte soluzioni Proof of Stake utilizzano tecniche simili per difendere la propria sicurezza, controllando strettamente chi ha accesso allo stake iniziale e quindi decentralizzando progressivamente da lì.) 

In alternativa, i progetti possono fare in modo che, anche se un utente malintenzionato controlla una notevole quantità di potere di voto, incontri comunque difficoltà nel passare proposte dannose. Ad esempio, alcuni progetti hanno blocchi temporali in modo che una moneta non possa essere utilizzata per votare per un certo periodo di tempo dopo che è stata scambiata. Pertanto, un aggressore che cerca di acquistare o prendere in prestito una grande quantità di token dovrebbe affrontare costi aggiuntivi per l'attesa prima di poter effettivamente votare, nonché il rischio che i membri votanti si accorgano e sventrino il loro potenziale attacco nel frattempo. Delegazione può anche essere utile qui. Dando a partecipanti attivi, ma non dannosi, il diritto di voto per loro conto, le persone che non vogliono assumere un ruolo particolarmente attivo nella governance possono comunque contribuire con il loro potere di voto alla protezione del sistema.

Alcuni progetti utilizzano poteri di veto che consentono di ritardare una votazione per un certo periodo di tempo per avvisare gli elettori inattivi di una proposta potenzialmente pericolosa. In un tale schema, anche se un utente malintenzionato fa una proposta dannosa, gli elettori hanno la possibilità di rispondere e chiuderla. L'idea alla base di questi e di progetti simili è impedire a un utente malintenzionato di intrufolarsi in una proposta dannosa e fornire alla comunità di un progetto il tempo per formulare una risposta. Idealmente, le proposte che si allineano chiaramente con il bene del protocollo non dovranno affrontare questi ostacoli. 

At Sostantivi DAO, ad esempio, il potere di veto è detenuto dalla Nouns Foundation fino alla DAO stessa è pronto per implementare uno schema alternativo. Come hanno scritto sul loro sito web, "The Nouns Foundation porrà il veto alle proposte che introducono rischi legali o esistenziali non banali al Nouns DAO o alla Nouns Foundation".

* * *

I progetti devono trovare un equilibrio per consentire un certo livello di apertura ai cambiamenti della comunità (che a volte possono essere impopolari), senza consentire che proposte dannose sfuggano alle crepe. Spesso basta una sola proposta dannosa per far cadere un protocollo, quindi avere una chiara comprensione del compromesso di rischio tra accettare e rifiutare proposte è fondamentale. E ovviamente esiste un compromesso di alto livello tra garantire la sicurezza della governance e rendere possibile la governance: qualsiasi meccanismo che introduca attriti per bloccare un potenziale aggressore ovviamente rende il processo di governance più difficile da usare. 

Le soluzioni che abbiamo abbozzato qui rientrano in uno spettro tra la governance completamente decentralizzata e il sacrificio parziale di alcuni ideali di decentramento per la salute generale del protocollo. Il nostro framework evidenzia diversi percorsi che i progetti possono scegliere mentre cercano di assicurarsi che gli attacchi alla governance non siano redditizi. Ci auguriamo che la comunità utilizzi il framework per sviluppare ulteriormente questi meccanismi attraverso la propria sperimentazione per rendere i DAO ancora più sicuri in futuro. 

***

Pranav Garimidi è uno studente in ascesa alla Columbia University e stagista di ricerca estivo presso a16z cripto

Scott Duca Kominers è Professore di Business Administration presso la Harvard Business School, Faculty Affiliate del Dipartimento di Economia di Harvard e Research Partner presso a16z cripto.

Tim Roughgarden è Professore di Informatica e membro del Data Science Institute presso la Columbia University, e Head of Research presso a16z cripto.

***

Ringraziamenti: apprezziamo utili commenti e suggerimenti da Andy Hall. Un ringraziamento speciale anche al nostro editore, Tim Sullivan.

***

Divulgazioni: Kominers detiene una serie di token crittografici e fa parte di molte comunità NFT; fornisce consulenza a varie attività di mercato, startup e progetti crittografici; e serve anche come esperto di questioni relative alla NFT.

Le opinioni qui espresse sono quelle del personale di AH Capital Management, LLC ("a16z") citato e non sono le opinioni di a16z o delle sue affiliate. Alcune informazioni qui contenute sono state ottenute da fonti di terze parti, incluse società in portafoglio di fondi gestiti da a16z. Sebbene tratti da fonti ritenute affidabili, a16z non ha verificato in modo indipendente tali informazioni e non fornisce dichiarazioni sull'accuratezza duratura delle informazioni o sulla loro adeguatezza per una determinata situazione. Inoltre, questo contenuto può includere pubblicità di terze parti; a16z non ha esaminato tali annunci pubblicitari e non approva alcun contenuto pubblicitario in essi contenuto.

Questo contenuto viene fornito solo a scopo informativo e non deve essere considerato come consulenza legale, commerciale, di investimento o fiscale. Dovresti consultare i tuoi consulenti in merito a tali questioni. I riferimenti a qualsiasi titolo o risorsa digitale sono solo a scopo illustrativo e non costituiscono una raccomandazione di investimento o un'offerta per fornire servizi di consulenza in materia di investimenti. Inoltre, questo contenuto non è diretto né destinato all'uso da parte di investitori o potenziali investitori e non può in alcun caso essere invocato quando si decide di investire in qualsiasi fondo gestito da a16z. (Un'offerta per investire in un fondo a16z sarà fatta solo dal memorandum di collocamento privato, dal contratto di sottoscrizione e da altra documentazione pertinente di tale fondo e dovrebbe essere letta nella sua interezza.) Eventuali investimenti o società in portafoglio menzionati, citati o descritti non sono rappresentativi di tutti gli investimenti in veicoli gestiti da a16z, e non si può garantire che gli investimenti saranno redditizi o che altri investimenti effettuati in futuro avranno caratteristiche o risultati simili. Un elenco degli investimenti effettuati da fondi gestiti da Andreessen Horowitz (esclusi gli investimenti per i quali l'emittente non ha autorizzato a16z a divulgare pubblicamente e gli investimenti non annunciati in asset digitali quotati in borsa) è disponibile all'indirizzo https://a16z.com/investments /.

Grafici e grafici forniti all'interno sono esclusivamente a scopo informativo e non dovrebbero essere presi in considerazione quando si prende una decisione di investimento. I rendimenti passati non sono indicativi di risultati futuri. Il contenuto parla solo a partire dalla data indicata. Eventuali proiezioni, stime, previsioni, obiettivi, prospettive e/o opinioni espresse in questi materiali sono soggette a modifiche senza preavviso e possono differire o essere contrarie alle opinioni espresse da altri. Si prega di consultare https://a16z.com/disclosures per ulteriori informazioni importanti.

Timestamp:

Di più da Andreessen Horowitz