DAO-styrningsattacker och hur man undviker dem

Många web3-projekt omfattar tillåtelselös röstning med hjälp av en utbytbar och utbytbar infödd token. Tillståndslös röstning kan erbjuda många fördelar, från att sänka hindren för inträde till ökad konkurrens. Tokeninnehavare kan använda sina tokens för att rösta i en rad frågor – från enkla parameterjusteringar till översynen av själva styrningsprocessen. (För en genomgång av DAO-styrning, se "Ljushastighetsdemokrati. ") Men tillåtelselös röstning är sårbart för regeringsattacker, där en angripare skaffar sig rösträtt på legitima sätt (t.ex. genom att köpa tokens på den öppna marknaden) men använder den rösträtten för att manipulera protokollet till angriparens egen fördel. Dessa attacker är rent "in-protokoll", vilket innebär att de inte kan hanteras genom kryptografi. Istället, förebyggande dem kräver genomtänkt mekanismdesign. För detta ändamål har vi utvecklat ett ramverk för att hjälpa DAO:er att bedöma hotet och potentiellt motverka sådana attacker. 

Styrningsattacker i praktiken

Problemet med regeringsattacker är inte bara teoretiskt. De inte bara Kan hända i den verkliga världen, men de har redan gjort det och kommer att fortsätta att göra det. 

In ett framstående exempel, Steemit, en startup som bygger ett decentraliserat socialt nätverk på sin blockchain, Steem, hade ett styrsystem i kedjan som kontrollerades av 20 vittnen. Väljarna använde sina STEEM-tokens (plattformens ursprungliga valuta) för att välja vittnen. Medan Steemit och Steem tog fart hade Justin Sun utvecklat planer på att slå samman Steem i Tron, ett blockchain-protokoll han hade grundat 2018. För att skaffa sig rösträtt för att göra det, kontaktade Sun en av Steems grundare och köpte tokens motsvarande 30 procent av det totala utbudet. När de dåvarande Steem-vittnen upptäckte hans köp frös de Suns polletter. Vad som följde var en offentlig fram och tillbaka mellan Sun och Steem för att kontrollera tillräckligt många tokens för att installera deras föredragna lista av topp 20 vittnen. Efter att ha involverat stora utbyten och spenderat hundratusentals dollar på tokens, vann Sun till slut och hade faktiskt fritt spelrum över nätverket. 

In en annan instans, Beanstalk, ett stablecoin-protokoll, fann sig mottagligt för förvaltningsattack via flashloan. En angripare tog ett lån för att skaffa tillräckligt med Beanstalks styrningstoken för att omedelbart skicka ett skadligt förslag som tillät dem att lägga beslag på 182 miljoner dollar av Beanstalks reserver. Till skillnad från Steem-attacken hände den här inom loppet av ett enda block, vilket innebar att det var över innan någon hann reagera. 

Även om dessa två attacker skedde i det fria och under allmänhetens ögon, kan förvaltningsattacker också utföras i smyg under en lång tidsperiod. En angripare kan skapa många anonyma konton och långsamt ackumulera förvaltningstokens, samtidigt som han beter sig precis som vilken annan innehavare som helst för att undvika misstankar. I själva verket, med tanke på hur lågt valdeltagandet tenderar att vara i många DAO, kan dessa konton ligga vilande under en längre tid utan att väcka misstankar. Ur DAO:s perspektiv skulle angriparens anonyma konton kunna bidra till uppkomsten av en sund nivå av decentraliserad rösträtt. Men så småningom kan angriparen nå en tröskel där dessa sybil-plånböcker har makten att ensidigt kontrollera styrningen utan att samhället kan svara. På samma sätt kan illvilliga aktörer få tillräckligt med rösträtt för att kontrollera förvaltningen när valdeltagandet är tillräckligt lågt, och sedan försöka passera skadliga förslag när många andra tokeninnehavare är inaktiva.

