Mekanisme Konsensus Pada Blockchain
Teknologi blockchain mencakup komunikasi point-to-point (P2P), mekanisme konsensus, teknologi penyimpanan terdistribusi, algoritme enkripsi, dan sebagainya. Dalam aplikasi blockchain, perlu untuk menyelesaikan dua masalah-double spending and Byzantine Generals Problem. Double spending berarti menggunakan kembali mata uang dalam dua transaksi pada saat yang sama. Blockchain memecahkan masalah ini dengan metode memverifikasi transaksi oleh banyak node terdistribusi secara bersama-sama. Byzantine Generals Problem adalah masalah dalam sistem terdistribusi. Data dapat dikirimkan di antara node yang berbeda melalui komunikasi peer-to-peer. Namun, beberapa node dapat diserang dan akan menyebabkan perubahan konten komunikasi. Dalam hal ini dibutuhkan desain mekanisme konsensus yang sesuai.
Mekanisme konsensus adalah mekanisme untuk memberikan toleransi terhadap kesalahan yang digunakan dalam sistem komputer dan blockchain untuk mencapai kesepakatan yang diperlukan pada satu nilai data atau satu keadaan jaringan di antara proses terdistribusi atau sistem multi-agen, seperti dengan cryptocurrency. Berikut deskripsi terperinci tentang prinsip-prinsip mekanisme konsensus:
- PoW(Proof of Work)
PoW adalah algoritma konsensus yang digunakan dalam bitcoin. Ide intinya adalah mengalokasikan hak akuntansi dan hadiah melalui persaingan kekuatan hashing di antara node. Node pertama yang memecahkan masalah matematika ini dapat membuat blok berikutnya dan mendapatkan sejumlah hadiah bitcoin. Langkah-langkah perhitungan spesifiknya adalah menemukan kesulitan, mengumpulkan transaksi, menghitung transaksi, dan memulai kembali.
- PoS(Proof of Stake)
Di PoS, mata uang digital memiliki konsep zaman koin. Usia koin adalah nilainya dikalikan dengan periode waktu setelah dibuat. Semakin lama satu node memegang koin, semakin banyak hak yang bisa masuk ke dalam jaringan. Pemegang koin juga akan menerima hadiah tertentu sesuai dengan usia koin. PoS mendorong pemegang koin untuk meningkatkan waktu penahanan. Dengan konsep usia koin, blockchain tidak lagi sepenuhnya bergantung pada PoW. Keamanan blockchain menggunakan yang PoS meningkat dengan ditandai oleh nilai yang meningkat dalam blockchain.
- DPoS(DelegatedProofof Stake)
Dalam blockchain dengan DPoS, setiap node dapat memilih saksi berdasarkan taruhan. Pada tahap desain awal bitcoin, Satoshi Nakamoto berharap semua peserta dapat menggunakan CPU untuk melakukan mining. Jadi kekuatan hashing dapat mencocokkan node dan setiap node memiliki kesempatan untuk berpartisipasi dalam pengambilan keputusan blockchain. BitShares adalah contoh DPoS. Blockchain yang menggunakan DPoS lebih efisien dan hemat daya daripada PoW dan PoS.
- PBFT (PracticalByzantineFault Tolerance)
Dalam sistem terdistribusi, Byzantine Fault Tolerance dapat menjadi metode yang baik untuk memecahkan kesalahan transmisi. Tetapi sistem Bizantium awal membutuhkan operasi eksponensial. Hingga tahun 1999, sistem PBFT (Practical Byzantine Fault Tolerance) diusulkan dan kompleksitas algoritma dikurangi ke tingkat polinomial, yang sangat meningkatkan efisiensi. Proses PBFT ditunjukkan terdiri dari lima negara bagian:
1) Permintaan: Klien mengirim permintaan ke node server master, node master memberikan permintaan cap waktu.
2) Pra-persiapan: Node server master merekam pesan permintaan dan memberinya nomor pesanan. Kemudian node master menyiarkan pesan pra-persiapan ke node server berikut lainnya. Node server lain awalnya menentukan apakah akan menerima permintaan atau tidak.
3) Bersiap: Jika node server memilih untuk menerima permintaan, maka PBFT menyiarkan pesan persiapan ke semua node server lainnya dan menerima pesan persiapan dari node lain. Negara-negara transfer RAFT setelah mengumpulkan 2f + 1 pesan, jika sebagian besar node memilih untuk menerima permintaan, maka itu akan memasuki keadaan commit.
4) Commit: Setiap node dalam status commit mengirimkan pesan commit ke semua node lain di server. Pada saat yang sama, jika node server menerima pesan commit 2f +1, itu bisa percaya bahwa sebagian besar node mencapai konsensus untuk menerima permintaan. Kemudian node menjalankan instruksi dalam pesan permintaan.
5) Balas: node server membalas klien. Jika klien tidak menerima balasan karena keterlambatan jaringan, permintaan akan dikirimkan kembali ke node server. Jika permintaan telah dijalankan, node server hanya perlu mengirim pesan balasan berulang kali.
- Raft
Cluster raft umumnya berisi 5 node server. Hingga dua node diperbolehkan untuk berhenti pada saat yang sama. Node server memiliki tiga bagian: pemimpin, pengikut, dan kandidat. Hanya ada satu pemimpin dalam satu istilah dan pemimpin bertanggung jawab untuk menangani semua permintaan klien.
Sumber :
Mingxiao, D. et all.2017. A review on Consensus Algorithm of Blockchain.IEE International Conference on System, Man, and Cybernetics.1(1):5-8
Frankenfield, J.2020. Consensus Mechanism (Cryptocurrency). https://www.investopedia.com/terms/c/consensus-mechanism-cryptocurrency.asp Diakses 28 Maret 2021