Perkenalan

Algoritme konsensus adalah mekanisme yang memungkinkan pengguna atau mesin mengoordinasikan hubungan dalam lingkungan terdistribusi. Hal ini memerlukan jaminan bahwa semua pelaku dalam sistem pada akhirnya dapat menyetujui satu sumber kebenaran (bahkan jika beberapa pelaku tidak setuju). Dengan kata lain, sistem harus memiliki toleransi kesalahan yang baik (lihat juga "Penjelasan Toleransi Kesalahan Bizantium").

Dalam lingkungan terpusat, satu entitas mempunyai kendali atas keseluruhan sistem. Dalam kebanyakan kasus, entitas-entitas ini sering kali mampu mengubah sistem sesuai keinginan mereka karena mereka gagal menciptakan sistem tata kelola yang terdefinisi dengan baik yang memungkinkan banyak administrator mencapai konsensus.​

Namun jika berada dalam lingkungan yang terdesentralisasi, ceritanya akan sangat berbeda. Dengan asumsi kita menggunakan database terdistribusi, bagaimana kita menyetujui entri mana yang akan ditambahkan?

Lingkungan ini penuh dengan orang asing yang tidak percaya satu sama lain. Cara mengatasi tantangan ini mungkin menjadi kunci untuk memecahkan masalah pembangunan dan membuka jalan bagi blockchain. Pada artikel ini, kita akan melihat pentingnya algoritma konsensus untuk menjalankan mata uang kripto dan buku besar yang didistribusikan.


Algoritma Konsensus dan Cryptocurrency

Dalam lingkungan cryptocurrency, saldo pengguna dicatat dalam database blockchain. Sangat penting bahwa setiap pengguna (lebih tepatnya, setiap node) memelihara salinan database yang sama. Kegagalan untuk melakukan hal ini pada akhirnya akan menyebabkan masalah konflik informasi yang melemahkan seluruh tujuan jaringan mata uang kripto.

Kriptografi kunci publik memastikan bahwa pengguna tidak dapat menggunakan token pengguna lain. Namun harus ada satu sumber kebenaran yang dapat dipercaya oleh peserta jaringan untuk mengetahui apakah dana telah dibelanjakan.

Pencipta Bitcoin Satoshi Nakamoto mengusulkan sistem bukti kerja sebagai cara untuk mengoordinasikan peserta. Kami akan membahas lebih detail tentang cara kerja Proof of Work nanti. Sekarang mari kita pahami dulu ciri-ciri umum dari berbagai algoritma konsensus yang ada.

Pertama, kita memerlukan staking dari pengguna yang ingin menambahkan blok (juga dikenal sebagai validator). Validator harus mempertaruhkan ekuitas dengan nilai tertentu untuk mencegah mereka melakukan penipuan. Begitu mereka curang, mereka akan kehilangan hak taruhannya. Misalnya, kehilangan daya komputasi dan mata uang kripto, atau bahkan kehilangan reputasi.​

Jadi mengapa mereka mempertaruhkan sumber daya mereka sendiri? Karena ada juga mekanisme reward dalam proses ini. Hadiah biasanya merupakan mata uang kripto asli dari protokol tersebut. Hadiah juga dapat berupa biaya yang dibayarkan oleh pengguna lain, unit mata uang kripto yang baru dibuat, atau keduanya.

Terakhir, kita juga perlu memastikan transparansi. Kita harus mempunyai kemampuan untuk mendeteksi kecurangan secara tepat waktu. Secara teori, memproduksi balok membutuhkan biaya yang besar, namun memverifikasi keasliannya cukup murah. Melalui mekanisme ini, pengguna biasa dapat dengan mudah membatasi validator.


Jenis algoritma konsensus

Bukti Kerja (PoW)

Proof of Work (PoW) dianggap sebagai bapak baptis algoritma konsensus blockchain. Mekanisme ini telah digunakan untuk pertama kalinya di dunia Bitcoin, namun konsep sebenarnya telah ada sejak lama. Dalam proof-of-work, validator (disebut penambang) melakukan hash pada data yang ingin mereka tambahkan hingga solusi spesifik dihasilkan.

