Serangan tata kelola DAO, dan cara menghindarinya

Banyak proyek web3 merangkul pemungutan suara tanpa izin menggunakan token asli yang dapat dipertukarkan dan dapat diperdagangkan. Pemungutan suara tanpa izin dapat menawarkan banyak manfaat, mulai dari menurunkan hambatan masuk hingga meningkatkan persaingan. Pemegang Token dapat menggunakan token mereka untuk memberikan suara pada berbagai masalah โ€” mulai dari penyesuaian parameter sederhana hingga perombakan proses tata kelola itu sendiri. (Untuk tinjauan tata kelola DAO, lihat โ€œDemokrasi Kecepatan Cahaya"). Tetapi pemungutan suara tanpa izin rentan terhadap serangan pemerintahan, di mana penyerang memperoleh hak suara melalui cara yang sah (misalnya, membeli token di pasar terbuka) tetapi menggunakan hak suara itu untuk memanipulasi protokol demi keuntungan penyerang itu sendiri. Serangan-serangan ini murni "dalam protokol", yang berarti mereka tidak dapat diatasi melalui kriptografi. Alih-alih, mencegah mereka membutuhkan desain mekanisme yang bijaksana. Untuk itu, kami telah mengembangkan kerangka kerja untuk membantu DAO menilai ancaman dan berpotensi melawan serangan tersebut. 

Serangan pemerintahan dalam praktik

Masalah serangan pemerintahan tidak hanya teoretis. Mereka tidak hanya bisa terjadi di dunia nyata, tetapi mereka sudah dan akan terus melakukannya. 

In salah satu contoh yang menonjol, Steemit, sebuah startup yang membangun jaringan sosial terdesentralisasi di blockchain mereka, Steem, memiliki sistem tata kelola on-chain yang dikendalikan oleh 20 saksi. Pemilih menggunakan token STEEM mereka (mata uang asli platform) untuk memilih saksi. Sementara Steemit dan Steem mendapatkan daya tarik, Justin Sun telah mengembangkan rencana untuk menggabungkan Steem ke Tron, protokol blockchain yang ia dirikan pada tahun 2018. Untuk memperoleh hak suara untuk melakukannya, Sun mendekati salah satu pendiri Steem dan membeli token yang setara dengan 30 persen dari total pasokan. Setelah saksi Steem saat itu menemukan pembeliannya, mereka membekukan token Sun. Yang terjadi selanjutnya adalah publik bolak-balik antara Sun dan Steem untuk mengontrol token yang cukup untuk memasang daftar 20 saksi teratas pilihan mereka. Setelah melibatkan pertukaran besar dan menghabiskan ratusan ribu dolar untuk token, Sun akhirnya menang dan secara efektif memiliki kekuasaan bebas atas jaringan. 

In contoh lain, Pohon Kacang, protokol stablecoin, mendapati dirinya rentan terhadap serangan tata kelola melalui flashloan. Seorang penyerang mengambil pinjaman untuk mendapatkan token tata kelola Pohon Kacang yang cukup untuk segera meloloskan proposal jahat yang memungkinkan mereka untuk merebut $ 182 juta dari cadangan Pohon Kacang. Berbeda dengan serangan Steem, yang ini terjadi dalam rentang satu blok, yang berarti itu berakhir sebelum ada yang punya waktu untuk bereaksi. 

Sementara dua serangan ini terjadi di tempat terbuka dan di bawah mata publik, serangan pemerintahan juga dapat dilakukan secara diam-diam dalam jangka waktu yang lama. Penyerang mungkin membuat banyak akun anonim dan perlahan mengakumulasi token tata kelola, sambil berperilaku seperti pemegang lainnya untuk menghindari kecurigaan. Faktanya, mengingat betapa rendahnya partisipasi pemilih di banyak DAO, akun-akun tersebut dapat tertidur untuk waktu yang lama tanpa menimbulkan kecurigaan. Dari sudut pandang DAO, akun anonim penyerang dapat berkontribusi pada munculnya tingkat kekuatan suara terdesentralisasi yang sehat. Namun pada akhirnya penyerang dapat mencapai ambang di mana dompet sybil ini memiliki kekuatan untuk mengontrol pemerintahan secara sepihak tanpa dapat ditanggapi oleh masyarakat. Demikian pula, aktor jahat mungkin memperoleh kekuatan suara yang cukup untuk mengontrol tata kelola ketika jumlah pemilih cukup rendah, dan kemudian mencoba untuk meloloskan proposal jahat ketika banyak pemegang token lainnya tidak aktif.

Dan sementara kita mungkin berpikir semua tindakan tata kelola hanyalah hasil dari kekuatan pasar yang bekerja, dalam praktiknya tata kelola terkadang dapat menghasilkan hasil yang tidak efisien sebagai akibat dari kegagalan insentif atau kerentanan lain dalam desain protokol. Sama seperti pembuatan kebijakan pemerintah dapat ditangkap oleh kelompok kepentingan atau bahkan kelembaman sederhana, tata kelola DAO dapat menyebabkan hasil yang lebih rendah jika tidak terstruktur dengan benar.

Jadi bagaimana kita bisa mengatasi serangan seperti itu melalui desain mekanisme?

Tantangan mendasar: Tidak dapat dibedakan

Mekanisme pasar untuk alokasi token gagal membedakan antara pengguna yang ingin membuat berharga kontribusi untuk proyek dan penyerang yang memberikan nilai tinggi untuk mengganggu atau mengendalikannya. Di dunia di mana token dapat dibeli atau dijual di pasar publik, kedua kelompok ini, dari perspektif pasar, tidak dapat dibedakan secara perilaku: keduanya bersedia membeli token dalam jumlah besar dengan harga yang semakin tinggi. 

Masalah yang tidak dapat dibedakan ini berarti bahwa pemerintahan yang terdesentralisasi tidak datang secara gratis. Sebaliknya, perancang protokol menghadapi kompromi mendasar antara desentralisasi tata kelola secara terbuka dan mengamankan sistem mereka dari penyerang yang berusaha mengeksploitasi mekanisme tata kelola. Semakin banyak anggota komunitas bebas untuk mendapatkan kekuatan tata kelola dan memengaruhi protokol, semakin mudah bagi penyerang untuk menggunakan mekanisme yang sama untuk membuat perubahan jahat. 

Masalah yang tidak dapat dibedakan ini akrab dari desain jaringan blockchain Proof of Stake. Di sana juga, pasar yang sangat likuid dalam token memudahkan penyerang untuk memperoleh saham yang cukup untuk mengkompromikan jaminan keamanan jaringan. Namun demikian, campuran insentif token dan desain likuiditas memungkinkan jaringan Proof of Stake. Strategi serupa dapat membantu mengamankan protokol DAO.

Kerangka kerja untuk menilai dan menangani kerentanan

Untuk menganalisis kerentanan yang dihadapi berbagai proyek, kami menggunakan kerangka kerja yang ditangkap oleh persamaan berikut:

Persamaan untuk menilai dan menangani kerentanan terhadap serangan tata kelola DAO

Agar protokol dianggap aman terhadap serangan tata kelola, keuntungan penyerang harus negatif. Saat merancang aturan tata kelola untuk sebuah proyek, persamaan ini dapat digunakan sebagai pedoman untuk mengevaluasi dampak dari pilihan desain yang berbeda. Untuk mengurangi insentif untuk mengeksploitasi protokol, persamaan tersebut menyiratkan tiga pilihan yang jelas: mengurangi nilai serangan, meningkatkan biaya untuk memperoleh hak suara, dan meningkatkan biaya mengeksekusi serangan

Mengurangi nilai serangan 

Membatasi nilai serangan bisa jadi sulit karena semakin sukses sebuah proyek, semakin berharga serangan yang berhasil. Jelas sebuah proyek tidak boleh dengan sengaja menyabotase keberhasilannya sendiri hanya untuk mengurangi nilai serangan. 

Namun demikian, desainer dapat membatasi nilai serangan dengan membatasi ruang lingkup apa yang dapat dilakukan oleh tata kelola. Jika tata kelola hanya mencakup kekuatan untuk mengubah parameter tertentu dalam suatu proyek (misalnya, suku bunga pada protokol pinjaman), maka cakupan potensi serangan jauh lebih sempit daripada ketika tata kelola memungkinkan kontrol umum sepenuhnya dari kontrak pintar yang mengatur. 

Lingkup tata kelola dapat menjadi fungsi dari tahapan proyek. Di awal kehidupannya, sebuah proyek mungkin memiliki tata kelola yang lebih luas saat menemukan pijakannya, tetapi dalam praktiknya tata kelola dapat dikontrol dengan ketat oleh tim pendiri dan komunitas. Saat proyek menjadi matang dan mendesentralisasikan kontrol, mungkin masuk akal untuk memperkenalkan beberapa tingkat gesekan dalam tata kelola โ€“ minimal, membutuhkan kuorum besar untuk keputusan yang paling signifikan.

Meningkatkan biaya perolehan hak suara

Sebuah proyek juga dapat mengambil langkah-langkah untuk mempersulit perolehan hak suara yang diperlukan untuk serangan. Semakin likuid token, semakin mudah untuk meminta hak suara itu โ€“ jadi hampir secara paradoks, proyek mungkin ingin mengurangi likuiditas demi melindungi tata kelola. Seseorang dapat mencoba untuk mengurangi tradabilitas token jangka pendek secara langsung, tetapi itu mungkin secara teknis tidak layak. 

Untuk mengurangi likuiditas secara tidak langsung, proyek dapat memberikan insentif yang membuat pemegang token individu kurang bersedia untuk menjual. Ini dapat dilakukan dengan memberi insentif pada staking, atau dengan memberikan nilai token yang berdiri sendiri di luar tata kelola murni. Semakin banyak nilai yang diperoleh pemegang token, semakin selaras mereka dengan keberhasilan proyek. 

Manfaat token mandiri mungkin termasuk akses ke acara tatap muka atau pengalaman sosial. Yang terpenting, manfaat seperti ini bernilai tinggi bagi individu yang selaras dengan proyek tetapi tidak berguna bagi penyerang. Memberikan manfaat semacam ini meningkatkan harga efektif yang dihadapi penyerang saat memperoleh token: pemegang saat ini akan kurang bersedia untuk menjual karena manfaat mandiri, yang seharusnya meningkatkan harga pasar; namun sementara penyerang harus membayar harga yang lebih tinggi, kehadiran fitur mandiri tidak meningkatkan nilai penyerang dari memperoleh token. 

Meningkatkan biaya eksekusi serangan

Selain meningkatkan biaya hak suara, ada kemungkinan untuk memperkenalkan gesekan yang mempersulit penyerang untuk menggunakan hak suara bahkan setelah mereka memperoleh token. Misalnya, desainer dapat meminta semacam otentikasi pengguna untuk berpartisipasi dalam pemungutan suara, seperti pemeriksaan KYC (kenali pelanggan Anda) atau ambang skor reputasi. Seseorang bahkan dapat membatasi kemampuan aktor yang tidak diautentikasi untuk memperoleh token suara di tempat pertama, mungkin memerlukan beberapa validator yang ada untuk membuktikan legitimasi partai baru. 

Dalam beberapa hal, inilah cara banyak proyek mendistribusikan token awal mereka, memastikan pihak tepercaya mengendalikan sebagian besar hak suara. (Banyak solusi Proof of Stake menggunakan teknik serupa untuk mempertahankan keamanan mereka โ€“ dengan ketat mengontrol siapa yang memiliki akses ke stake awal, dan kemudian secara progresif melakukan desentralisasi dari sana.) 

Atau, proyek dapat membuatnya sehingga bahkan jika penyerang mengontrol sejumlah besar hak suara, mereka masih menghadapi kesulitan dalam meloloskan proposal jahat. Misalnya, beberapa proyek memiliki kunci waktu sehingga koin tidak dapat digunakan untuk memilih selama beberapa waktu setelah ditukar. Jadi penyerang yang berusaha untuk membeli atau meminjam token dalam jumlah besar akan menghadapi biaya tambahan karena menunggu sebelum mereka benar-benar dapat memilih โ€“ serta risiko bahwa anggota pemilih akan memperhatikan dan menggagalkan serangan prospektif mereka untuk sementara. Delegasi juga bisa membantu di sini. Dengan memberikan hak suara kepada peserta yang aktif, namun tidak jahat, atas nama mereka, individu yang tidak ingin mengambil peran aktif secara khusus dalam tata kelola masih dapat menyumbangkan kekuatan suara mereka untuk melindungi sistem.

Beberapa proyek menggunakan hak veto yang memungkinkan pemungutan suara ditunda selama beberapa waktu untuk memperingatkan pemilih yang tidak aktif tentang proposal yang berpotensi berbahaya. Di bawah skema seperti itu, bahkan jika penyerang membuat proposal jahat, pemilih memiliki kemampuan untuk merespons dan menutupnya. Ide di balik desain ini dan desain serupa adalah untuk menghentikan penyerang menyelinap melalui proposal jahat dan memberikan waktu bagi komunitas proyek untuk merumuskan tanggapan. Idealnya, proposal yang jelas sejalan dengan kebaikan protokol tidak harus menghadapi hambatan ini. 

At kata benda DAO, misalnya, hak veto dipegang oleh Nouns Foundation hingga DAO itu sendiri siap untuk mengimplementasikan skema alternatif. Seperti yang mereka tulis di situs web mereka, "The Nouns Foundation akan memveto proposal yang memperkenalkan risiko hukum atau eksistensial non-sepele ke Nouns DAO atau Nouns Foundation."

* * *

Proyek harus mencapai keseimbangan untuk memungkinkan tingkat keterbukaan tertentu terhadap perubahan komunitas (yang terkadang tidak populer), sementara tidak membiarkan proposal jahat lolos dari celah. Seringkali hanya dibutuhkan satu proposal jahat untuk menjatuhkan protokol, jadi memiliki pemahaman yang jelas tentang pertukaran risiko dari menerima dan menolak proposal sangat penting. Dan tentu saja ada trade-off tingkat tinggi antara memastikan keamanan tata kelola dan memungkinkan tata kelola โ€“ mekanisme apa pun yang menimbulkan gesekan untuk memblokir penyerang potensial juga tentu saja membuat proses tata kelola lebih menantang untuk digunakan. 

Solusi yang telah kami gambarkan di sini berada pada spektrum antara tata kelola yang sepenuhnya terdesentralisasi dan sebagian mengorbankan beberapa cita-cita desentralisasi untuk kesehatan protokol secara keseluruhan. Kerangka kerja kami menyoroti berbagai jalur yang dapat dipilih oleh proyek saat mereka berusaha memastikan serangan tata kelola tidak akan menguntungkan. Kami berharap komunitas akan menggunakan kerangka kerja untuk lebih mengembangkan mekanisme ini melalui eksperimen mereka sendiri untuk membuat DAO lebih aman di masa depan. 

***

Pranav Garimidi adalah junior yang sedang naik daun di Columbia University dan Summer Research Intern di kripto a16z

Scott Duke Kominers adalah Profesor Administrasi Bisnis di Harvard Business School, Afiliasi Fakultas dari Departemen Ekonomi Harvard, dan Mitra Riset di kripto a16z.

Tim Taman Kasar adalah Profesor Ilmu Komputer dan anggota Institut Ilmu Data di Universitas Columbia, dan Kepala Penelitian di kripto a16z.

***

Ucapan Terima Kasih: Kami menghargai komentar dan saran yang bermanfaat dari Andy Balai. Terima kasih khusus juga kepada editor kami, Tim Sullivan.

***

Pengungkapan: Kominers memegang sejumlah token kripto dan merupakan bagian dari banyak komunitas NFT; dia menyarankan berbagai bisnis pasar, startup, dan proyek crypto; dan dia juga menjabat sebagai ahli dalam hal-hal yang berhubungan dengan NFT.

Pandangan yang diungkapkan di sini adalah pandangan individu AH Capital Management, LLC (โ€œa16zโ€) yang dikutip dan bukan pandangan a16z atau afiliasinya. Informasi tertentu yang terkandung di sini telah diperoleh dari sumber pihak ketiga, termasuk dari perusahaan portofolio dana yang dikelola oleh a16z. Meskipun diambil dari sumber yang dipercaya dapat dipercaya, a16z belum memverifikasi informasi tersebut secara independen dan tidak membuat pernyataan tentang keakuratan informasi yang bertahan lama atau kesesuaiannya untuk situasi tertentu. Selain itu, konten ini mungkin termasuk iklan pihak ketiga; a16z belum meninjau iklan tersebut dan tidak mendukung konten iklan apa pun yang terkandung di dalamnya.

Konten ini disediakan untuk tujuan informasi saja, dan tidak boleh diandalkan sebagai nasihat hukum, bisnis, investasi, atau pajak. Anda harus berkonsultasi dengan penasihat Anda sendiri mengenai hal-hal itu. Referensi ke sekuritas atau aset digital apa pun hanya untuk tujuan ilustrasi, dan bukan merupakan rekomendasi investasi atau penawaran untuk menyediakan layanan konsultasi investasi. Selanjutnya, konten ini tidak ditujukan atau dimaksudkan untuk digunakan oleh investor atau calon investor mana pun, dan dalam keadaan apa pun tidak dapat diandalkan saat membuat keputusan untuk berinvestasi dalam dana yang dikelola oleh a16z. (Penawaran untuk berinvestasi dalam dana a16z hanya akan dilakukan dengan memorandum penempatan pribadi, perjanjian berlangganan, dan dokumentasi lain yang relevan dari dana tersebut dan harus dibaca secara keseluruhan.) Setiap investasi atau perusahaan portofolio yang disebutkan, dirujuk, atau dijelaskan tidak mewakili semua investasi dalam kendaraan yang dikelola oleh a16z, dan tidak ada jaminan bahwa investasi tersebut akan menguntungkan atau bahwa investasi lain yang dilakukan di masa depan akan memiliki karakteristik atau hasil yang serupa. Daftar investasi yang dilakukan oleh dana yang dikelola oleh Andreessen Horowitz (tidak termasuk investasi yang penerbitnya tidak memberikan izin kepada a16z untuk mengungkapkan secara publik serta investasi yang tidak diumumkan dalam aset digital yang diperdagangkan secara publik) tersedia di https://a16z.com/investments /.

Bagan dan grafik yang disediakan di dalamnya hanya untuk tujuan informasi dan tidak boleh diandalkan saat membuat keputusan investasi apa pun. Kinerja masa lalu tidak menunjukkan hasil di masa depan. Konten berbicara hanya pada tanggal yang ditunjukkan. Setiap proyeksi, perkiraan, prakiraan, target, prospek, dan/atau pendapat yang diungkapkan dalam materi ini dapat berubah tanpa pemberitahuan dan mungkin berbeda atau bertentangan dengan pendapat yang diungkapkan oleh orang lain. Silakan lihat https://a16z.com/disclosures untuk informasi penting tambahan.

Stempel Waktu:

Lebih dari Andreessen Horowitz