Academy
Apa Itu Algoritma Konsensus?
Algoritma konsensus adalah mekanisme yang memungkinkan pengguna atau mesin untuk berkoordinasi dalam lingkungan terdistribusi. Tujuannya adalah untuk memastikan bahwa semua pihak dalam sistem dapat mencapai suatu kebenaran tunggal (single source of truth), meskipun beberapa pihak mengalami kegagalan.
Dengan kata lain, sistem harus memiliki toleransi terhadap kesalahan (fault-tolerant).
Dalam lingkungan yang terpusat, satu entitas memiliki kekuasaan atas sistem tersebut. Dalam kebanyakan kasus, entitas tersebut dapat melakukan perubahan sesuai keinginannya – tidak ada proses pengambilan keputusan yang rumit untuk mencapai konsensus di antara banyak administrator.
Namun, dalam lingkungan terdesentralisasi, situasinya berbeda. Misalkan kita bekerja dengan sebuah database terdistribusi – bagaimana cara kita mencapai kesepakatan tentang entri-entri apa yang dapat ditambahkan?
Mengatasi tantangan ini, terutama dalam lingkungan di mana entitas-entitas yang saling tidak percaya satu sama lain, telah menjadi perkembangan yang sangat penting yang membuka jalan bagi teknologi blockchain.
Dalam artikel ini, kita akan melihat betapa pentingnya algoritma konsensus dalam aset kripto dan teknologi buku besar terdistribusi (ledger).
Daftar Isi
Algoritma Konsensus dan Aset Kripto
Dalam kripto, saldo pengguna dicatat dalam sebuah database yang disebut blockchain. Sangat penting bahwa setiap orang (atau lebih tepatnya, setiap node) memiliki salinan database yang identik.
Jika tidak, akan ada informasi yang saling bertentangan, yang dapat merusak tujuan utama jaringan kripto.
Teknologi kriptografi kunci publik (public-key) memastikan bahwa pengguna tidak dapat menghabiskan koin yang dimiliki oleh orang lain.
Namun, tetap diperlukan adanya sumber kebenaran tunggal yang dapat dipercaya oleh semua peserta jaringan, sehingga mereka dapat menentukan apakah suatu transaksi telah terjadi.
Satoshi Nakamoto, pencipta Bitcoin, mengusulkan sistem Proof of Work (PoW) untuk mengoordinasikan para peserta. Cara kerja PoW akan kita bahas sebentar lagi – untuk saat ini, mari kita identifikasi beberapa karakteristik umum dari berbagai algoritma konsensus yang ada.
Pertama-tama, pengguna yang ingin menambahkan blok (disebut sebagai validator) harus menyediakan suatu jaminan (stake).
Jaminan ini berupa nilai yang harus diserahkan oleh validator sebelumnya, yang bertujuan untuk mencegah tindakan kecurangan.
Jika seorang validator mencoba melakukan kecurangan, maka ia akan kehilangan jaminan tersebut. Selain kerugian tersebut, validator juga dapat kehilangan daya komputasi, aset kripto, atau bahkan reputasi mereka dengan percuma.
Mengapa validator begitu berani mempertaruhkan sumber daya mereka sendiri? Nah, hal ini dikarenakan adanya imbalan (reward) yang tersedia.
Reward ini biasanya terdiri dari aset kripto asli dari protokol itu sendiri, yang berasal dari biaya yang dibayarkan oleh pengguna lain, atau dari unit kripto yang baru diterbitkan, atau bahkan keduanya.
Terakhir, kita perlu adanya transparansi. Kita harus dapat mendeteksi ketika seseorang melakukan kecurangan.
Idealnya, proses pembuatan blok harus mahal bagi pengguna, tetapi murah bagi siapa pun untuk memvalidasinya. Cara ini akan memastikan bahwa validator tetap diawasi oleh pengguna-pengguna biasa.
Jenis-jenis Algoritma Konsensus
Proof of Work (PoW)
Proof of Work (PoW) dapat dianggap sebagai tokoh utama dalam algoritma konsensus blockchain. Meskipun pertama kali diterapkan dalam Bitcoin, konsep ini telah ada selama beberapa waktu.
Dalam PoW, validator (yang disebut penambang) melakukan hash terhadap data yang ingin mereka tambahkan, hingga mereka menemukan solusi yang tepat.
Hash adalah serangkaian karakter acak yang dihasilkan saat data dijalankan melalui fungsi hash. Namun, jika data yang sama dijalankan melalui fungsi tersebut, output yang dihasilkan akan selalu sama. Jika ada sedikit perubahan pada data, hash yang dihasilkan akan sangat berbeda.
Melihat output hash, tidak mungkin mengetahui informasi apa yang dimasukkan ke dalam fungsi tersebut. Oleh karena itu, fungsi hash berguna untuk membuktikan bahwa Anda memiliki akses ke data sebelum waktu tertentu.
Anda dapat memberikan hash suatu data kepada seseorang, dan ketika Anda kemudian mengungkapkan datanya, orang tersebut dapat menjalankannya melalui fungsi hash untuk memastikan bahwa outputnya sama.
Dalam PoW, protokol menetapkan persyaratan agar sebuah blok dianggap valid. Misalnya, hanya blok yang memiliki hash yang dimulai dengan 00 yang dianggap valid. Satu-satunya cara bagi penambang untuk mencapai hasil tersebut adalah dengan mencoba sebanyak mungkin kombinasi input.
Mereka dapat mengubah parameter dalam data untuk menghasilkan output yang berbeda setiap kali mencoba, hingga mereka menemukan hash yang tepat.
Dalam blockchain yang besar, persaingan di antara penambang menjadi sangat ketat. Untuk bersaing dengan penambang lainnya, Anda memerlukan gudang perangkat keras hashing khusus (ASIC) agar dapat menghasilkan blok yang valid.
Saat melakukan penambangan, “stake” Anda adalah biaya perangkat keras hashing dan konsumsi listrik yang diperlukan.
ASIC dibangun hanya untuk satu tujuan, sehingga perangkat ini tidak berguna di luar aktivitas penambangan aset kripto.
Satu-satunya cara untuk mendapatkan pengembalian investasi awal adalah melalui penambangan yang berhasil, yang akan menghasilkan reward yang signifikan jika Anda berhasil menambahkan blok baru ke blockchain.
Proses verifikasi blok yang telah Anda buat sangat mudah bagi jaringan. Meskipun Anda telah mencoba triliunan kombinasi untuk mencapai hash yang tepat, jaringan hanya perlu menjalankan data Anda sekali melalui fungsi hash.
Jika hash yang dihasilkan sesuai dengan persyaratan, data tersebut akan diterima, dan Anda akan menerima reward. Jika tidak, jaringan akan menolaknya, dan waktu serta listrik yang Anda habiskan akan sia-sia.
Proof of Stake (PoS)
Proof of Stake (PoS) diajukan sebagai alternatif untuk Proof of Work pada awal perkembangan Bitcoin. Dalam sistem PoS, tidak ada konsep penambang, perangkat keras khusus, atau konsumsi energi yang besar. Yang Anda butuhkan hanyalah komputer biasa.
Namun, Anda masih perlu memberikan sesuatu. Dalam PoS, Anda tidak mengorbankan sumber daya eksternal seperti listrik atau perangkat keras, tetapi sumber daya internal yaitu kripto itu sendiri.
Aturan-aturan yang berlaku dapat berbeda di setiap protokol, tetapi umumnya ada jumlah minimum dana yang harus Anda kunci sebagai staking.
Anda akan mengunci sejumlah dana di dalam wallet (yang tidak dapat dipindahkan selama proses staking). Biasanya, Anda akan sepakat dengan validator lain mengenai transaksi mana yang akan dimasukkan ke dalam blok berikutnya. Ini dapat dianggap sebagai Anda bertaruh pada blok yang akan dipilih oleh protokol.
Jika blok Anda terpilih, Anda akan menerima sebagian dari biaya transaksi, tergantung pada jumlah staking yang Anda miliki.
Semakin besar jumlah dana yang Anda kunci, semakin besar keuntungan yang Anda dapatkan.
Namun, jika Anda mencoba melakukan kecurangan dengan mengajukan transaksi yang tidak valid, Anda akan kehilangan sebagian atau seluruh dana yang Anda kunci.
Oleh karena itu, mekanisme ini mirip dengan PoW, di mana bertindak jujur lebih menguntungkan daripada mencoba melakukan kecurangan.
Umumnya, tidak ada koin baru yang dihasilkan sebagai reward bagi validator dalam PoS. Mata uang asli blockchain harus didistribusikan melalui cara lain, seperti penjualan awal (ICO atau IEO), atau melalui peluncuran protokol dengan PoW yang kemudian beralih ke PoS.
Sampai saat ini, Proof of Stake hanya digunakan dalam aset kripto dengan skala kecil. Oleh karena itu, belum jelas apakah sistem ini dapat menjadi alternatif yang layak. Meskipun secara teoritis tampak masuk akal, implementasinya dapat sangat berbeda dalam praktiknya.
PoS akan segera diuji dalam skala yang besar, di mana Casper akan diimplementasikan sebagai bagian dari serangkaian peningkatan pada jaringan Ethereum (dikenal sebagai Ethereum 2.0).
Jika kamu ingin mengetahui lebih dalam mengenai PoS, bisa baca artikel “Apa Itu Proof of Stake (PoS).”
Algoritme Konsensus Lainnya
Proof of Work (PoW) dan Proof of Stake (PoS) telah menjadi perbincangan yang paling luas dalam konteks algoritma konsensus. Namun, ada berbagai variasi algoritma konsensus lainnya yang juga patut diperhatikan. Setiap varian memiliki kelebihan dan kekurangan uniknya sendiri.
Berikut adalah beberapa algoritma konsensus lainnya yang layak untuk disebut:
Delegated Proof of Stake (DPoS)
DPoS adalah varian dari PoS di mana pemegang token memiliki hak untuk memilih sekelompok validator yang akan bertindak atas nama mereka. Validator yang dipilih ini akan bertanggung jawab untuk menghasilkan blok dan mengamankan jaringan.
Keuntungan dari DPoS adalah kecepatan transaksi yang lebih tinggi dan pengambilan keputusan yang lebih efisien, tetapi kelemahannya adalah terdapat potensi terpusatnya kekuasaan pada pemilik token terbesar.
Practical Byzantine Fault Tolerance (PBFT)
PBFT adalah algoritma konsensus yang dirancang untuk jaringan terdistribusi dengan kecilnya jumlah node. PBFT memerlukan mayoritas node yang jujur dan dapat diandalkan untuk mencapai konsensus. Setiap node memiliki peran sebagai pemimpin (leader) yang menginisiasi pemilihan blok dan node pelanggan (follower) yang menyetujui blok tersebut. PBFT memiliki kecepatan transaksi yang tinggi, tetapi memerlukan kepercayaan pada mayoritas node yang jujur.
Proof of Elapsed Time (PoET)
PoET adalah algoritma konsensus yang dikembangkan oleh Intel. Dalam PoET, setiap node di jaringan bersaing untuk mendapatkan izin untuk menghasilkan blok berdasarkan waktu yang terlewati.
Node yang memenangkan izin akan tidur untuk jangka waktu yang ditentukan sebelum dapat menghasilkan blok berikutnya. Kelebihan dari PoET adalah penghematan energi yang signifikan, tetapi kekurangannya adalah ketergantungan pada kepercayaan pada pihak yang mengatur waktu dalam jaringan.
Proof of Authority (PoA)
PoA adalah algoritma konsensus di mana identitas dan otoritas validator yang terkait dengan entitas yang terpercaya.
Dalam PoA, validator yang sudah ditentukan memiliki hak untuk menghasilkan blok. Keuntungan dari PoA adalah kecepatan transaksi yang tinggi dan pengambilan keputusan yang efisien, tetapi kelemahannya adalah terdapat risiko terpusatnya kekuasaan pada validator yang dipilih.
Proof of Capacity (PoC)
PoC adalah algoritma konsensus di mana validasi blok didasarkan pada penggunaan ruang penyimpanan yang tersedia di setiap node.
Node-node dalam jaringan menggunakan ruang penyimpanan mereka untuk memecahkan teka-teki matematika dan menghasilkan bukti kapasitas. Keuntungan dari PoC adalah efisiensi energi yang tinggi, tetapi kekurangannya adalah ketergantungan pada penyimpanan fisik yang tersedia pada setiap node.
Setiap algoritma konsensus memiliki trade-off dan cocok untuk situasi-situasi tertentu. Pilihan algoritma konsensus yang tepat akan bergantung pada kebutuhan, tujuan, dan karakteristik dari jaringan yang ingin dibangun.
Kesimpulan
Mekanisme pencapaian konsensus memainkan peran yang sangat penting dalam keberhasilan sistem terdistribusi. Banyak yang meyakini bahwa inovasi terbesar dari Bitcoin adalah penggunaan Proof of Work (PoW), yang memungkinkan pengguna untuk mencapai persetujuan tentang kebenaran bersama.
Algoritma konsensus saat ini tidak hanya mendukung sistem uang digital, tetapi juga teknologi blockchain yang memungkinkan pengembang untuk menjalankan kode di lingkungan terdistribusi. Algoritma ini telah menjadi pondasi utama bagi perkembangan teknologi blockchain, yang sangat krusial bagi keberlanjutan berbagai jaringan yang ada.
Dari semua algoritma konsensus yang ada, Proof of Work masih mendominasi. Saat ini belum ada alternatif yang diusulkan yang dapat menandingi keandalan dan keamanan PoW. Namun, penelitian dan pengembangan yang luas sedang dilakukan untuk mencari pengganti PoW, dan kemungkinan besar kita akan melihat munculnya lebih banyak opsi dalam beberapa tahun mendatang.
Sumber: Binance Academy Indonesia