Hash adalah rangkaian huruf dan angka yang tampaknya acak yang dibuat dengan menjalankan data melalui fungsi hash. Menjalankan data yang sama berulang kali akan selalu memberikan keluaran yang sama. Namun, jika Anda mengubah detail kecil sekalipun, nilai hash yang dihasilkan akan sangat berbeda.

Tidak ada cara untuk menyimpulkan informasi apa yang dimasukkan ke dalam fungsi hanya dari outputnya. Oleh karena itu, metode ini efektif untuk membuktikan bahwa Anda mengetahui bagian data tertentu sebelum titik waktu tertentu. Anda dapat memberi tahu seseorang tentang hash tersebut sebelumnya, dan ketika Anda mengungkapkan datanya nanti, orang tersebut dapat menjalankan fungsinya dan melihat bahwa hasilnya sama.

Dalam proof-of-work, protokol menentukan kondisi yang membuat sebuah blok menjadi valid. Misalnya, mungkin ditetapkan bahwa hanya hash yang dimulai dengan 00 yang merupakan blok valid. Satu-satunya cara bagi penambang untuk membuat blok yang cocok dengan kombinasi ini adalah dengan memaksa inputnya. Mereka menyesuaikan parameter data dan menguji setiap tebakan dengan hasil berbeda hingga mendapatkan nilai hash yang benar.​

Untuk blockchain utama, standarnya cenderung cukup tinggi. Untuk bersaing dengan penambang lain, Anda perlu menyiapkan sejumlah besar perangkat keras hashing khusus (sirkuit terintegrasi khusus aplikasi) untuk menciptakan kondisi untuk menghasilkan blok yang valid.

Selama proses penambangan, taruhan yang Anda pertaruhkan sudah termasuk biaya pembelian mesin dan listrik yang dibutuhkan untuk menjalankan mesin tersebut. Sirkuit Terpadu Khusus Aplikasi (ASIC) dibuat khusus untuk penambangan mata uang kripto dan tidak berguna untuk aplikasi lain. Satu-satunya cara Anda dapat memperoleh kembali investasi awal Anda adalah melalui penambangan, dan jika Anda berhasil menambahkan blok baru ke blockchain, Anda dapat memperoleh banyak keuntungan.

Jaringan dapat dengan mudah memverifikasi keaslian blok yang Anda buat. Anda mungkin perlu mencoba triliunan kombinasi untuk mendapatkan nilai hash yang tepat, namun memvalidasi data Anda hanya memerlukan satu penghitungan fungsi hash. Jika data Anda menghasilkan hash yang valid, jaringan akan menerimanya dan Anda akan diberi imbalan karenanya. Jika tidak, jaringan akan menolak nilainya dan seluruh waktu serta tenaga Anda akan terbuang percuma.


Bukti Taruhan (PoS)

Pada masa awal Bitcoin, Proof of Stake (PoS) dipandang sebagai alternatif dari Proof of Work. Dalam sistem bukti kepemilikan, tidak ada konsep penambang, perangkat keras khusus, atau konsumsi energi yang besar. Yang Anda butuhkan hanyalah komputer biasa.

Namun, tidak selalu demikian. Anda juga memerlukan modal. Dalam mekanisme bukti kepemilikan, meskipun tidak ada sumber daya eksternal (seperti listrik atau perangkat keras) yang perlu dikonsumsi, sumber daya internal, yaitu mata uang kripto, harus disediakan. Aturan masing-masing protokol berbeda, namun umumnya ada jumlah investasi minimum yang harus Anda penuhi agar memenuhi syarat untuk dipertaruhkan.

Setelah ini selesai, dana di dompet Anda akan dikunci (dana tidak dapat dipindahkan saat melakukan staking). Secara umum, Anda harus setuju dengan validator lain tentang transaksi mana yang akan masuk ke blok berikutnya. Dalam arti tertentu, ini setara dengan bertaruh pada blok mana yang akan dipilih, dan protokol hanya akan memilih salah satu blok.