Och även om vi kanske tror att alla styrningsåtgärder bara är ett resultat av marknadskrafter som verkar, kan styrning i praktiken ibland ge ineffektiva resultat som ett resultat av incitamentfel eller andra sårbarheter i ett protokolls utformning. Precis som regeringens beslutsfattande kan fångas upp av intressegrupper eller till och med enkel tröghet, kan DAO-styrning leda till sämre resultat om den inte är strukturerad på rätt sätt.

Så hur kan vi ta itu med sådana attacker genom mekanismdesign?

Den grundläggande utmaningen: Osärskiljbarhet

Marknadsmekanismer för tokenallokering misslyckas med att skilja mellan användare som vill göra värdefull bidrag till ett projekt och angripare som sätter stort värde på att störa eller på annat sätt kontrollera det. I en värld där tokens kan köpas eller säljas på en offentlig marknadsplats är båda dessa grupper, ur marknadsperspektiv, beteendemässigt omöjliga att skilja: båda är villiga att köpa stora mängder tokens till allt högre priser. 

Detta oskiljaktighetsproblem innebär att decentraliserad styrning inte kommer gratis. Istället står protokolldesigners inför grundläggande kompromisser mellan öppet decentraliserad styrning och att säkra sina system mot angripare som försöker utnyttja styrningsmekanismer. Ju mer communitymedlemmar är fria att få styrande makt och påverka protokollet, desto lättare är det för angripare att använda samma mekanism för att göra skadliga ändringar. 

Detta oskiljaktiga problem är bekant från designen av Proof of Stake blockchain-nätverk. Där också, a mycket likvid marknad i token gör det lättare för angripare att skaffa tillräckligt med insatser för att äventyra nätverkets säkerhetsgarantier. Ändå gör en blandning av symboliska incitament och likviditetsdesign Proof of Stake-nätverk möjliga. Liknande strategier kan hjälpa till att säkra DAO-protokoll.

Ett ramverk för att bedöma och hantera sårbarhet

För att analysera sårbarheten olika projekt står inför använder vi ett ramverk som fångas av följande ekvation:

En ekvation för att bedöma och åtgärda sårbarhet för DAO-styrningsattacker

För att ett protokoll ska anses vara säkert mot förvaltningsattacker bör en angripares vinst vara negativ. När man utformar styrningsreglerna för ett projekt kan denna ekvation användas som en vägledning för att utvärdera effekten av olika designval. För att minska incitamenten att utnyttja protokollet innebär ekvationen tre tydliga val: minska värdet på attacker, öka kostnaderna för att skaffa rösträttoch öka kostnaderna för att utföra attacker

Att minska värdet på attacker 

Att begränsa värdet av en attack kan vara svårt eftersom ju mer framgångsrikt ett projekt blir, desto mer värdefullt kan en framgångsrik attack bli. Uppenbarligen bör ett projekt inte avsiktligt sabotera sin egen framgång bara för att minska värdet av en attack. 

Ändå kan designers begränsa värdet av attacker genom att begränsa omfattningen av vad styrning kan göra. Om styrning endast inkluderar befogenhet att ändra vissa parametrar i ett projekt (t.ex. räntor på ett utlåningsprotokoll), då är omfattningen av potentiella attacker mycket snävare än när styrning tillåter fullständig generell kontroll av det styrande smarta kontraktet. 

Styrningens omfattning kan vara en funktion av ett projekts skede. Tidigt i sitt liv kan ett projekt ha mer expansiv styrning när det hittar sin fot, men i praktiken kan styrningen vara hårt kontrollerad av grundargruppen och gemenskapen. När projektet mognar och decentraliserar kontrollen kan det vara meningsfullt att införa en viss grad av friktion i styrningen – åtminstone kräver stora kvorum för de viktigaste besluten.

Att öka kostnaderna för att skaffa rösträtt

Ett projekt kan också vidta åtgärder för att göra det svårare att få den röststyrka som behövs för en attack. Ju mer likvid token, desto lättare är det att kräva den röststyrkan – så nästan paradoxalt nog kanske projekt vill minska likviditeten för att skydda styrningen. Man skulle kunna försöka minska den kortsiktiga omsättningen av tokens direkt, men det kan vara tekniskt omöjligt. 

