A16z mengeluarkan sistem undian tanpa nama untuk Ethereum

Dana modal teroka Andreessen Horowitz, juga dikenali sebagai A16z, telah mengeluarkan perpustakaan Solidity yang boleh digunakan untuk mengundi tanpa nama di Ethereum. Dipanggil "Cicada," perpustakaan menghalang pilihan pengundi individu daripada diketahui sebelum pengundian berakhir. Apabila digabungkan dengan sistem keahlian kumpulan berpengetahuan sifar seperti Semaphore, ia juga boleh menjadikan identiti pengundi tidak dapat diketahui secara kekal, menurut catatan blog 24 Mei daripada jurutera A16z Michael Zhu.

Cicada bergantung pada teka-teki kunci masa, sejenis kriptografi yang membolehkan pengguna menyulitkan nilai rahsia yang hanya boleh dinyahsulit selepas tempoh masa tertentu berlalu, Zhu menyatakan.

Teka-teki ini telah wujud sejak 1996. Tetapi sebelum 2019, mereka memerlukan pengguna untuk mendedahkan nilai rahsia mereka setelah tempoh masa berlalu. Dalam sistem pengundian, ini boleh menyebabkan masalah dengan pengguna menyerahkan undian dan kemudian pergi ke luar talian, menghalang semua undian daripada dikira.

Pada 2019, konsep teka-teki kunci masa "homomorfik" telah dicadangkan oleh ahli kriptografi Giulio Malavolta dan Aravind Thyagarajan. Ini membolehkan teka-teki digabungkan untuk menghasilkan teka-teki terakhir yang lebih mudah untuk diselesaikan daripada jumlah teka-teki individu. Penyelesaian kepada teka-teki terakhir mendedahkan hanya jumlah nilai individu tanpa mendedahkan nilai individu yang membentuk jumlah ini.

Menurut siaran A16z, Cicada menggunakan teka-teki homomorfik ini, membenarkan undian dikira walaupun pengguna pergi ke luar talian.

Apabila cuba memindahkan sistem Malavolta dan Thyagarajan ke blok blok, penyelidik A16z menghadapi halangan untuk mewujudkan sistem pengundian yang adil: Setiap pilihan perlu dikodkan sebagai nilai boolean "1" atau "0." Ini bermakna penyerang boleh cuba meningkatkan kuasa mengundi mereka dengan mengekod undian yang salah — dengan mengekodkan “100” sebagai nilai mereka, contohnya.

Untuk menyelesaikan masalah ini, Cicada menghendaki pengundi menyerahkan bukti pengetahuan sifar kesahihan undi bersama setiap undi, kata jawatan itu. Bukti menunjukkan bahawa undi telah dikodkan dengan betul, tetapi tanpa mendedahkan kandungan undi.

Berkaitan: Anchorage Digital membuka pengundian DeFi untuk pelanggan jagaan

Cicada hanya menghalang undi daripada diketahui semasa tinjauan dijalankan. Sebaik sahaja "pungutan suara telah ditutup" atau tempoh kunci masa telah berlalu, mana-mana orang boleh menentukan kandungan undian dengan memaksa penyelesaian teka-teki secara kasar. Walau bagaimanapun, A16z mencadangkan bahawa masalah ini boleh diselesaikan dengan menggabungkan Cicada dengan sistem keahlian kumpulan sifar seperti Semaphore, Semacaulk atau bukti keadaan sifar pengetahuan. Dalam kes ini, memaksa teka-teki secara kasar hanya akan mendedahkan bahawa undi telah dibuat oleh pengundi yang layak tetapi tidak akan mendedahkan kelayakan yang digunakan untuk membuktikan kelayakan pengundi.

Sebagai contoh, Zhu memberikan pautan kepada sampel kontrak yang dihasilkan menggunakan Cicada yang juga bergantung pada Semaphore untuk membuktikan kelayakan pengundi.

Sistem pengundian telah lama menjadi komponen organisasi autonomi terdesentralisasi (DAO), badan pentadbir yang sering menguruskan aplikasi blockchain. Tetapi dalam kebanyakan kes, DAO menggunakan token untuk mewakili undian, yang bermaksud bahawa pengguna individu boleh mempunyai pengaruh yang terlalu besar jika mereka memegang sejumlah besar token. Sebagai contoh, pada 22 Mei, penyerang telah mengawal Tornado Cash dengan memberikan undian tambahan pada cadangan berniat jahat, menggunakannya untuk menghabiskan semua dana kontrak tadbir urus. Penyerang kemudian menawarkan untuk memberikan kembali kawalan kepada pengguna.

Pengasas Waves Sasha Ivanov telah berhujah bahawa DAO mesti beralih kepada sistem pengundian yang lebih demokratik jika serangan tadbir urus seperti ini ingin dielakkan.

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