Blockchain dapat memainkan peran di luar mata uang dan transaksi keuangan. Salah satu penerapan non-finansialnya adalah blockchain dapat meningkatkan bidang pemungutan suara dan tata kelola. Dalam artikel ini, kami mengeksplorasi pendekatan untuk membangun infrastruktur blockchain tujuan khusus yang dirancang untuk memfasilitasi aktivitas pemungutan suara berbasis MACI. Infrastruktur ini harus mencakup blockchain ringan yang bertindak sebagai server stempel waktu dan menampung logika, bersama dengan alat yang diperlukan untuk mengurangi biaya pengguna/memaksimalkan pengalaman pengguna. Oleh karena itu, teknologi ini harus menjadi platform dasar baru bagi teknologi pemungutan suara generasi baru. Sebelum kita mendalami detailnya, mari kita lihat dulu sejarah teknologi pemungutan suara dan bagaimana pemungutan suara telah berkembang dalam komunitas blockchain.
Evolusi teknologi pemungutan suara Teknologi pemungutan suara dari Kleroterion Yunani kuno [1] hingga mesin pemungutan suara elektronik modern.
Teknologi pemungutan suara memiliki sejarah yang panjang [2]. Hal ini sangat penting bagi masyarakat manusia, namun berkembang sangat lambat. Inggris masih mengandalkan surat suara tulisan tangan selama pemilihan umum tahun 2019[3], dan negara-negara lain menggunakan mesin pemungutan suara elektronik bersumber tertutup[4], yang dapat dengan mudah menimbulkan perselisihan terhadap hasil pemerintahan[5].
Penerapan teknologi pemungutan suara modern telah meningkatkan efisiensi namun belum banyak berhasil dalam mengatasi transparansi dan verifikasi.
Tidak ada keraguan bahwa integritas pemilih sangat penting dalam peralihan kekuasaan, pengambilan keputusan mengenai hal-hal penting, atau alokasi sumber daya. Jika masyarakat tidak dapat menyepakati hasil pemungutan suara mengenai keputusan pemerintahan, mereka tidak dapat bekerja sama satu sama lain dan perselisihan pun meningkat. Gesekan dapat menimbulkan masalah, mulai dari perselisihan hingga perang.
Meskipun teknologi pemungutan suara perlahan-lahan berkembang, transparansi belum membaik dalam waktu yang lama. Dari Kleroterion hingga kertas suara hingga mesin pemungutan suara dengan pemindaian elektronik dan optik, verifikasi masih bergantung pada individu dan organisasi audit yang dapat dipercaya. Mengonfirmasi dan mengaudit hasil pemungutan suara bisa sangat mahal[6]. Jelas ada ruang untuk perbaikan.
Jadi apa teknologi pemungutan suara yang ideal? Sebenarnya ini bukanlah pertanyaan yang sulit. Kita dapat dengan mudah membuat "daftar keinginan":
(1) Infrastruktur sumber terbuka;
(2) Menyelenggarakan program sumber terbuka untuk logika pemungutan suara;
(3) Menyimpan catatan permanen atas semua suara yang diberikan secara berurutan;
(4) Mampu memverifikasi hasil secara kriptografis;
(5) Menolak kolusi;
(6) Melindungi privasi;
(7) Biaya pemungutan suara rendah.
Jika kita dapat membangun sistem open source yang dapat terus ditingkatkan, tujuan di atas akan tercapai secara bertahap. Perbaikan dan penurunan biaya dalam teknologi pemungutan suara dapat memungkinkan organisasi dan komunitas yang lebih kecil mendapatkan manfaat dari penggunaan teknologi yang sebelumnya tidak tersedia bagi mereka, sehingga menambah eksternalitas positif yang signifikan.
Pemungutan suara dan tata kelola dalam komunitas blockchain
Pemungutan suara dan tata kelola bukanlah hal baru dalam komunitas blockchain, karena banyak komunitas blockchain yang terdistribusi dan mereka harus bergantung pada tata kelola untuk mendorong perkembangan urusan.
Blockchain sendiri dapat mencatat suara secara transparan dan memverifikasi hasil suara. Properti ini telah digunakan oleh komunitas blockchain untuk tata kelola, seperti acara pemungutan suara token Snapshot [7] dan pemungutan suara proposal tata kelola Cosmos [8]. Hasilnya, komunitas blockchain dapat memberikan suara pada proposal dan memutuskan masalah tata kelola yang penting tanpa melalui perwakilan terpusat atau pertemuan tatap muka.
Proposal yang sedang berjalan[10] oleh KlaytnSquare[9] meminta validator untuk melakukan pemungutan suara secara on-chain. Proposal tersebut meminta persetujuan rencana pengeluaran fiskal triwulanan [11].
Contoh sebelumnya menggunakan aturan 1 token, 1 suara yang sederhana dan lugas - berapa banyak hak suara yang Anda miliki bergantung pada kepemilikan Anda di jaringan atau protokol. Tentu saja kita bisa membuat logika pemungutan suara yang lain asalkan masuk akal. Kemampuan program blockchain membuatnya lebih mudah dan praktis untuk menerapkan logika pemungutan suara non-tradisional.
Salah satu contohnya adalah Quadratic Voting [12] (QV), sebuah skema pemungutan suara yang semakin populer di komunitas blockchain. Di babak QV, pengguna dapat mengekspresikan preferensinya dengan menggunakan Kredit Suara pada topik tertentu. Namun jika seorang pemilih ingin memberikan lebih dari satu suara pada topik yang sama, biaya kredit pemungutan suara meningkat untuk setiap suara. Oleh karena itu, total biaya pemungutan suara meningkat secara kuadrat, sehingga mengurangi preferensi ekstrem dari pengguna yang memiliki hak suara terlalu besar.
Pendanaan kuadrat [13] putaran pemungutan suara di blockchain Aptos. Hasil pemungutan suara dicatat dalam rantai, dan logika pemungutan suara dapat diverifikasi.
Ada banyak parameter yang perlu dipertimbangkan ketika memilih metode pemungutan suara tertentu. Misalnya, salah satu trade-offnya adalah memilih pemungutan suara on-chain atau pemungutan suara off-chain. Logika pemungutan suara on-chain mungkin lebih dapat diverifikasi dan transparan, namun biaya transaksi mungkin menjadi beban yang signifikan. Sebaliknya, logika pemungutan suara off-chain mungkin lebih murah, namun pada saat yang sama kurang transparan dan dapat diverifikasi. Namun, pemungutan suara on-chain dan off-chain bukanlah hubungan ini atau itu. Kita dapat dengan mudah merancang ini sebagai sistem hybrid di mana sebagian prosesnya terjadi secara on-chain dan sisanya dilakukan secara off-chain.
Selain biaya, ada masalah privasi. Privasi penting karena dua alasan. Pertama, dalam banyak kasus, kekhawatiran pengguna mengenai pemungutan suara akan berkurang jika mereka dapat memilih secara anonim (privasi antara pengguna dan penyelenggara). Selain itu, privasi antar pengguna dapat membantu mencegah suap suara dan secara efektif mencapai anti-kolusi.
Salah satu cara kita dapat meminimalkan komputasi on-chain sambil menerapkan integritas off-chain adalah dengan menggunakan bukti tanpa pengetahuan [14]. Ide sederhananya adalah jika komputasi off-chain dapat diverifikasi dengan bukti tanpa pengetahuan, kita dapat memindahkan sebagian besar komputasi ke luar rantai. Jika pesan dienkripsi lebih lanjut, kami dapat meningkatkan privasi. MACI [15] adalah kerangka minimal untuk mencapai tujuan ini.
Putaran pemungutan suara MACI memindahkan penghitungan suara secara off-chain. Terakhir, validitas hasil diverifikasi melalui rantai bukti tanpa pengetahuan.
Dalam putaran pemungutan suara MACI, suara dikemas dalam pesan terenkripsi kunci publik yang dihasilkan oleh administrator putaran (operator) dan diserahkan ke kontrak pintar. Oleh karena itu, semua pesan “diberi stempel waktu” oleh blockchain, sehingga menciptakan rantai pesan informasi pemungutan suara.
Ketika putaran pemungutan suara berakhir, administrator mengunduh semua pesan, mendekripsinya, dan menghitung suara dalam urutan terbalik. Hasilnya kemudian dipublikasikan dengan bukti tanpa pengetahuan yang dapat diverifikasi pada kontrak pintar (atau oleh orang lain), sehingga menandakan validitas hasil yang dipublikasikan dan kebenaran pemrosesan pesan.
Seluruh proses mempertahankan komputasi on-chain yang minimal sambil memastikan integritas hasil yang dipublikasikan. Ini juga memberikan privasi dan resistensi kolusi antar pengguna.
Bagaimana cara kerja MACI pada produk sebenarnya?
MACI sekarang digunakan oleh berbagai komunitas hackathon di DoraHacks[16] untuk memilih proyek hackathon favorit mereka. Jadi mari kita ambil putaran MACI DoraHacks sebagai contoh.
OpenSea dan Replit Hackathon menggunakan MACI untuk pemungutan suara juri pada tahun 2022
Setelah proyek hackathon (BUIDL) diserahkan, pihak penyelenggara memilih 12 tim BUIDL dari seluruh karya yang dikirimkan. Sepuluh juri diundang untuk memilih 12 tim BUIDL dan membagikan hadiah uang sebesar $25.000. 10 juri masuk daftar putih dan mendaftar untuk berpartisipasi dalam putaran pemungutan suara, dan mereka mengirimkan total 39 pesan ke kontrak pintar MACI yang diterapkan di Polygon.
Setelah pemungutan suara berakhir, administrator (DoraHacks) menghitung suara dan mempublikasikan hasil akhir ke papan peringkat, lalu memberikan bukti tanpa pengetahuan untuk memverifikasi papan peringkat.
Pemeringkatan hasil pemungutan suara hackathon OpenSea x Replit. Bukti tanpa pengetahuan yang memverifikasi hasil yang ditampilkan di papan peringkat.
Sebagai kerangka umum, MACI dapat digunakan untuk kasus penggunaan pemungutan suara di luar pemungutan suara hakim hackathon dan pemungutan suara komunitas sumber terbuka. Namun, pengadopsian MACI dalam kasus penggunaan voting sangat jarang terjadi. Secara lebih luas, pemungutan suara blockchain sendiri belum diadopsi di dunia nyata.
Manfaat penggunaan blockchain untuk meningkatkan teknologi pemungutan suara sudah jelas, namun mengapa dunia nyata tidak bergerak maju? Bahkan dalam komunitas blockchain, keunggulan MACI sudah jelas. Mengapa MACI umumnya tidak diadopsi oleh komunitas desentralisasi?
Alasan utama lambatnya penerapan teknologi pemungutan suara yang canggih bukanlah karena rendahnya permintaan, namun karena sulitnya menggunakan teknologi tersebut. Dengan kata lain, kita perlu meningkatkan teknologi untuk menyediakan UX/UI yang lebih baik untuk produk pemungutan suara modern dan mengurangi biaya penggunaan bagi pengguna.
pengalaman pengguna
Selain tata kelola komunitas sumber terbuka, kami juga perlu membangun lebih banyak antarmuka bagi pengguna untuk menggunakan teknologi pemungutan suara baru. DoraHacks menyediakan pendanaan untuk ekosistem Web3 dan komunitas hackathon dengan menyediakan produk terbaik yang saat ini tersedia di industri. Meskipun antarmuka di DoraHacks.io sendiri memiliki kasus penggunaan yang spesifik, antarmuka tersebut dapat disederhanakan dan kemudian digeneralisasikan untuk membangun lebih banyak antarmuka untuk lebih banyak kasus penggunaan.
Strategi front-end yang spesifik belum ditentukan. Namun, pengalaman pengguna yang baik sangat penting untuk penerapan teknologi, bahkan dalam komunitas blockchain – sesuatu yang penting bagi pengembang Dora Factory.
biaya pemungutan suara
Blockchain universal harus terdesentralisasi dan menyediakan infrastruktur tunggal untuk semua jenis aplikasi. Blockchain ini tidak dirancang untuk dioptimalkan untuk jenis aplikasi tertentu, terutama aplikasi non-moneter atau non-finansial. Pada saat yang sama, biaya transaksi dapat berfluktuasi ketika ada sejumlah besar aplikasi yang bersaing untuk mendapatkan sumber daya komputasi yang sama. Ketidakpastian biaya dapat menimbulkan masalah dalam pemungutan suara.
Untuk tujuan ini, Dora Factory baru-baru ini menguji produk baru bernama Vota[17]. Ide Vota adalah bereksperimen dengan blockchain tujuan khusus dan menggunakannya untuk terus mengoptimalkan teknologi pemungutan suara dan pengalaman pengguna. Saat ini, Vota masih dalam tahap awal. Namun, kita dapat membayangkan beberapa bentuk Vota yang berbeda.
Kontrak pintar sementara
Ini adalah bagaimana putaran pemungutan suara saat ini didukung di DoraHacks.io. Setiap putaran pemungutan suara diterapkan sebagai kontrak pintar terpisah pada blockchain tertentu. Dalam kebanyakan kasus, Ethereum biasanya tidak dapat secara langsung mendukung sebagian besar skenario pemungutan suara (inilah sebabnya Snapshot adalah produk default yang digunakan oleh komunitas Ethereum). Saat ini, Polygon dan BNBChain adalah pilihan populer bagi sebagian besar penyelenggara hibah dan penyelenggara hackathon di DoraHacks.
Kontrak pintar sementara di blockchain L1, semua pesan pemungutan suara dikirim ke L1.
Menggunakan kontrak pintar sementara tidak sepenuhnya buruk. Ini fleksibel dan dapat digunakan di mana saja sesuai kebutuhan. Bagi pengguna DoraHacks, hasil saat ini bagus, namun tidak memenuhi semua kebutuhan pemungutan suara secara merata.
L2 Suara
Jika kami membuat infrastruktur lapisan 2 (L2) khusus untuk pemungutan suara, kami dapat mengurangi biaya bahan bakar secara signifikan dan berpotensi memungkinkan pemungutan suara berbiaya rendah di Ethereum. Kontrak L2 tidak harus semuanya diterapkan di Ethereum, kontrak tersebut bisa lebih murah hanya dengan mengirimkan transaksi L1 dari waktu ke waktu untuk memverifikasi semua aktivitas L2.
Kami dapat lebih mengoptimalkan model ini. Universal L2 harus sering dikomit ke Ethereum. Vota hanya perlu mengirimkan satu transaksi ke Ethereum per putaran, artinya hanya memerlukan biaya gas fee paling banyak satu transaksi per putaran. Jika beberapa putaran berakhir pada saat yang sama, mereka dapat berbagi transaksi untuk mengurangi biaya bahan bakar, menjadikan pemungutan suara L2 lebih realistis dan layak.
Pesan dikirim langsung ke kontrak L2. Hanya satu transaksi yang dikirim ke blockchain L1 di akhir setiap putaran. L3 Vota (berlaku untuk L(n)Vota, dimana n>=3)
L3 Vota tidak sepenuhnya tidak berarti. Dengan terbentuknya L2, L3 Vota dapat mengurangi biaya bahan bakar secara signifikan. Meskipun transaksi L3 pada akhirnya dicatat dan diverifikasi di Ethereum, trade-offnya adalah mempercayai L2 yang dipilih.
Tentu saja, kita dapat memperluas ini lebih jauh ke L(n) Vota, karena L(2)…L(n-1) akan mengirimkan transaksi ke Ethereum (atau L1 lainnya). Namun yang jelas, rantai kepercayaan memperumit banyak hal. Dilihat dari situasi saat ini, banyak L2 terkenal yang masih mengandalkan sequencer tunggal (Sequencer); mungkin terlalu dini untuk membicarakan L(4).
Rantai aplikasi Vota
Pengembang Dora Factory membuat "Hack" sederhana yang memungkinkan kontrak CosmWasm memverifikasi bukti tanpa pengetahuan yang dihasilkan oleh SnarkJS menggunakan [18] Bellman [19]. Dengan memasukkan Bellman ke dalam kontrak CosmWasm, setiap rantai aplikasi Cosmos dapat dengan cepat mendukung aplikasi zk.
Dengan kemampuan menjalankan aplikasi zk, blockchain independen dapat menggunakan arsitektur perangkat lunak seperti Tendermint untuk membangun rantai. Konsensus blockchain ini mirip dengan BFT, atau lebih sederhana, dan biasanya dapat mendukung hingga 100 atau lebih validator. Dengan hati-hati memilih validator dengan kepentingan yang tidak selaras, blockchain independen bisa menjadi cukup aman dan netral.
Ketika DoraHacks menyambut lebih banyak rantai aplikasi Cosmos, salah satu kasus penggunaan yang jelas untuk Vota berbasis rantai aplikasi adalah memberikan suara pada hasil hackathon. Selain DoraHacks, Vota berdasarkan rantai aplikasi Cosmos melakukan lebih dari sekadar pemungutan suara juri hackathon.
Rantai aplikasi Vota memiliki sejumlah kecil validator, namun validator yang dipilih dengan cermat dapat menyediakan infrastruktur yang andal.
Perlu dicatat bahwa solusi ini tidak eksklusif. Seiring berkembangnya Vota, solusi yang berbeda mungkin saling bersilangan. Misalnya, jika kita memiliki versi rantai aplikasi Vota yang berdiri sendiri sebagai infrastruktur utama, untuk kasus penggunaan yang memerlukan verifikasi transaksi pada L1 tertentu, rantai aplikasi dapat mengirimkan transaksi tambahan ke L1.
anonimitas yang lebih baik
Pekerjaan penelitian saat ini sedang dilakukan untuk membuat MACI lebih tidak dapat dipercaya. MACI yang asli membuat asumsi kepercayaan yang penting bahwa administrator tidak akan melakukan korupsi. Hal ini tidak bersifat universal. Untuk meningkatkan hal ini, terdapat solusi berbasis MPC [20] dan solusi berbasis non-MPC [21]. Saat ini, DoraHacks telah membangun versi MACI anonim berdasarkan enkripsi ElGamal yang dapat diacak ulang, yang awalnya diusulkan oleh Kobe Guikan. [22] Ini telah diuji dalam putaran hibah penelitian ETH kecil [23] di DoraHacks.io.
Saat ini, mungkin terlalu dini untuk mendorong adopsi MACI anonim sebelum MACI sendiri diadopsi secara luas. Namun, penting juga untuk melanjutkan penelitian untuk mengurangi asumsi kepercayaan terhadap mekanisme pemungutan suara secara umum.
Tambahkan anonimitas ke MACI dengan menambahkan tindakan yang memungkinkan pengguna menonaktifkan dan mengubah kunci rahasia mereka tanpa administrator dapat mengetahui siapa yang menambahkan kunci baru. pembayaran GAS
Penting untuk tidak berasumsi bahwa pengguna memiliki mata uang kripto. Jika setiap pengguna harus membayar biaya bahan bakar untuk setiap transaksi, maka pengguna blockchain akan dibatasi pada sekelompok kecil orang. Untuk mengatasi masalah ini, operator MACI dapat melakukan deposit awal pada token yang dapat dikembalikan dan membayar pengguna. Mekanisme ini dapat dilakukan melalui SPBU.
SPBU itu sendiri merupakan smart contract yang ada di Vota. Sebelum setiap putaran dimulai, operator dapat memilih untuk menggunakannya atau tidak. Dengan menggunakan pompa bensin, operator melakukan deposit awal DORA ke dalam kontrak pintar dan dapat membayar biaya transaksi yang terkait dengan putaran tertentu melalui pompa bensin.
Kemungkinan besar, Vota akan menerapkan pompa bensin default, dan orang-orang dapat menggunakan pompa bensin mereka sendiri dengan logika pembayaran berbeda sesuai permintaan.
Kontrak pembayaran Gas merupakan buku besar saldo Gas untuk setiap putaran pemungutan suara. sebagai kesimpulan
Blockchain dengan tujuan khusus mungkin cocok untuk berbagai kasus penggunaan aplikasi spesifik, terutama kasus penggunaan non-finansial. Pemungutan suara adalah salah satu masalah terpenting yang dapat diperbaiki secara signifikan oleh blockchain dan kriptografi tanpa pengetahuan. Meningkatkan transparansi dan efisiensi pemungutan suara dapat mengurangi gesekan tata kelola dalam masyarakat manusia dan komunitas blockchain, sehingga meningkatkan produktivitas dalam jangka panjang. Protokol seperti MACI menciptakan kerangka kerja yang rapi untuk aplikasi pemungutan suara di blockchain, namun teknologi pemungutan suara masih memerlukan banyak perbaikan untuk ditingkatkan. Secara khusus, kita memerlukan infrastruktur yang ramah pengguna sebagai fondasi untuk meningkatkan teknologi pemungutan suara dalam jangka panjang, dan artikel ini merinci upaya-upaya di masa depan.
referensi
Kleroterion:https://en.wikipedia.org/wiki/Kleroterion
Sejarah panjang teknologi pemungutan suara: https://electionlab.mit.edu/research/voting-technology
Pemilihan umum "Brexit" Inggris tahun 2019: https://en.wikipedia.org/wiki/2019_United_Kingdom_general_election
Mesin pemungutan suara elektronik: https://en.wikipedia.org/wiki/Dominion_Voting_Systems
Hasil pemilu yang disengketakan: https://www.reuters.com/legal/dominions-defamation-case-against-fox-poised-trial-after-delay-2023-04-18
Mengonfirmasi dan mengaudit hasil pemungutan suara bisa sangat mahal: https://azsos.gov/elections/voters/voting-elections/ballot-processing/2022-general-elections-recount-information
Pemungutan suara token cuplikan: https://snapshot.org/
Pemungutan suara proposal tata kelola kosmos: https://www.mintscan.io/cosmos/proposals
KlaytnSquare:https://square.klaytn.foundation/GC
Proposal dari KlaytnSquare: https://square.klaytn.foundation/Proposal/Detail?id=4
Rencana pengeluaran fiskal: https://govforum.klaytn.foundation/c/proposal/5
Pemungutan suara kuadrat: https://en.wikipedia.org/wiki/Quadratic_voting
Pembiayaan kuadrat: https://research.dorahacks.io/2022/07/11/quadratic-governance
Bukti tanpa pengetahuan: https://en.wikipedia.org/wiki/Zero-knowledge_proof
MACI:https://ethresear.ch/t/infrastruktur-anti-kolusi-minimal/5413
DoraHacks: https://dorahacks.io/grant/ethdenver22/buidl
Vota:https://vota.dorafactory.org/
Sebuah "peretasan" sederhana yang memungkinkan kontrak CosmWasm digunakan: https://github.com/DoraFactory/snarkjs-bellman-adapter/tree/main/prove
Bellman:https://github.com/zkcrypto/bellman
Solusi berbasis MPC: https://research.dorahacks.io/2023/03/30/mpc-maci-anonymization
Solusi berbasis non-MPC: https://ethresear.ch/t/maci-anonymization-using-rerandomizable-encryption/7054
Versi MACI anonim, diusulkan oleh KobeGuikan: https://github.com/dorahacksglobal/anonymous-maci
Putaran hibah penelitian ETH: https://dorahacks.io/grant/ethre3/maci
