Perkenalan

Algoritma konsensus adalah mekanisme yang memungkinkan pengguna atau mesin untuk berkoordinasi dalam pengaturan terdistribusi. Hal ini perlu untuk memastikan bahwa semua agen dalam sistem dapat menyepakati satu sumber kebenaran, bahkan jika beberapa agen gagal. Dengan kata lain, sistem harus toleran terhadap kesalahan (lihat juga: Penjelasan Toleransi Kesalahan Bizantium).

Dalam pengaturan terpusat, satu entitas mempunyai kekuasaan atas sistem. Dalam kebanyakan kasus, mereka dapat melakukan perubahan sesuai keinginan mereka – tidak ada sistem tata kelola yang rumit untuk mencapai konsensus di antara banyak administrator.

Namun dalam sistem yang terdesentralisasi, ceritanya berbeda. Katakanlah kita bekerja dengan database terdistribusi – bagaimana kita mencapai kesepakatan tentang entri apa yang ditambahkan?

Mengatasi tantangan ini dalam lingkungan di mana orang asing tidak percaya satu sama lain mungkin merupakan perkembangan paling penting yang membuka jalan bagi blockchain. Dalam artikel ini, kita akan melihat bagaimana algoritma konsensus sangat penting untuk berfungsinya mata uang kripto dan buku besar yang didistribusikan.


Algoritma konsensus dan cryptocurrency

Dalam mata uang kripto, saldo pengguna dicatat dalam database – blockchain. Setiap orang (atau lebih tepatnya, setiap node) harus memiliki salinan database yang identik. Jika tidak, Anda akan segera mendapatkan informasi yang saling bertentangan, sehingga merusak seluruh tujuan jaringan mata uang kripto.

Kriptografi kunci publik memastikan bahwa pengguna tidak dapat membelanjakan koin satu sama lain. Namun masih diperlukan satu sumber kebenaran yang diandalkan oleh para peserta jaringan, untuk dapat menentukan apakah dana telah dibelanjakan.

Satoshi Nakamoto, pencipta Bitcoin, mengusulkan sistem Proof of Work untuk mengoordinasikan peserta. Kami akan segera membahas cara kerja PoW – untuk saat ini, kami akan mengidentifikasi beberapa ciri umum dari banyak algoritma konsensus yang ada.

Pertama, kami mengharuskan pengguna yang ingin menambahkan blok (kami menyebutnya validator) untuk memberikan taruhan. Taruhannya adalah semacam nilai yang harus dikedepankan oleh seorang validator, yang membuat mereka enggan bertindak tidak jujur. Jika mereka curang, mereka akan kehilangan taruhannya. Contohnya termasuk kekuatan komputasi, mata uang kripto, atau bahkan reputasi.

Mengapa mereka mau repot-repot mempertaruhkan sumber daya mereka sendiri? Ya, ada juga hadiah yang tersedia. Ini biasanya terdiri dari mata uang kripto asli protokol dan terdiri dari biaya yang dibayarkan oleh pengguna lain, unit mata uang kripto yang baru dibuat, atau keduanya.

Hal terakhir yang kita butuhkan adalah transparansi. Kita harus bisa mendeteksi ketika seseorang berbuat curang. Idealnya, biaya yang dikeluarkan untuk memproduksi blok harus mahal, namun murah bagi siapa pun untuk memvalidasinya. Hal ini memastikan bahwa validator tetap diawasi oleh pengguna biasa.


Jenis algoritma konsensus

Bukti Kerja (PoW)

Proof of Work (PoW) adalah bapak baptis algoritma konsensus blockchain. Ini pertama kali diterapkan di Bitcoin, namun konsep sebenarnya telah ada selama beberapa waktu. Dalam Proof of Work, validator (disebut sebagai penambang) melakukan hash pada data yang ingin mereka tambahkan hingga menghasilkan solusi spesifik.

Hash adalah rangkaian huruf dan angka yang tampaknya acak yang dibuat saat Anda menjalankan data melalui fungsi hash. Namun, jika Anda menjalankan data yang sama lagi, Anda akan selalu mendapatkan keluaran yang sama. Ubah satu detail saja, dan hash Anda akan sangat berbeda.

Melihat outputnya, Anda tidak mungkin mengetahui informasi apa yang dimasukkan ke dalam fungsi tersebut. Oleh karena itu, mereka berguna untuk membuktikan bahwa Anda mengetahui suatu data sebelum waktu tertentu. Anda dapat memberikan hashnya kepada seseorang, dan ketika nanti Anda mengungkapkan datanya, orang tersebut dapat menjalankannya melalui fungsi untuk memastikan outputnya sama.

Dalam Proof of Work, protokol menetapkan kondisi yang membuat sebuah blok valid. Misalnya, hanya blok yang hashnya dimulai dengan 00 yang akan valid. Satu-satunya cara bagi penambang untuk membuat kombinasi yang cocok adalah dengan input brute-force. Mereka dapat mengubah parameter dalam datanya untuk menghasilkan hasil yang berbeda untuk setiap tebakan hingga mereka mendapatkan hash yang tepat.

Dengan blockchain besar, standarnya ditetapkan sangat tinggi. Untuk bersaing dengan penambang lain, Anda memerlukan gudang yang penuh dengan perangkat keras hashing khusus (ASIC) agar dapat menghasilkan blok yang valid.