För att minska likviditeten indirekt kan projekt ge incitament som gör enskilda tokeninnehavare mindre villiga att sälja. Detta kan göras genom att stimulera till insatser, eller genom att ge tokens fristående värde bortom ren förvaltning. Ju mer värde som tillfaller tokeninnehavare, desto mer anpassade blir de till projektets framgång. 

Fristående tokenförmåner kan inkludera tillgång till personliga evenemang eller sociala upplevelser. Avgörande är att förmåner som dessa är högt värdefulla för individer som är i linje med projektet men är värdelösa för en angripare. Att tillhandahålla den här typen av förmåner höjer det effektiva priset en angripare möter när han skaffar tokens: nuvarande innehavare kommer att vara mindre villiga att sälja på grund av de fristående fördelarna, vilket borde öka marknadspriset; Men även om angriparen måste betala det högre priset, höjer närvaron av fristående funktioner inte angriparens värde från att skaffa token. 

Att öka kostnaderna för att utföra attacker

Förutom att höja kostnaderna för rösträtt, är det möjligt att införa friktioner som gör det svårare för en angripare att utöva rösträtt även när de har skaffat tokens. Till exempel kan designers kräva någon form av användarverifiering för att delta i omröstningar, till exempel en KYC-kontroll (känn din kund) eller tröskelvärde för ryktepoäng. Man skulle till och med kunna begränsa möjligheten för en oautentiserad aktör att skaffa röstbevis i första hand, kanske kräva någon uppsättning befintliga validerare för att intyga nya partiers legitimitet. 

I någon mening är det precis så som många projekt distribuerar sina första tokens, och ser till att betrodda parter kontrollerar en betydande del av röststyrkan. (Många Proof of Stake-lösningar använder liknande tekniker för att försvara sin säkerhet – strikt kontrollera vem som har tillgång till tidig insats och sedan successivt decentralisera därifrån.) 

Alternativt kan projekt göra det så att även om en angripare kontrollerar en betydande mängd röster, har de fortfarande svårigheter med att skicka skadliga förslag. Till exempel har vissa projekt tidslås så att ett mynt inte kan användas för att rösta under en period efter att det har bytts ut. En angripare som försöker köpa eller låna en stor mängd tokens skulle alltså få extra kostnader för att vänta innan de faktiskt kan rösta – såväl som risken att röstande medlemmar skulle märka och omintetgöra deras blivande attack under tiden. Delegation kan också vara till hjälp här. Genom att ge aktiva, men icke-illvilliga deltagare rätt att rösta för deras räkning, kan individer som inte vill ta en särskilt aktiv roll i förvaltningen fortfarande bidra med sin rösträtt för att skydda systemet.

Vissa projekt använder vetorätt som gör att en omröstning kan försenas under en viss tid för att varna inaktiva väljare om ett potentiellt farligt förslag. Enligt ett sådant system, även om en angripare lägger ett skadligt förslag, har väljarna möjlighet att svara och stänga av det. Tanken bakom dessa och liknande konstruktioner är att stoppa en angripare från att smyga igenom ett skadligt förslag och att ge ett projekt tid för samhället att formulera ett svar. Helst kommer förslag som tydligt överensstämmer med protokollets bästa inte att behöva möta dessa vägspärrar. 

At Substantiv DAO, till exempel innehas vetorätten av Substantivstiftelsen fram till själva DAO är redo att implementera ett alternativt schema. Som de skrev på sin hemsida, "The Nouns Foundation kommer att lägga in sitt veto mot förslag som introducerar icke-triviala juridiska eller existentiella risker för Substantiv DAO eller Substantiv Foundation."

* * *

Projekt måste hitta en balans för att tillåta en viss nivå av öppenhet för samhällsförändringar (vilket kan vara impopulära ibland), samtidigt som skadliga förslag inte får glida mellan stolarna. Det krävs ofta bara ett illvilligt förslag för att få ner ett protokoll, så att ha en klar förståelse för riskavvägningen med att acceptera kontra att avslå förslag är avgörande. Och naturligtvis finns det en avvägning på hög nivå mellan att säkerställa styrningens säkerhet och att göra styrningen möjlig – varje mekanism som introducerar friktion för att blockera en potentiell angripare gör naturligtvis också styrningsprocessen mer utmanande att använda. 