Jika blok Anda dipilih oleh protokol, Anda akan menerima biaya transaksi sebanding dengan jumlah taruhan yang Anda pertaruhkan. Semakin banyak dana yang Anda kunci, semakin besar keuntungan Anda. Jika Anda mencoba menipu dan mengusulkan transaksi yang tidak valid, Anda akan kehilangan sebagian (atau seluruh) taruhan Anda. Oleh karena itu, kami menjalankan mekanisme yang mirip dengan bukti kepemilikan, di mana kejujuran dan kepercayaan dapat memperoleh lebih banyak manfaat daripada kecurangan.

Secara umum, hadiah validator tidak akan diberikan dalam bentuk token yang baru dicetak. Oleh karena itu, mata uang asli blockchain harus diterbitkan dengan cara lain. Hal ini dapat dilakukan melalui penawaran awal (yaitu ICO atau IEO), atau dengan meluncurkan protokol dengan Proof-of-Work dan kemudian beralih ke Proof-of-Stake.

Sejauh ini, bukti kepemilikan murni hanya diterapkan pada mata uang kripto yang lebih kecil. Oleh karena itu, tidak jelas apakah ini dapat berfungsi sebagai alternatif yang layak untuk pembuktian kerja. Meskipun secara teori berhasil, namun dalam praktiknya tidak seperti itu.​

Setelah bukti kepemilikan diterapkan pada jaringan dengan nilai yang besar, seluruh sistem menjadi arena yang penuh dengan teori permainan dan insentif ekonomi. Selama ada keuntungan, para peretas terampil itu akan "meretas" sistem bukti kepemilikan. Oleh karena itu, satu-satunya cara untuk menentukan apakah hal tersebut layak adalah dengan menerapkannya pada jaringan online.

Dalam waktu dekat, Proof of Stake akan diuji dalam skala besar, dan jaringan Ethereum akan menerapkan serangkaian peningkatan (secara kolektif dikenal sebagai Ethereum 2.0), termasuk implementasi Casper.


Algoritma konsensus lainnya

Proof-of-work dan proof-of-stake saat ini merupakan algoritma konsensus yang paling banyak dibicarakan. Namun ada banyak algoritma lain selain ini, dan masing-masing memiliki kelebihan dan kekurangannya sendiri. Silakan baca artikel berikut untuk detailnya:

  • "Penjelasan Detail Bukti Beban Kerja Tertunda"

  • "Penjelasan Detail tentang Konsensus Bukti Bunga Sewa"

  • "Penjelasan Mendetail tentang Bukti Resmi"

  • "Penjelasan Detail Tentang Sertifikat Pemusnahan"

  • "Penjelasan Rinci Bukti Ekuitas yang Didelegasikan"

  • "Penjelasan Mendetail tentang Konsensus Bukti Kerja/Bukti Pasak Hibrida"


Meringkaskan

Mekanisme untuk mencapai konsensus sangat penting untuk berfungsinya sistem terdistribusi. Banyak orang percaya bahwa inovasi terbesar Bitcoin adalah penggunaan bukti kerja, sebuah mekanisme di mana pengguna sering kali dapat menyepakati serangkaian fakta bersama.

Saat ini, algoritma konsensus telah menjadi dasar sistem mata uang digital dan blockchain, memungkinkan pengembang untuk menjalankan kode pada jaringan terdistribusi. Algoritme konsensus menempati posisi penting dalam teknologi blockchain dan memainkan peran penting dalam kelangsungan jangka panjang berbagai jaringan yang ada.

Di antara semua algoritma konsensus, bukti kerja mendominasi. Belum ada yang mengusulkan solusi alternatif yang lebih andal dan aman. Meski begitu, para profesional masih mengembangkan sejumlah produk untuk menggantikan bukti kerja, dan kita berharap akan melihat lebih banyak solusi alternatif muncul di tahun-tahun mendatang.