Thread sementara saya Lock untuk keperluan update
Intro
Sebelum Bitcoin muncul dengan jaringan Blockchain-nya. Sudah banyak metode-metode pengembangan dari sistem mata uang digital yang tidak bisa sukses (gagal), karena terkendala untuk mencapai suatu konsensus atau membuahkan suatu hasil yang mustahil. Permasalahan ini dikenal dengan sebutan "Byzantine Generals Problem".
Pengertian Umum dari Byzantine Generals ProblemSekelompok pasukan Bizantium terbagi menjadi beberapa kelompok dengan seorang Jenderal sebagai pemimpin kelompoknya. Masing-masing jenderal saling berkomunikasi lewat pesan yang dihantar melalui kurir sehingga bisa ditentukan kapan waktu untuk menyerang dan kapan waktu untuk mundur secara bersamaan (antar kelompok). Dengan dilakukan serangan secara bersama, maka peluang untuk memenangkan pertarungan ini sangat besar. Sistem ini mempunyai banyak kelemahan dan besar kemungkinan untuk dimanipulasi karena posisi dari masing-masing Jenderal terpaut jarak yang jauh dan diperlukan adanya kurir sebagai perantara intruksinya.
Beberapa masalah yang bisa muncul pada sistem ini antara lain seperti :
- Pesan (intruksi) tidak sampai karena kurir terbunuh ditengah jalan
- Jika pesan (intruksi) yang disampaikan tidak sama, maka keputusan diantara Jenderal juga akan berbeda.
- Jika ada beberapa Jenderal atau pasukan yang berkhianat, maka hasil serangan tidak akan efektif lagi
Algoritma konsensus pada teknologi Blockchain muncul sebagai solusi dari "Byzantine Generals Problem".
Konsensus
Pengertian umum Konsensus adalah kesepakatan kata atau permufakatan bersama (mengenai pendapat, pendirian, dan sebagainya) yang dicapai melalui kebulatan suara (
https://kbbi.web.id/konsensus)
Sedangkan pengertian Konsensus didalam teknologi Blockchain ialah Persetujuan bersama (mufakat) untuk melakukan validasi pada suatu transaksi (Block) yang dihasilkan dari proses perhitungan yang kompleks dan rumit.
Algoritma Konsensus Blockchain
Algoritma pada dasarnya menjabarkan segala prosedur yang harus dilakukan dalam menyelesaikan sebuah masalah. Karena sifat dari blockchain yang terdistribusi, maka dibutuhkan algoritma untuk mencapai konsensus dengan mengurutkan dan merumuskan suatu masalah (data) secara bersama-sama. Sehingga bisa ditetapkan/diterbitkan suatu hasil (hash) yang autentik dan valid ke dalam sebuah block didalam jaringan Blockchain.
1. Proof of Work
Sebuah protokol yang mempunyai fungsi untuk mencegah aktifitas serangan cyber (DDos), yang dapat melumpuhkan/melemahkan suatu sumber daya sistem komputer. Konsep POW pertama kali dikenalkan oleh Cynthia Dwork & Moni Naor pada tahun 1993 dan baru di implementasikan oleh Markus Jakobsson (mata uang Shell) pada tahun 2009.
Dalam teknologi Blockchain, POW digunakan oleh Satoshi Nakamoto sebagai algoritma konsensus dan Bitcoin sendiri sebagai Mata Uang dari konsensus Proof of Work ini. Persyaratan utama dalam konsensus POW adalah proses kegiatan mining (proses komputasi dari CPU, GPU, ASIC, FPGA) yang berfungsi sebagai penemu, pencari solusi dan memvalidasi setiap masalah (hash) kedalam sebuah block dan akan didistribusikan ke dalam sebuah buku besar (ledger) yang disebut dengan 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 :- Suatu (beberapa) transaksi yang muncul dari sebuah wallet yang bertindak sebagai Full Node (salinan Blockchain) akan di publish pada jaringan (P2P).
- Transaksi-transaksi ini akan tehubung ke sebuah jaringan yg juga terhubung dengan node Miners
- Miner-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.
- Miners yang bertindak sebagai pembuat block valid akan menerima reward.
Cryptocurrencies yang menggunakan algoritma konsensus PoW- Bitcoin (BTC)
- Ethereum (ETH)
- Monero (XMR)
- Litecoin (LTC)
- Dan lain-lain
2. Proof of StakeAlgoritma konsensus Proof of Stake (PoS) pertama kali dikenalkan oleh Sunny King dan Scott Nadal pada tahun 2012. Penggunaan metode ini diharapkan dapat mengatasi besarnya daya yang dibutuhkan untuk melakukan proses komputasi pada konsensus PoW. Secara garis besar, proses Staking ialah 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).
Berbeda dengan konsensus PoW yang membutuhkan proses komputasi menggunakan peralatan-peralatan dengan sumber daya listrik. Pada metode PoS, untuk mencapai sebuah konsensus hanya dibutuhkan sebuah Full Node (Wallet) dengan token/koin didalamnya. Dan setiap token/koin holder yang senantiasa terhubung dengan jaringan (node) blockchain, mempunyai peluang untuk menjadi seorang staker/forger dengan memenuhi syarat sesuai dengan protokol yang berlaku. Oleh karena itu didalam konsensus PoS ini, tidak dibutuhkan banyak sumber daya energi (listrik) dalam proses pencapaian suatu konsensus.
Sistem Distribusi konsensus Proof of Stake :- Untuk bisa melakukan forging (minting), maka pemegang token/koin harus mengunci sejumlah koin didalam walletnya (Full Node) yg terhubung dengan jaringan blockchain.
- Pada saat sebuah/beberapa transaksi masuk ke dalam jaringan (P2P). Pembuatan sebuah block (validasi transaksi) dipilih secara Pseudorandom 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.
Cryptocurrencies yang menggunakan algoritma konsensus PoS- Peercoin (PPC)
- NXT
- Blackcoin
- Dan lain-lain
3. Delegated Proof of StakeDPoS diciptakan oleh Daniel Larimer pada saat membuat sebuah cryptocurrency yang disebut dengan BitShares pada tahun 2014. Algoritma konsensus ini adalah sebuah metode baru sebagai tindakan pengamanan terhadap sebuah jaringan cryptocurrency untuk mencapai sebuah konsensus tanpa memerlukan adanya otoritas terpusat. Prinsip kerjanya hampir mirip dengan konsensus Proof of Stake, dimana untuk mencapai konsensus yang valid maka dibutuhkan proses verifikasi dari pelaku-pelaku otoritas yang terdistribusi dan berjalan sesuai dengan protokol yang ada didalam metode konsensus tersebut.
Jika didalam PoS pemilihan pembuatan block bersifat Pseudorandom (berdasar jumlah dan umur Coin/Token), maka pada DPoS setiap delegasi/witness (pembuat block) akan ditentukan dengan 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 masuk ke jaringan (P2P).
- 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 setelah melakukan registrasi menjadi witness (validator) sesuai dgn 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.
Cryptocurrencies yang menggunakan algoritma konsensus DPoS- BitShares
- EOS
- Lisk
- Steem
- Dan lain-lain
4. Delegated Byzantine Fault ToleranceAlgoritma konsensus ini muncul untuk mengatasi masalah dari "Byzantine Generals Problem" (BGP). Dengan menggunakan protokol yang hampir mirip dengan konsensus DPOS, diharapkan dapat menutupi kekurangan suatu sistem buruk (BGP) didalam sebuah jaringan, sehingga bisa dicapai suatu konsensus yang valid.
Didalam konsensus DBFT ada beberapa entitas yang mempunyai peran dan fungsi masing-masing, dalam pelaksanaannya untuk mencapai sebuah konsensus kerja, sehingga setiap block-block yang dihasilkan dan divalidasi dapat didistribusikan ke jaringan blockchain.
1. Node (Token/Coin Holder) bertindak sebagai pemilih delegasi dengan menggunakan metode Vote berdasarkan dengan jumlah Token mereka.
2. Delegasi (Validator) dipilih berdasarkan vote dan juga mempunyai peran untuk melakukan proses verifikasi (validasi) terhadap sebuah block yang akan didistribusikan ke dalam jaringan Blockchain.
3. Speaker (Pembuat Block) dipilih secara acak dari calon-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 sebuah/beberapa transaksi yang terjadi didalam jaringan (P2P), maka akan ditindaklanjuti oleh seorang Speaker.
- Block producer (speaker) yang dipilih secara random dari beberapa calon delegasi, akan menciptakan suatu block baru yang nantinya akan diusulkan untuk mendapatkan proses validasi.
- Pada saat block terselesaikan, maka group delegasi akan melakukan proses validasi. Dan dibutuhkan N % verifikasi (tergantung ketentuan protokol) supaya block baru ini dianggap valid.
- Setelah block mendapatkan jumlah verifikasi sebesar N %, maka block akan didistribusikan ke jaringan blockchain sebagai block baru yang Valid.
- Speaker (Block Producer) akan menerima reward sebagai imbalan hasil kerja.
Cryptocurrency yang menggunakan algoritma konsensus DBFT5. Leased Proof of Stake by
elda34bSekelumit tentang Leased Proof of Stake
Leased Proof of Stake adalah salah satu varian dari konsensus Proof of Stake. Mekanisme konsensus ini berusaha untuk mengambil efektivitas dan efisiensi energi dari PoS sembari membuka kesempatan bagi holder koin berjumlah kecil agar tetap bisa 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 berusaha untuk memperbaiki kelemahan PoS dimana pemilik koin dalam jumlah sedikit kemungkinan besar tidak akan memenangkan undian karena jumlah koin yang dimiliki sedikit (sedikit dalam arti tidak sebesar 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.

Source: https://docs.wavesplatform.com/en/platform-features/leased-proof-of-stake-lpos.html
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 teoretis 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, layaknya PoS juga bisa mengatasi masalah serangan 51% karena untuk bisa melakukan hal ini maka seorang penyerang harus memiliki 51% koin/token dari sebuah proyek, yang dinilai akan membutuhkan biaya yang sangat besar dan kerugian yang ditimbulkan juga sangat besar apabila nekat dilakukan. Akan tetapi secara teoretis 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 pada intinya merupakan celah dimana seorang validator bisa memvalidasi semua block yang dia mau ketika terjadi fork/branch untuk mendapatkan reward sebesar-besarnya, mengingat biaya dengan hasil yang didapatkan jauh lebih besar hasilnya karena (L)PoS tidak membutuhkan cost apapun selain menyimpan koin di wallet. Beberapa cara mengatasinya sudah dirumuskan seperti memberikan hukuman bagi validator yang memvote semua block ketika terjadi fork dst.
- Berpotensi menghadapi serangan long range attack. Pada dasarnya serangan ini mirip dengan 51% pada PoW untuk menulis ulang blockchain. Akan tetapi karena PoS tidak memerlukan biaya yang besar, penyerang bisa menulis ulang sampai dengan genesis block. Masalah ini juga berupaya diselesaikan dengan beberapa solusi, seperti misalnya yang diusahakan diimplementasikan oleh Casper. Salah satunya adalah dengan membuat validator bisa dikenali sehingga bisa diketahui apabila terjadi serangan.
Mohon dikoreksi apabila ada kesalahan.

Source: https://cryptographics.info/wp-content/uploads/2018/01/resized/1224/0/65/0/0/0/LPoS.png?1542959832233
Baca-baca lanjutan:
https://blog.positive.com/rewriting-history-a-brief-introduction-to-long-range-attacks-54e473acdba9
http://www.coinfox.info/news/reviews/6417-proof-of-work-vs-proof-of-stake-merits-and-disadvantages
https://blog.ethereum.org/2014/05/15/long-range-attacks-the-serious-problem-with-adaptive-proof-of-work/
https://docs.wavesplatform.com/en/platform-features/leased-proof-of-stake-lpos.html
Beberapa Algoritma Konsensus lainnya- Proof of Authority- POA Network (POA)
- VeChain (VET)
- Proof of Space / Proof of Capacity- Proof of Importance
References :
https://blockgeeks.com/guides/blockchain-consensushttps://en.wikipedia.org/wiki/Proof-of-work_systemhttps://en.wikipedia.org/wiki/Proof-of-stakehttp://docs.bitshares.org/bitshares/https://docs.neo.org/en-us/