De lösningar vi har skissat här faller på ett spektrum mellan helt decentraliserad styrning och att delvis offra några ideal om decentralisering för protokollets övergripande hälsa. Vårt ramverk belyser olika vägar som projekt kan välja när de försöker se till att förvaltningsattacker inte kommer att vara lönsamma. Vi hoppas att gemenskapen kommer att använda ramverket för att vidareutveckla dessa mekanismer genom sina egna experiment för att göra DAO ännu säkrare i framtiden. 

***

Pranav Garimidi är en stigande junior vid Columbia University och sommarforskare vid a16z krypto

Scott Duke Kominer är professor i företagsekonomi vid Harvard Business School, en fakultetsfilial vid Harvard Department of Economics och forskningspartner vid a16z krypto.

Tim Roughgarden är professor i datavetenskap och medlem av Data Science Institute vid Columbia University, och forskningschef vid a16z krypto.

***

Tack: Vi uppskattar användbara kommentarer och förslag från Andy Hall. Ett särskilt tack även till vår redaktör, Tim Sullivan.

***

Upplysningar: Kominers innehar ett antal kryptotokens och är en del av många NFT-gemenskaper; han ger råd till olika marknadsplatsföretag, startups och kryptoprojekt; och han fungerar också som expert på NFT-relaterade frågor.

De åsikter som uttrycks här är de från den individuella AH Capital Management, LLC (“a16z”) personal som citeras och är inte åsikterna från a16z eller dess dotterbolag. Viss information som finns här har erhållits från tredjepartskällor, inklusive från portföljbolag av fonder som förvaltas av a16z. Även om den är hämtad från källor som anses vara tillförlitliga, har a16z inte självständigt verifierat sådan information och gör inga utfästelser om informationens varaktiga riktighet eller dess lämplighet för en given situation. Dessutom kan detta innehåll innehålla tredjepartsannonser; a16z har inte granskat sådana annonser och stöder inte något reklaminnehåll i dem.

Detta innehåll tillhandahålls endast i informationssyfte och bör inte litas på som juridisk rådgivning, affärs-, investerings- eller skatterådgivning. Du bör rådfråga dina egna rådgivare i dessa frågor. Hänvisningar till värdepapper eller digitala tillgångar är endast i illustrativt syfte och utgör inte en investeringsrekommendation eller erbjudande om att tillhandahålla investeringsrådgivningstjänster. Dessutom är detta innehåll inte riktat till eller avsett att användas av några investerare eller potentiella investerare, och får inte under några omständigheter lita på när man fattar ett beslut om att investera i någon fond som förvaltas av a16z. (Ett erbjudande om att investera i en a16z-fond kommer endast att göras av det privata emissionsmemorandumet, teckningsavtalet och annan relevant dokumentation för en sådan fond och bör läsas i sin helhet.) Alla investeringar eller portföljbolag som nämns, hänvisas till, eller beskrivna är inte representativa för alla investeringar i fordon som förvaltas av a16z, och det finns ingen garanti för att investeringarna kommer att vara lönsamma eller att andra investeringar som görs i framtiden kommer att ha liknande egenskaper eller resultat. En lista över investeringar gjorda av fonder som förvaltas av Andreessen Horowitz (exklusive investeringar för vilka emittenten inte har gett tillstånd för a16z att offentliggöra såväl som oanmälda investeringar i börsnoterade digitala tillgångar) finns tillgänglig på https://a16z.com/investments /.

Diagram och grafer som tillhandahålls i är endast i informationssyfte och bör inte litas på när man fattar investeringsbeslut. Tidigare resultat är inte en indikation på framtida resultat. Innehållet talar endast från det angivna datumet. Alla prognoser, uppskattningar, prognoser, mål, framtidsutsikter och/eller åsikter som uttrycks i detta material kan ändras utan föregående meddelande och kan skilja sig åt eller strida mot åsikter som uttrycks av andra. Se https://a16z.com/disclosures för ytterligare viktig information.

Tidsstämpel:

Mer från Andreessen Horowitz