Taruhan Anda, saat menambang, adalah biaya mesin ini dan listrik yang dibutuhkan untuk menjalankannya. ASIC dibuat untuk satu tujuan, sehingga tidak digunakan dalam aplikasi di luar penambangan mata uang kripto. Satu-satunya cara Anda untuk mendapatkan kembali investasi awal Anda adalah dengan menambang, yang akan menghasilkan imbalan yang signifikan jika Anda berhasil menambahkan blok baru ke blockchain.

Sangat mudah bagi jaringan untuk memverifikasi bahwa Anda memang telah membuat blok yang benar. Meskipun Anda telah mencoba triliunan kombinasi untuk mendapatkan hash yang tepat, kombinasi tersebut hanya perlu menjalankan data Anda melalui suatu fungsi satu kali. Jika data Anda menghasilkan hash yang valid, data tersebut akan diterima dan Anda akan mendapatkan hadiah. Jika tidak, jaringan akan menolaknya, dan Anda hanya membuang-buang waktu dan listrik.


Bukti Taruhan (PoS)

Proof of Stake (PoS) diusulkan pada masa awal Bitcoin sebagai alternatif Proof of Work. Dalam sistem PoS, tidak ada konsep penambang, perangkat keras khusus, atau konsumsi energi yang besar. Yang Anda butuhkan hanyalah PC biasa.

Ya, tidak semua. Anda masih perlu menambahkan sedikit skin ke dalam game. Di PoS, Anda tidak menggunakan sumber daya eksternal (seperti listrik atau perangkat keras), tetapi sumber daya internal – mata uang kripto. Aturannya berbeda-beda pada setiap protokol, namun umumnya ada jumlah minimum dana yang harus Anda miliki agar memenuhi syarat untuk dipertaruhkan.

Dari sana, Anda mengunci dana Anda di dompet (dana tidak dapat dipindahkan saat Anda melakukan staking). Anda biasanya akan setuju dengan validator lain tentang transaksi apa yang akan masuk ke blok berikutnya. Dalam arti tertentu, Anda bertaruh pada blok yang akan dipilih, dan protokol akan memilih salah satu.

Jika blok Anda dipilih, Anda akan menerima sebagian dari biaya transaksi, tergantung pada taruhan Anda. Semakin banyak dana yang Anda simpan, semakin banyak pula keuntungan yang bisa Anda peroleh. Namun jika Anda mencoba melakukan kecurangan dengan mengajukan transaksi yang tidak valid, Anda akan kehilangan sebagian (atau seluruh) taruhan Anda. Oleh karena itu, kami memiliki mekanisme yang mirip dengan PoW – bertindak jujur ​​lebih menguntungkan daripada bertindak tidak jujur.

Umumnya, tidak ada koin yang baru dibuat sebagai bagian dari hadiah untuk validator. Oleh karena itu, mata uang asli blockchain harus diterbitkan dengan cara lain. Hal ini dapat dilakukan melalui distribusi awal (yaitu ICO atau IEO) atau dengan meluncurkan protokol dengan PoW sebelum kemudian bertransisi ke PoS.

Sampai saat ini, Proof of Stake murni hanya benar-benar diterapkan pada mata uang kripto yang lebih kecil. Oleh karena itu, masih belum jelas apakah ini bisa menjadi alternatif yang layak untuk menggantikan PoW. Meskipun secara teoritis terlihat masuk akal, namun dalam praktiknya akan sangat berbeda.

Setelah PoS diluncurkan pada jaringan dengan nilai yang besar, sistem tersebut menjadi arena bermain teori permainan dan insentif finansial. Siapa pun yang memiliki pengetahuan untuk “meretas” sistem PoS kemungkinan besar hanya akan melakukannya jika mereka dapat memperoleh manfaat darinya – oleh karena itu, satu-satunya cara untuk mengetahui apakah hal tersebut layak dilakukan adalah melalui jaringan langsung.

Kita akan segera melihat PoS diuji dalam skala besar – Casper akan diimplementasikan sebagai bagian dari serangkaian peningkatan pada jaringan Ethereum (secara kolektif dikenal sebagai Ethereum 2.0).


Algoritma konsensus lainnya

Proof of Work dan Proof of Stake adalah algoritma konsensus yang paling banyak dibahas. Namun masih banyak jenis lainnya, semuanya dengan kelebihan dan kekurangannya masing-masing. Simak artikel berikut ini:


Mekanisme untuk mencapai konsensus sangat penting untuk berfungsinya sistem terdistribusi. Banyak yang percaya bahwa inovasi terbesar dalam Bitcoin adalah penggunaan Proof of Work untuk memungkinkan pengguna menyetujui serangkaian fakta bersama.

Algoritme konsensus saat ini tidak hanya mendukung sistem uang digital, namun juga blockchain yang memungkinkan pengembang menjalankan kode di seluruh jaringan terdistribusi. Mereka kini menjadi landasan teknologi blockchain dan sangat penting bagi kelangsungan jangka panjang berbagai jaringan yang ada.

Dari semua algoritma konsensus, Proof of Work tetap menjadi penawaran yang dominan. Alternatif yang lebih andal dan aman belum diusulkan. Meski begitu, terdapat banyak penelitian dan pengembangan yang dilakukan untuk menggantikan PoW, dan kita mungkin akan melihat lebih banyak lagi penelitian dan pengembangan yang muncul di tahun-tahun mendatang.