Versi dokumen orisinil: The Cardano Ballot: developing a decentralized voting app
Dipublikasikan pada tanggal 18 Oktober 2022
Ditulis oleh Thomas A. Mayfield
Terjemahan ke dalam Bahasa Indonesia oleh @andreassosilo
(Translated to Indonesian language by @andreassosilo)
Cardano Ballot: mengembangkan aplikasi pemungutan suara terdesentralisasi
Ditulis oleh Thomas A. Mayfield dari Cardano Foundation
Beberapa kelompok sedang ikut terlibat dalam mempersiapkan acara internasional seperti Cardano Summit 2022, dengan berbagai tim yang menangani berbagai aspek untuk memastikan semuanya berjalan semulus mungkin. Pada akhir Juli, tim Metadata Tools dari Cardano Foundation menerima tugas baru: Mendukung Summit melalui pengembangan aplikasi pemungutan suara yang dapat digunakan siapa saja dengan mudah. Aplikasi ini juga harus memanfaatkan penggunaan blockchain Cardano dan membuat setiap suara diverifikasi secara on-chain.
Dengan hanya dua bulan untuk mengembangkan solusi yang elegan dan berfungsi penuh, tim Metadata Tools memulai periode kerja dan penemuan yang intens. Hari ini, tim, bersama dengan seluruh Cardano Foundation, dengan senang hati memperkenalkan Cardano Ballot.
Meletakkan dasar untuk aplikasi pemungutan suara
Persyaratan utama untuk Cardano Ballot menyiratkan aplikasi yang tidak hanya melayani Cardano Summit tetapi juga memamerkan keuntungan serta potensi dari blockchain Cardano. Hal itu perlu dirancang dan dibangun dengan cara yang memungkinkan setiap orang untuk memilih pembicara yang dipilih komunitas dan nominasi penghargaan di Summit. Pemungutan suara juga akan diberikan tanpa biaya kepada pengguna dan memiliki batas satu suara per pengguna.
Tim Metadata Tools mempertimbangkan banyak model desain, beberapa menggunakan transaksi metadata, yang lain menggunakan native assets, smart contract, atau solusi skalabilitas Hydra. Opsi untuk menggunakan kembali solusi pemungutan suara Cardano yang sekarang ada juga dipertimbangkan.
Kami dengan cepat mengidentifikasi ketidakmampuan untuk mengandalkan model pemungutan suara tertimbang yang didasarkan pada jumlah ADA yang didelegasikan. Kami perlu memastikan bobot voting yang sama per pengguna dan model ini tentu saja tidak dapat memberikan jaminan seperti itu. Selain itu, tim menemukan beberapa kesulitan dalam membatasi satu dompet untuk satu suara.
Proses pengembangan membuat Cardano Ballot berkembang menjadi aplikasi pemungutan suara Web3 yang menggunakan Wallet Connector open source baru dari Cardano Foundation, memungkinkan pengguna untuk menghubungkan Dompet Cardano yang mendukung standar CIP 30 dan CIP 8. Tim menerapkan dua metode berbeda untuk memverifikasi dompet pengguna: menggunakan bot Discord, atau ke pesan SMS. Memanfaatkan penandatanganan pesan CIP 8 dan alamat pasak dompet, kami mengharuskan pengguna untuk menandatangani pesan rahasia yang diberikan melalui salah satu dari dua metode, sehingga mengotentikasi kepemilikan dompet yang terhubung.
Keputusan untuk mengembangkan library Wallet Connector yang baru ini ada dua hal. Pertama dan terpenting, kami membutuhkan solusi untuk Cardano Ballot dan, melalui trial & error yang signifikan, kami menemukan banyak masalah di berbagai proyek dompet terkait dengan koneksi dompet yang berarti kami tidak akan mendapatkan penggunaan yang optimal darinya. Kedua, tim ingin menawarkan kepada developer Cardano di masa depan solusi open source yang menghilangkan kemungkinan beban kerja dan beban yang terkait dengan masalah seperti yang kami hadapi saat ini.
Membina alat open source dan mengoptimalkan utilitas
Selain masalah dompet yang teridentifikasi, open source Wallet Connector library berusaha memberikan solusi ringan yang tidak bergantung pada library serialisasi yang ada. Oleh karena itu, kami mengembangkan komponen React yang dipesan lebih dahulu untuk menyediakan fungsionalitas yang memprioritaskan koneksi dompet dan penandatanganan pesan CIP 8. Hasil akhirnya adalah konektor dompet sumber terbuka yang memungkinkan pengembang atau proyek mana pun untuk memperkenalkan koneksi dan otentikasi dompet Cardano dengan mulus. Kami berharap Wallet Connector baru ini meningkatkan perjalanan pengembang Cardano dan membantu mengatasi standarisasi terbatas pada tombol dan komponen koneksi dompet yang dihadapi oleh tim kami.
Dengan dompet Cardano yang terhubung dan terverifikasi, pengguna sekarang dapat menyusun Cardano Ballot untuk berbagai nominasi dalam berbagai kategori pembicara dan penghargaan Summit. Rancangan Cardano Ballot juga harus ditandatangani menggunakan standar CIP 8, yang kemudian dapat diajukan sebagai pemungutan suara. Dengan cara ini, aplikasi menggunakan CIP 8 untuk memverifikasi dompet yang terhubung dan menandatangani surat suara yang disusun. Tim juga menggunakan CIP 8 untuk membuat fitur masuk untuk aplikasi.
Sepanjang proses pengembangan dan penerapan Wallet Connector open source, menjadi jelas bahwa dukungan perangkat seluler saat ini di ekosistem Cardano sangat terbatas. Selain itu, ada beberapa variasi yang cukup besar dalam cara penerapan standar CIP 8 di berbagai dompet.
Ke depannya, Cardano Foundation juga bermaksud untuk merilis verifier dan parser JAVA CIP 8 open source yang dapat dimasukkan ke dalam proyek Cardano. Pemverifikasi dan pengurai JAVA CIP 8 ini memungkinkan deserialisasi tanda tangan CIP 8 dan dirancang khusus untuk mendukung alur kerja ekstraksi data untuk SundaeSwap Governance. Demikian juga, library mendukung generalisasi penguraian tanda tangan CIP 8 menggunakan bahasa pemrograman JAVA yang populer.
Memiliki suara on-chain
Setelah Cardano Ballot telah ditandatangani dan diserahkan ke sistem, tim kemudian menghadapi tantangan untuk memutuskan apa yang akan memberikan pilihan ideal untuk menulis suara secara on-chain. Metode yang dipilih harus mencakup sejumlah pertimbangan, termasuk fokus pada transparansi dan verifikasi, serta penggunaan blockchain yang bertanggung jawab.
Beberapa diskusi yang sedang berlangsung telah memperdebatkan apakah jaringan utama blockchain — sering disebut sebagai layer-1 — harus digunakan sebagai database. Dalam kasus Cardano Ballot, ini berarti semua surat suara yang ditandatangani ditulis on-chain. Hal ini tentu akan memberikan karakteristik transparansi dan verifikasi yang diinginkan, tetapi juga menimbulkan kekhawatiran.
Dengan pemahaman tentang merkle trees dan signifikansinya untuk verifikasi, tim mulai mengidentifikasi solusi yang bertanggung jawab yang menawarkan transparansi dan verifikasi, sementara tidak menggunakan layer-1 Cardano sebagai database. Percakapan dengan berbagai proyek milik komunitas dimulai selama fase gabungan desain dan pengembangan ini.
Dalam pertemuan dengan Voteaire, dan meskipun tim mengidentifikasi banyak kasus penggunaan di mana proyek menyajikan solusi ideal, menjadi jelas bahwa integrasi dengan solusi pemungutan suara mereka akan membutuhkan penulisan semua suara on-chain dan tidak sesuai dengan persyaratan kami. Beberapa masalah yang ada dengan memastikan satu suara per pengguna juga muncul. Meskipun demikian, diskusi dengan Voteaire terbukti sangat berharga. Mereka menggali informasi penting tentang masalah yang ada dengan pemungutan suara terdesentralisasi dan dengan memberikan solusi yang dapat diverifikasi kepada pengguna dengan cara yang hemat biaya.
SundaeSwap, di sisi lain, baru-baru ini menerapkan model tata kelola yang menggunakan merkle tree sebagai sarana untuk memverifikasi data dan yang melakukannya tanpa menulis seluruh data ke blockchain Cardano. Diskusi mendalam dengan SundaeSwap, bersama dengan kesediaan mereka untuk berbagi pelajaran berharga yang mereka pelajari saat mengembangkan solusi mereka, memungkinkan kami untuk mengidentifikasi solusi yang layak untuk mekanisme verifikasi Cardano Ballot yang memberikan transparansi dan verifikasi, namun tidak memerlukan penulisan dalam jumlah yang sangat ekstensif data dalam rantai. Selain itu, mereka melakukannya dengan biaya minimal.
Kemitraan dengan SundaeSwap ini juga hadir sebagai contoh kerja sama Cardano Foundation dengan komunitas Cardano. Ini adalah bagian dari upaya terus-menerus dari Cardano Foundation untuk memamerkan dan membantu kematangan ekosistem.
Dari Cardano Ballot ke utilitas blockchain
Dalam perjalanan merancang dan mengembangkan Cardano Ballot, tim Metadata Tools menemukan aspek terpuji dalam ekosistem pengembangan Cardano dan area yang dapat memperoleh manfaat dari eksplorasi dan pengembangan lebih lanjut. Dengan keinginan untuk melanjutkan kerja kolaboratif dengan ekosistem, kami sekarang mendokumentasikan dan menganalisis jalur potensial untuk meningkatkan pengalaman pengguna dan developerCardano.
Meskipun Cardano Ballot dirancang khusus untuk Cardano Summit 2022, hal itu mendorong diskusi seputar solusi tingkat perusahaan dan apa yang diperlukan untuk mengimplementasikannya. Baik Cardano Foundation pada umumnya dan tim Metadata Tools secara khusus mengetahui penelitian dan pengembangan yang berkembang menjadi self-sovereign identity (SSI). Kami sama-sama menyadari penerbitan decentralized identifiers (DID) di Cardano dengan proyek-proyek seperti Atala Prism, RootsID, IAMX, dan Sidetree-Cardano. Selain itu, banyak standar dan sistem yang ada di dalam SSI—seperti DIF, W3 , Trust Over IP, KERI—harus dipertimbangkan jika tujuannya adalah untuk merancang dan mengembangkan solusi identitas yang benar-benar dapat dioperasikan.
Cardano Ballot pada akhirnya akan di-refactored menjadi library open source. Kami berharap ini akan berguna bagi orang lain di dalam komunitas dan untuk tujuan di luar Cardano Summit 2022.
Proyek pengembangan ini memberikan pengalaman yang membuka mata bagi tim saat kami mengidentifikasi area dalam perjalanan developer Cardano yang memerlukan diskusi lebih lanjut. Dengan pemikiran inilah Cardano Foundation berencana untuk mengadakan lokakarya Wallet Connector dan DApp di Cardano Summit 2022, serta menyelenggarakan diskusi seputar standar CIP, pemungutan suara terdesentralisasi, dan banyak hal lainnya lagi.
Tim Metadata Tools dan Cardano Foundation mengundang seluruh komunitas Cardano untuk memberikan suara pertama untuk kategori pembicara dan kemudian untuk Cardano Summit Awards perdana. Kami juga berharap dapat melihat semua orang baik secara langsung atau secara virtual di Summit, dan berharap dapat terus berkolaborasi dengan komunitas Cardano.