A16z slipper anonymt stemmesystem for Ethereum

Venturekapitalfondet Andreessen Horowitz, også kjent som A16z, har gitt ut et Solidity-bibliotek som kan brukes til anonym stemmegivning på Ethereum. Biblioteket, kalt "Cicada", forhindrer at en individuell velgers valg blir kjent før avstemningen avsluttes. Når det kombineres med gruppemedlemssystemer med null kunnskap som Semaphore, kan det også gjøre velgerens identitet permanent ukjent, ifølge et blogginnlegg fra 24. mai fra A16z-ingeniøren Michael Zhu.

Cicada er avhengig av time-lock puslespill, en type kryptografi som lar brukere kryptere hemmelige verdier som bare kan dekrypteres etter at en bestemt tidsperiode har gått, uttalte Zhu.

Disse gåtene har eksistert siden 1996. Men før 2019 ville de ha krevd at brukerne skulle avsløre sine hemmelige verdier når tidsperioden hadde gått. I stemmesystemer kan dette ha forårsaket problemer med brukere som sender inn stemmer og deretter går offline, og forhindrer at alle stemmene kan telles.

I 2019 ble konseptet med "homomorfe" tidslåseoppgaver foreslått av kryptografene Giulio Malavolta og Aravind Thyagarajan. Dette gjorde at gåtene kunne legges sammen for å produsere et endelig puslespill som var mye lettere å løse enn summen av de enkelte gåtene. Løsningen på det endelige puslespillet avslører bare summen av de individuelle verdiene uten å avsløre de individuelle verdiene som utgjør denne summen.

I følge A16z-innlegget bruker Cicada disse homomorfe gåtene, slik at stemmer kan telles selv om brukere går offline.

Da de forsøkte å overføre Malavolta og Thyagarajans system til blokkjeden, møtte A16z-forskere en hindring for å lage et rettferdig stemmesystem: Hvert valg måtte kodes som en boolsk verdi på "1" eller "0." Dette betydde at angripere kunne prøve å øke stemmestyrken ved å feilkode stemmen – for eksempel ved å kode «100» som verdi.

For å løse dette problemet krever Cicada at velgerne sender inn et bevis med null kunnskap om stemmeseddelens gyldighet sammen med hver stemmeseddel, heter det i innlegget. Beviset viser at avstemningen ble kodet riktig, men uten å avsløre innholdet i avstemningen.

Relatert: Anchorage Digital åpner for DeFi-stemmegivning for varetektskunder

Cicada forhindrer bare at stemmer blir kjent mens avstemningen gjennomføres. Når "avstemningen er stengt" eller tidssperreperioden har passert, kan enhver person bestemme innholdet i en avstemning ved å tvinge opp løsningen på puslespillet. Imidlertid antydet A16z at dette problemet kan løses ved å kombinere Cicada med nullkunnskapsgruppemedlemskapssystemer som Semaphore, Semacaulk eller nullkunnskapsbevis. I dette tilfellet vil brute forcering av puslespillet bare avsløre at stemmen ble avgitt av en stemmeberettiget velger, men vil ikke avsløre legitimasjonen som ble brukt for å bevise velgerens valgbarhet.

Som et eksempel ga Zhu en lenke til en prøvekontrakt produsert ved hjelp av Cicada som også er avhengig av Semaphore for å bevise valgbarhet.

Stemmesystemer har lenge vært en del av desentraliserte autonome organisasjoner (DAO), de styrende organene som ofte administrerer blokkjedeapper. Men i de fleste tilfeller bruker DAO-er tokens for å representere stemmer, noe som betyr at individuelle brukere kan ha en overdimensjonert innflytelse hvis de har et stort antall tokens. For eksempel, 22. mai tok en angriper kontroll over Tornado Cash ved å avgi ekstra stemmer på et ondsinnet forslag, og brukte det til å tømme alle forvaltningskontraktens midler. Angriperen tilbød seg senere å gi tilbake kontrollen til brukerne.

Waves-grunnlegger Sasha Ivanov har hevdet at DAO-er må gå over til et mer demokratisk stemmesystem hvis styringsangrep som disse skal unngås.

Kilde: https://cointelegraph.com/news/a16z-releases-anonymous-voting-system-for-ethereum