Mekanisme Konsensus

Secara sederhana, mekanisme konsensus berguna untuk mengfasilitasi proses agreement diantara peserta untuk menjaga data yang konsisten.

Mengambil quote dari Vitalik Buterin, pendiri dari Ethereum, mengenai mekanisme konsensus.

The purpose of a consensus algorithm, in general, is to allow for the secure updating of a state according to some specific state transition rules, where the right to perform the state transitions is distributed among some economic set.

Vitalik Buterin

Mekanisme konsensus didesain agar setiap peserta memiliki ledger yang sama dan memberikan insentif bagi peserta konsensus dalam proses melakukan pencatatan data.

Ada beberapa pendekatan mekanisme konsensus

  • Practical Byzantine Fault Tolerance
  • Proof of Work
  • Proof of Stake

Kita akan membahas Proof of Work, karena saat ini sudah diimplementasikan cukup lama dan paling secure.

Contoh yang menggunakan Proof of Work adalah BTC dan Ethereum (pada saat artikel ini dibuat, Ethereum sedang berencana pindah ke Proof of Stake).

Masalah yang coba diselesaikan mekanisme konsensus dapat digambarkan dalam Byzantine Generals Problem.

Ada sekumpulan General yang mengepung sebuah kota. Masing-masing general memimpin pasukan. Dan mereka harus menentukan tindakan, apakah menyerang atau kabur.

Yang menjadi masalah, komunikasi diantara para general tidak reliable, pesan bisa saja hilang, atau dipalsukan saat dikirim.

Pada kondisi ini, konsensus dicapai, dengan suara mayoritas.

Kondisi diatas mirip dengan situasi saat menentukan status dari distributed ledger.

Berikut beberapa penerapan byzantine fault tolerance pada distibuted ledger:

  • Data verifikasi secara perhitungan matematis.
  • Toleransi kesalahan 1/3 dari partisipan.
  • Setelah semua partisipan setuju dan terverifikasi, ledger akan diupdate.

Proof of Work (PoW)

PoW memiliki aturan, Block hash harus lebih kecil dari target number. Target number ini adalah difficulty.

Partisipan akan melakukan perhitungan hash dan membandingkannya dengan difficulty. Ketika hash ditemukan, partisipan akan melakukan broadcast valid block tersebut keseluruh partisipan lainnya.

Block tersebut akan berisi reward berupa cryptocurrency, dan ketika diterima oleh seluruh partisipan, balance dari partisipan akan bertambah.

Terdapat juga informasi waktu yang dibutuhkan untuk melakukan perhitungan. Pada Ethereum adalah 15 detik.

Jika waktu perhitungan lebih cepat, maka system secara otomatis akan mengatur tingkat kesulitan.

Jadi dapat dikatakan, para partisipan melakukan kompetisi perhitungan hash yang valid untuk mendapatkan reward.

Berikut istilah yang umum digunakan dalam blockchain

  • Node/Miner : adalah partisipan yang melakukan proses mining.
  • Mining: proses melakukan perhitungan hash.
  • Block time : waktu yang diperlukan untuk menghitung hash.

PoW memerlukan tenaga komputasi yang besar, jadi dibutuhkan energi tinggi. Akhirnya akan menghabiskan listrik besar.

PoW digunakan untuk public blockchain dengan volume transaksi rendah.

Proof of Stake (PoS)

POS menggunakan pendekatan, pemilik cryptocurrency melakukan staking untuk mendapatkan kesempatan menentukan block.

Pemilihan partisipan yang akan melakukan perhitungan adalah random. Kesempatan untuk melakukan block makin besar jika nilai crypto yang distake makin besar.

Ada beberapa tipe PoS:

  • Leased PoS, pemilik cryptocurrency dapat meminjamkan ke participant lainnya. Reward akan dibagi diantara peserta.
  • Delegate PoS, pemilik cryptocurrency menentukan block validator, tidak perlu membagi reward.

PoS didesain untuk bekerja dalam Public Blockchain dengan volume transaksi tinggi

Sharing is caring:

Leave a Comment