A16z släpper anonymt röstsystem för Ethereum

Riskkapitalfonden Andreessen Horowitz, även känd som A16z, har släppt ett Solidity-bibliotek som kan användas för anonym röstning på Ethereum. Biblioteket, som kallas "Cicada", förhindrar att en enskild väljares val är känt innan omröstningen avslutas. När det kombineras med system för gruppmedlemskap med noll kunskap som Semaphore, kan det också göra väljarens identitet permanent omöjlig att veta, enligt ett blogginlägg den 24 maj från A16z-ingenjören Michael Zhu.

Cicada förlitar sig på tidslåsningspussel, en typ av kryptografi som tillåter användare att kryptera hemliga värden som bara kan dekrypteras efter att en viss tidsperiod har gått, sade Zhu.

Dessa pussel har funnits sedan 1996. Men före 2019 skulle de ha krävt att användarna avslöjade sina hemliga värden när tidsperioden hade passerat. I röstningssystem kan detta ha orsakat problem med användare som skickar in röster och sedan går offline, vilket förhindrar att alla röster kan räknas.

År 2019 föreslogs konceptet med "homomorfa" tidslåsningspussel av kryptograferna Giulio Malavolta och Aravind Thyagarajan. Detta gjorde att pusslen kunde läggas ihop för att skapa ett slutligt pussel som var mycket lättare att lösa än summan av de enskilda pusslen. Lösningen på det sista pusslet avslöjar bara summan av de individuella värdena utan att avslöja de individuella värdena som utgör denna summa.

Enligt A16z-inlägget använder Cicada dessa homomorfa pussel, vilket gör att röster kan räknas även om användare går offline.

När de försökte överföra Malavolta och Thyagarajans system till blockkedjan stötte A16z-forskare på ett hinder för att skapa ett rättvist röstningssystem: Varje val behövde kodas som ett booleskt värde på "1" eller "0." Detta innebar att angripare kunde försöka öka sin röststyrka genom att koda rösten felaktigt – till exempel genom att koda "100" som deras värde.

För att lösa detta problem kräver Cicada att väljarna skickar in ett noll-kunskapsbevis på valsedelns giltighet tillsammans med varje valsedel, stod det i inlägget. Beviset visar att omröstningen var korrekt kodad, men utan att innehållet i omröstningen avslöjas.

Relaterat: Anchorage Digital öppnar för DeFi-röstning för vårdnadskunder

Cicada hindrar bara röster från att bli kända medan omröstningen genomförs. När "omröstningen har stängts" eller tidslåsningsperioden har passerat, kan vilken person som helst bestämma innehållet i en omröstning genom att brute-force lösningen på pusslet. A16z föreslog dock att detta problem kan lösas genom att kombinera Cicada med system för nollkunskapsgruppmedlemskap som Semaphore, Semacaulk eller nollkunskapsbevis. I det här fallet kommer brute forcering av pusslet bara att avslöja att rösten avgavs av en röstberättigad väljare, men kommer inte att avslöja de referenser som användes för att bevisa väljarens valbarhet.

Som ett exempel tillhandahöll Zhu en länk till ett exempelkontrakt producerat med Cicada som också förlitar sig på Semaphore för att bevisa valbarhet.

Röstsystem har länge varit en del av decentraliserade autonoma organisationer (DAO), de styrande organ som ofta hanterar blockkedjeappar. Men i de flesta fall använder DAOs tokens för att representera röster, vilket innebär att enskilda användare kan ha ett stort inflytande om de har ett stort antal tokens. Till exempel, den 22 maj, tog en angripare kontroll över Tornado Cash genom att lägga extra röster på ett skadligt förslag, och använde det för att tömma alla förvaltningskontraktets medel. Angriparen erbjöd sig senare att ge tillbaka kontrollen till användarna.

Waves grundare Sasha Ivanov har hävdat att DAO:er måste gå över till ett mer demokratiskt röstsystem om styrningsattacker som dessa ska undvikas.

Källa: https://cointelegraph.com/news/a16z-releases-anonymous-voting-system-for-ethereum