Konsensus
Definisi
umum konsensus adalah sebuah frasa untuk menghasilkan atau menjadikan sebuah
kesepakatan yang disetujui secara bersama-sama antarkelompok atau individu
setelah adanya perdebatan dan penelitian yang dilakukan (mengenai pendapat, pendirian,
dan sebagainya). (https://id.wikipedia.org/wiki/Konsensus).
Sedangkan
definisi Konsensus dalam teknologi Blockchain ialah suatu perhitungan yang
rumit dan kompleks untuk menghasilkan persetujuan secara Bersama-sama (mufakat)
dalam melakukan validasi pada suatu transaksi (Block) yang dihasilkan. Jadi intinya konsensus adalah suatu tindakan validasi yang dilakukan oleh beberapa kelompok hingga suatu data diterima atau ditolak.
5 Algoritma Konsensus Blockchain
Algoritma pemrograman adalah urutan atau langkah-langkah untuk menyelesaikan masalah pemrograman komputer. Dalam blockhchain Algoritma pada dasarnya bertujuan untuk menjabarkan segala mekanisme yang harus dilakukan dalam memecahkan sebuah masalah. Karena blockchain memiliki sifat yang terdistribusi, maka dibutuhkan algoritma untuk mencapai konsensus dengan mengurutkan dan merumuskan suatu masalah (data) secara bersama-sama. Sehingga bisa ditetapkan suatu hasil (hash) yang autentik dan valid ke dalam sebuah block di dalam jaringan Blockchain.
Sebetulnya terdapat banyak algoritma yang digunakan dalam blockchain. Namun Agung Panduan hanya membagikan 5 saja yaitu:
Proof Of Work (PoW)
Sebuah
protokol yang memiliki fungsi untuk mencegah aktifitas serangan peretas yang menggunakan DDos sehingga sumber daya sistem komputer tidak mengalami lumpuh atau
melemah. Konsep POW pertama kali dikenalkan oleh Cynthia Dwork dan Moni Naor
pada tahun 1993 dan baru di implementasikan oleh Markus Jakobsson (mata uang
Shell) pada tahun 2009.
Sesuai dengan namnya algoritma proof of work (bukti kerja) memerlukan kerja komputasi untuk
mencari solusi dan validasi setiap masalah (hash) ke dalam sebuah block lalu didistribusikan
ke dalam sebuah buku besar (Ledger) yaitu blockchain.
Untuk
mencapai sebuah konsensus, sebuah transaksi harus melewati beberapa proses yang
juga melibatkan adanya proses komputasi yang dilakukan oleh beberapa miners,
sehingga bisa tercipta sebuah Block yang valid.
Sistem
Distribusi konsensus Proof of Work:
- Beberapa transaksi yang terjadi pada sebuah wallet yang berfungsi sebagai Full Node (salinan Blockchain) akan di publish pada jaringan (P2P).
- Transaksi-transaksi tersebut akan terhubung ke sebuah jaringan yg juga terhubung dengan node Miners.
- Semua miner akan melakukan proses komputasi (hash function) untuk menyelesaikan persoalan matematika rumit ini ke dalam sebuah block.
- Jumlah maksimal transaksi dalam setiap block tergantung dari protokol yang berlaku.
- Setelah masalah (hash) terpecahkan, maka miner yang pertama kali memecahkan masalah ini akan mem-broadcast block baru ke jaringan (P2P).
- Node-node (miner-miner) lainnya yang menerima block ini akan melakukan proses verifikasi (validasi).
- Setelah block mendapat validasi, maka block ini akan di distribusikan ke dalam blockchain sebagai Block baru yang valid. sehingga Miners yang bertugas sebagai pembuat block valid akan menerima reward.
Beberapa contoh koin yang menggunakan PoW diantaranya adalah:
- Bitcoin (BTC)
- Ethereum (ETH)
- Litecoin (LTC)
- Monero (XMR)
Proof Of Stake (PoS)
Algoritma
konsensus Proof of Stake (PoS) yang dikenalkan oleh Sunny King dan
Scott Nadal adalah metode konsensus alternatif
yang dianggap murah dan hemat energi pengganti PoW untuk mengatasi besarnya konsumsi daya yang dibutuhkan untuk komputasi dalam proses mining.
Secara
garis besar, Staking akan mengunci beberapa jumlah coin
(cryptocurrency) sebagai jaminan, didalam sebuah wallet yang menjalankan Full
Node dari sebuah blockchain. Jaminan ini sebagai bukti kepemilikan seorang
pemegang koin (tokens holder) sebagai fungsi node, dalam berkontribusi didalam
jaringan konsensus PoS dengan proses yang dinamakan Forging (menempa koin).
Dalam
PoS tidak memerlukan alat mining dan keahlian khusus seperti halnya pada algoritma
PoW, besarnya koin yang dihasilkan tergantung dari jumlah staking dalam wallet,
dengan kata lain semakin besar simpanan koin yang dimiliki maka semakin banyak
pula jumlah koin yang di dapat atau dihasilkan.
Sistem
Distribusi konsensus Proof of Stake:
Untuk
dapat melakukan forging (minting), maka pemegang token/koin harus mengunci
sejumlah koin di dalam walletnya (Full Node) yang terhubung dengan jaringan
blockchain.
Pada
saat sebuah/beberapa transaksi masuk ke dalam jaringan peer-to-peer. Pembuatan
sebuah block (validasi transaksi) dipilih secara Pseudorandom.
Pseudorandom adalah pembangkit deret bilangan acak yang dapat diulang kembali (semu) untuk membuat suatu algoritma yang dapat menyelesaikan suatu masalah komputasi.
Berdasarkan
jumlah koin yang di stake dan berapa lama koin tersebut sudah di stake.
Token/Coin
Holder dengan jumlah Staking Coin yang besar dan waktu (umur) staking yang
lama, mempunyai peluang (kesempatan) lebih tinggi untuk melakukan proses
forging pada block berikutnya.
Setelah
proses pembuatan block dan proses validasi selesai, maka block ini akan
didistribusikan ke dalam jaringan blockchain sebagai block baru yang valid.
Forger
(staker) akan menerima reward dari hasil kerjanya dan untuk umur staking
coinnya akan direset ulang.
Coin
yang menggunakan konsensus Pos ini diantaranya:
- Blackcoin
- Peercoin (PPC)
- NXT
- Radcoin (RDD)
- Bitbean (BTB)
Delegated Proof of Stake
DPoS
dikenalkan oleh Daniel Larimer pada saat membuat sebuah cryptocurrency yang
disebut dengan BitShares pada tahun 2014. Algoritma konsensus ini adalah metode
baru sebagai langkah untuk mengamankan sebuah jaringan cryptocurrency yang dapat mencapai sebuah konsensus tanpa memerlukan adanya otoritas terpusat.
Prinsip kerjanya hampir sama dengan konsensus Proof of Stake, dimana untuk
mencapai konsensus yang valid maka dibutuhkan proses verifikasi dari otoritas
yang terdistribusi dan berjalan sesuai dengan protokol yang ada di dalam metode
konsensus tersebut.
Jika
di dalam PoS pemilihan pembuatan block berdasarkan jumlah dan umur Coin/Token,
maka pada DPoS setiap delegasi/witness (pembuat block) akan ditentukan berdasarkan voting. Setiap pemegang koin/token mempunyai suara (vote) yang bisa digunakan
untuk memilih satu atau beberapa witness/validator dan dapat memindahkan
vote-nya kepada witness lainnya setiap saat. Validator/witness terpilih
(diurutkan berdasarkan jumlah vote) akan mempunyai otoritas untuk membuat
sebuah block dan mempublikasikannya ke dalam jaringan Blockchain.
Sistem
Distribusi konsensus Delegated Proof of Stake:
- Setiap transaksi yang terjadi akan dimasukan ke dalam jaringan peer-to-peer.
- Token/Coin holder yang menjalankan Full Node (wallet) akan melakukan Vote untuk menentukan beberapa witness/delegasi. Semakin besar jumlah token maka semakin besar juga nilai votenya.
- Token/Coin holder bisa melakukan vote terhadap dirinya sendiri apabila Token telah melakukan registrasi menjadi witness (validator) sesuai dengan protokol yang berlaku.
- Dalam setiap putaran, masing-masing validator/witness terpilih (jumlah max (N) witness berdasarkan protokol yang berlaku) akan memproses beberapa transaksi ke dalam sebuah block.
- Sebelum block valid dibroadcast ke dalam blockchain, urutan rank dari validator/witness akan berubah-ubah sesuai dengan jumlah vote yang didapat.
- Setelah block berhasil divalidasi oleh witness/validator, maka masing-masing block akan didistribusikan ke dalam jaringan blockchain berdasarkan urutan rank dari Validator.
- Masing-masing Validator (witness) akan menerima reward sesuai protokol yang berlaku.
Algoritma
konsensus dPoS digunakan oleh beberapa coin seperti :
Delegated Byzantine Fault Tolerance
Algoritma
konsensus ini merupakan langkah untuk mengatasi masalah dari "Byzantine
Generals Problem" (BGP). Dengan menggunakan protokol yang hampir sama
dengan konsensus Delegated Proof of Stake, diharapkan dapat menanggulangi
kekurangan suatu sistem buruk (BGP) di dalam sebuah jaringan, sehingga bisa
dicapai suatu konsensus yang valid.
Di
dalam konsensus Delegated Byzantine Fault Tolerance ada beberapa entitas yang
memiliki peran dan fungsi untuk mencapai sebuah konsensus kerja,
sehingga setiap block-block yang dihasilkan dan divalidasi dapat
didistribusikan ke dalam jaringan blockchain.
- Node (Token/Coin Holder) bertugas sebagai pemilih delegasi dengan menggunakan metode Vote berdasarkan dengan jumlah Token mereka.
- Delegasi (Validator) dipilih berdasarkan vote dan juga mempunyai kemampuan untuk melakukan proses verifikasi (validasi) terhadap sebuah block yang akan didistribusikan ke dalam jaringan Blockchain.
- Speaker (Pembuat Block) dipilih secara acak dari beberapa calon delegasi yang ada. Speaker bertanggung jawab untuk membuat sebuah block baru yang berisikan data-data transaksi, yang nantinya akan didistribusikan ke dalam jaringan Blockchain setelah melalui proses validasi.
Sistem
Distribusi konsensus Delegated Byzantine Fault Tolerance :
- Pada beberapa transaksi yang terjadi di dalam jaringan peer-to-peer, maka akan ditindaklanjuti oleh seorang Speaker.
- Block producer (speaker) yang dipilih secara random dari beberapa calon delegasi ini akan menciptakan suatu block baru yang akan diusulkan untuk diproses validasi.
- Pada saat block tercipta, maka group delegasi akan melakukan proses validasi yang mana membutuhkan N % verifikasi (tergantung ketentuan protokol) supaya block baru ini dianggap valid.
- Setelah block mendapatkan jumlah verifikasi sebesar N %, maka block akan didistribusikan ke dalam jaringan blockchain sebagai block baru yang Valid.
- Speaker (Block Producer) akan menerima reward sebagai imbalan hasil kerja.
Leased Proof of Stake
Leased
Proof of Stake adalah salah satu jenis dari konsensus Proof of Stake.
Mekanisme konsensus ini mengambil efektivitas dan efisiensi
energi dari PoS dan membuka kesempatan bagi holder koin berjumlah kecil
agar tetap mendapatkan keuntungan layaknya berpartisipasi dalam sebuah
mining pool. Proyek yang menggunakan mekanisme konsensus ini, beberapa di antaranya
adalah Waves dan ShareRing (token).
Seperti
yang disebutkan sekilas di atas, algoritma LPoS akan memperbaiki
kelemahan pada sistem PoS dimana peluang holder yang memiliki koin dalam jumlah sedikit untuk memenangkan undian sangat kecil. Hal itu dikarenakan jumlah koin yang dimiliki tidak sebesar dengan holder lain, sehingga mereka tidak akan bisa menjadi
validator block dan pada akhirnya tidak mendapatkan reward. Pada titik
tertentu, LPoS lebih terdesentralisasi daripada DPoS, karena setiap pihak bisa
berpartisipasi dengan bentuk leasing.
Beberapa
keuntungan yang lain dari LPoS adalah:
- Koin yang dimiliki holder tidak perlu berpindah tempat. Posisi koin ini tetap ada di dalam wallet si pemilik itu sendiri sehingga aman dari pencurian dkk.
- Reward secara teoritis bisa didapatkan oleh semua orang, tidak terbatas pada pihak-pihak tertentu seperti DPoS sehingga kesannya sangat sentralistik. Full node juga lebih diuntungkan apabila ada banyak orang yang memutuskan untuk menyewakan koinnya karena kemungkinan terpilih sebagai validator block juga akan lebih besar.
- Pengelolaan diklaim lebih mudah. Holder hanya perlu memilih node untuk leasing dan bisa kapan saja memutuskan untuk menghentikan leasing yang dimiliki.
- Beberapa mengatakan bahwa LPoS juga bisa mengatasi masalah peretasan sebesar 51% karena untuk bisa melakukan peretasan maka seorang peretas harus memiliki 51% koin/token dari sebuah proyek, yang ditaksir membutuhkan biaya yang sangat besar dan kerugian yang ditimbulkan juga sangat besar apabila nekat dilakukan. Akan tetapi secara teoritis seorang attacker masih bisa melakukannya, terlebih apabila berhasil membeli sebagian besar koin sejak awal ketika harga masih murah.
Beberapa
kelemahan dari LPoS tidak begitu berbeda dengan PoS, di antaranya:
- Mengalami masalah nothing at stake yang berarti seorang validator memiliki celah untuk dapat memvalidasi semua block yang dia mau untuk mendapatkan reward sebesar-besarnya ketika terjadi fork/branch. Hal ini terjadi karena (L)PoS tidak membutuhkan cost apapun selain pada saat menyimpan koin di wallet. Beberapa cara mengatasinya sudah dirumuskan seperti memberikan hukuman bagi validator yang memvote semua block ketika terjadi fork dst.
- Berpotensi menghadapi peretasan long range attack. Pada dasarnya peretasan ini mirip dengan 51% pada PoW untuk menulis ulang blockchain. Akan tetapi karena PoS tidak memerlukan biaya yang besar, peretas dapat menulis ulang sampai dengan genesis block. Masalah ini juga telah diselesaikan dengan beberapa solusi, salah satunya adalah dengan membuat validator yang dikenali sehingga bisa diketahui apabila terjadi peretasan.
Share This :
0 Comments