Mekanisme Konsensus

Pengertian, Sejarah, Penerapan, dan Dampaknya

D. Husni Fahri Rizal
The Legend
11 min readJul 30, 2024

--

Mekanisme konsensus adalah protokol yang digunakan untuk mencapai kesepakatan tentang keadaan data dalam sistem terdistribusi. Protokol ini memastikan bahwa semua salinan data yang disimpan di berbagai node dalam jaringan adalah konsisten dan akurat.

Dalam Kamus Besar Bahasa Indonesia (KBBI), kata “konsensus” memiliki makna sebagai berikut:

  • Persetujuan Bersama: Konsensus adalah suatu bentuk kesepakatan yang dicapai oleh semua pihak yang terlibat melalui proses diskusi dan negosiasi. Ini menunjukkan adanya komitmen dari semua pihak untuk mendukung keputusan yang diambil.
  • Musyawarah atau Mufakat: Proses mencapai konsensus biasanya melibatkan musyawarah atau mufakat, di mana semua pihak mengemukakan pandangan dan argumen mereka. Tujuan dari musyawarah adalah untuk mencapai keputusan yang diterima oleh semua pihak tanpa ada yang merasa dirugikan.
  • Kesepakatan: Konsensus bukan hanya sekedar suara mayoritas, tetapi benar-benar mencerminkan kesepakatan yang luas dari semua anggota kelompok atau komunitas yang terlibat. Hal ini penting untuk memastikan bahwa keputusan yang diambil akan dihormati dan dijalankan oleh semua pihak.

Sejarah Mekanisme Konsensus dalam Sistem Terdistribusi

Mekanisme konsensus telah menjadi subjek penelitian yang mendalam sejak tahun 1980-an. Pada masa ini, para ilmuwan komputer mulai mengeksplorasi berbagai metode untuk mencapai konsistensi dan keandalan dalam sistem terdistribusi. Sistem terdistribusi merujuk pada jaringan komputer yang terdiri dari beberapa node (atau komputer) yang bekerja sama untuk menyelesaikan tugas-tugas tertentu, meskipun node-node tersebut tersebar di lokasi geografis yang berbeda.

1980-an: Awal Penelitian Konsensus

Pada tahun 1980-an, kebutuhan akan mekanisme konsensus menjadi semakin jelas dengan berkembangnya jaringan komputer dan sistem terdistribusi. Ilmuwan komputer mulai menyadari bahwa tanpa adanya konsensus, data yang disimpan di berbagai node bisa menjadi tidak sinkron, yang berpotensi menimbulkan inkonsistensi dan masalah dalam aplikasi kritis.

  • Masalah Byzantine Generals: Masalah ini pertama kali diusulkan oleh Leslie Lamport, Robert Shostak, dan Marshall Pease dalam makalah mereka yang diterbitkan pada tahun 1982, berjudul The Byzantine Generals Problem. Masalah ini menggambarkan tantangan dalam mencapai konsensus di antara node yang mungkin berperilaku jahat atau rusak, menjadi dasar untuk pengembangan algoritma Byzantine Fault Tolerance (BFT).

1990: Algoritma Paxos

Salah satu kontribusi awal yang terkenal dalam bidang ini adalah algoritma Paxos, yang diperkenalkan oleh Leslie Lamport pada tahun 1990. Paxos adalah sebuah algoritma konsensus yang dirancang untuk bekerja dalam jaringan yang tidak dapat diandalkan, di mana beberapa node bisa mengalami kegagalan.

Fase Protokol Paxos:

  • Fase Proposal: Node (proposer) mengusulkan nilai yang akan disepakati.
  • Fase Penerimaan: Node lain (acceptors) menerima atau menolak proposal.
  • Fase Komitmen: Setelah mayoritas node menerima proposal, nilai tersebut dianggap disepakati.

Paxos memastikan bahwa meskipun ada node yang gagal, sistem tetap dapat mencapai konsensus.

1999: Byzantine Fault Tolerance (BFT)

PBFT (Practical BFT) diperkenalkan oleh Miguel Castro dan Barbara Liskov pada tahun 1999 sebagai salah satu langkah penting berikutnya. BFT dirancang untuk menghadapi skenario kegagalan Byzantine, di mana beberapa node mungkin berperilaku jahat atau rusak. Istilah “Byzantine” berasal dari masalah Byzantine Generals, yang menggambarkan kesulitan mencapai kesepakatan di antara aktor yang tidak dapat dipercaya.

Fase Protokol PBFT:

  • Fase Pre-Preparasi: Node utama (primary) mengusulkan urutan operasi dan mengirimkan pesan pre-preparasi ke semua node sekunder.
  • Fase Preparasi: Node sekunder memverifikasi operasi dan mengirimkan pesan persiapan ke semua node lainnya.
  • Fase Komitmen: Node sekunder menunggu pesan persiapan dari mayoritas node sebelum mengirimkan pesan komitmen, kemudian mengeksekusi operasi setelah menerima pesan komitmen dari mayoritas node.

PBFT dapat mentoleransi hingga sepertiga dari total node yang mengalami kegagalan atau bertindak jahat, menjadikannya cocok untuk sistem yang memerlukan tingkat keamanan dan keandalan tinggi.

2000-an: Perkembangan Algoritma Konsensus

Pada tahun-tahun berikutnya, penelitian tentang mekanisme konsensus terus berkembang. Beberapa algoritma baru diperkenalkan untuk mengatasi keterbatasan Paxos dan untuk memenuhi kebutuhan aplikasi yang berbeda.

  • Multi-Paxos: Merupakan varian dari Paxos yang dirancang untuk sistem dengan throughput tinggi, di mana banyak nilai perlu disepakati dalam waktu singkat. Multi-Paxos mengoptimalkan proses konsensus dengan memungkinkan beberapa putaran proposal berlangsung secara paralel.
  • Raft: Pada tahun 2014, Diego Ongaro dan John Ousterhout memperkenalkan algoritma Raft sebagai alternatif yang lebih mudah dipahami dan diimplementasikan dibandingkan Paxos. Raft memiliki tiga komponen utama: pemimpin (leader), pengikut (followers), dan calon pemimpin (candidates). Pemimpin mengkoordinasikan proses konsensus, sementara pengikut dan calon pemimpin bekerja sama untuk mencapai kesepakatan.

Penerapan Mekanisme Konsensus dalam Teknologi Terpusat

Berikut merupakan penerapan dari mekanisme konsensus pada centralize teknologi.

1. Distributed Databases and Replication

Dalam sistem basis data terdistribusi, konsensus adalah proses yang igunakan untuk memastikan bahwa semua salinan data yang tersebar di berbagai lokasi tetap konsisten dan sinkron. Ketika data diubah atau diperbarui di satu lokasi, perubahan tersebut harus dicerminkan di semua lokasi yang menyimpan salinan data tersebut. Mekanisme konsensus memastikan bahwa semua node atau server yang menyimpan salinan basis data mencapai kesepakatan mengenai status data yang tepat dan hasil operasi yang dilakukan.

Penerapan:

  • Google Spanner: Sistem basis data terdistribusi global yang mengintegrasikan konsensus dengan teknologi TrueTime. TrueTime adalah API sinkronisasi waktu yang memungkinkan Spanner untuk melakukan replikasi data secara konsisten di seluruh dunia. Spanner menggunakan algoritma konsensus seperti Paxos untuk memastikan bahwa semua salinan data tetap konsisten dan tersedia di berbagai lokasi, bahkan dengan latensi jaringan yang tinggi.
  • Amazon Aurora: Sebuah basis data relasional yang dikelola sepenuhnya, Aurora menggunakan konsensus untuk memastikan replikasi data yang konsisten antara instansi utama dan salinan cadangan. Aurora memanfaatkan teknologi yang memungkinkan replikasi data secara cepat dan konsisten, memberikan ketahanan terhadap kegagalan.

2. Paxos Algorithm

Paxos adalah algoritma konsensus yang dirancang untuk memastikan bahwa meskipun beberapa node dalam sistem mengalami kegagalan, transaksi dan keputusan yang diusulkan tetap dapat disetujui oleh mayoritas node. Algoritma ini memastikan bahwa keputusan hanya diambil jika mayoritas node setuju, sehingga sistem tetap dapat mencapai konsensus meskipun ada node yang gagal atau tidak responsif.

Penerapan:

  • Layanan Infrastruktur Cloud: Paxos digunakan dalam berbagai layanan cloud untuk memastikan bahwa data tetap konsisten di seluruh sistem, bahkan ketika beberapa node mengalami kegagalan. Contoh aplikasi Paxos termasuk sistem manajemen konfigurasi dan layanan database terdistribusi yang memerlukan toleransi kegagalan tinggi dan keandalan data yang konsisten.

3. Raft Consensus Algorithm

Raft adalah algoritma konsensus yang dirancang untuk lebih mudah dipahami dan diimplementasikan dibandingkan dengan Paxos, sambil menyediakan fungsionalitas konsensus yang sama. Raft menggunakan mekanisme pemilihan pemimpin dan log replikasi untuk mencapai konsensus. Dalam Raft, satu node bertindak sebagai pemimpin, dan semua operasi ditulis ke log pemimpin sebelum didistribusikan ke node lain (pengikut) untuk mencapai kesepakatan.

Penerapan:

  • etcd: Sebuah sistem penyimpanan kunci-nilai terdistribusi yang menggunakan Raft untuk memastikan bahwa data yang disimpan tetap konsisten di seluruh cluster. etcd digunakan dalam berbagai aplikasi yang memerlukan konfigurasi terdistribusi yang konsisten.
  • Consul: Sistem manajemen layanan dan konfigurasi terdistribusi yang juga memanfaatkan Raft untuk mencapai konsensus dalam penyimpanan data dan konfigurasi layanan.

4. Google Spanner

Google Spanner adalah basis data terdistribusi global yang menyediakan konsistensi kuat dan latensi rendah dengan menggunakan algoritma konsensus. Spanner memanfaatkan TrueTime, sebuah API sinkronisasi waktu, untuk menjaga konsistensi dan mengelola replikasi data di seluruh dunia. Algoritma konsensus yang digunakan membantu memastikan bahwa semua replikasi data tetap sinkron meskipun ada latensi jaringan dan gangguan.

Penerapan:

  • Konsistensi Data Global: Spanner menggunakan TrueTime dan algoritma konsensus untuk memastikan bahwa semua replikasi data di seluruh dunia konsisten dan tersedia, yang memungkinkan aplikasi dengan persyaratan konsistensi data yang tinggi dan latensi rendah.

5. Database Replication in Centralized Systems

Dalam sistem terpusat yang menggunakan replikasi basis data, konsensus memastikan bahwa setiap perubahan yang dilakukan pada satu salinan basis data diterapkan dengan benar ke semua salinan lainnya. Protokol konsensus dalam konteks ini memastikan bahwa transaksi atau perubahan data diterapkan secara konsisten di seluruh sistem.

Penerapan:

  • Two-Phase Commit (2PC): Protokol yang digunakan untuk memastikan bahwa transaksi yang melibatkan beberapa basis data berhasil atau dibatalkan secara konsisten di seluruh sistem. 2PC melibatkan dua fase: fase persetujuan dan fase komitmen, di mana semua node harus menyetujui transaksi sebelum dianggap final.
  • Three-Phase Commit (3PC): Sebuah varian dari 2PC yang menambahkan fase tambahan untuk mengurangi risiko kegagalan dalam fase komitmen. 3PC memastikan bahwa semua node sepakat tentang status transaksi, dengan tambahan fase untuk meminimalkan risiko kegagalan distribusi.Penerapan Mekanisme Konsensus dalam Teknologi Terdesentralisasi (Blockchain)

Penerapan Mekanisme Konsensus dalam Teknologi Desentralisasi dan Blockchain

Pada awal 2000-an dan seterusnya, konsep konsensus mendapat perhatian baru dengan munculnya teknologi blockchain. Blockchain adalah bentuk khusus dari sistem terdistribusi yang menggunakan mekanisme konsensus untuk mencatat transaksi secara aman dan transparan. Dalam konteks blockchain, mekanisme konsensus memastikan integritas dan keamanan data tanpa perlu bergantung pada entitas sentral.

1. Bukti Kerja (Proof of Work/PoW)

  • Pengertian: PoW adalah mekanisme konsensus yang pertama kali diperkenalkan dengan Bitcoin dan banyak digunakan dalam blockchain publik lainnya. Dalam PoW, penambang menggunakan komputer bertenaga tinggi untuk memecahkan teka-teki cryptographic yang kompleks. Penambang yang pertama kali menemukan solusi yang benar berhak membentuk blok baru dan mengonfirmasi transaksi, serta menerima hadiah berupa cryptocurrency baru.
  • Penerapan: PoW digunakan oleh Bitcoin, Ethereum (sebelum transisi ke PoS), dan banyak blockchain publik lainnya. Meskipun PoW sangat aman dan terpercaya, ia menghadapi kritik karena konsumsi energi yang tinggi dan biaya operasional yang besar. Dampak lingkungan dari PoW menyebabkan banyak proyek mencari alternatif yang lebih ramah lingkungan.

2. Bukti Kepemilikan (Proof of Stake/PoS)

  • Pengertian: PoS memungkinkan validator yang mempertaruhkan koin mereka untuk mendapatkan kesempatan dipilih secara acak untuk memvalidasi blok. Validator mendapatkan hadiah dari biaya transaksi, bukan block reward seperti di PoW.
  • Penerapan: Digunakan oleh Ethereum 2.0, Cardano (ADA), Solana (SOL), dan Tezos (XTZ). PoS mengurangi kebutuhan energi dan biaya operasional dibandingkan PoW. Namun, PoS dapat mengarah pada sentralisasi, di mana entitas dengan banyak token memiliki kekuatan lebih besar dalam konsensus.

3. Bukti Kepemilikan Saham yang Didelegasikan (Delegated Proof of Stake/DPoS)

  • Pengertian: DPoS adalah modifikasi PoS yang melibatkan pemilihan saksi atau produsen blok oleh pengguna jaringan melalui sistem pemungutan suara berbasis reputasi. Saksi yang terpilih memvalidasi transaksi dan memperoleh hadiah.
  • Penerapan: Digunakan oleh Lisk (LSK), EOS.IO (EOS), Steem (STEEM), BitShares (BTS), dan Ark (ARK). DPoS dianggap lebih efisien dan demokratis, tetapi juga bisa menghadapi masalah sentralisasi jika hanya sedikit entitas yang terpilih sebagai saksi.

4. Bukti Aktivitas (Proof of Activity/PoA)

  • Pengertian: PoA menggabungkan elemen dari PoW dan PoS. Penambang memecahkan teka-teki komputasi untuk menambang blok, dan kemudian validator yang dipilih secara acak menandatangani blok tersebut untuk memvalidasinya.
  • Penerapan: Digunakan oleh Decred (DCR) dan Espers (ESP). PoA mencoba menggabungkan keamanan PoW dan efisiensi PoS, namun fase penambangan PoA masih boros energi dan memiliki potensi sentralisasi pada validator.

5. Bukti Otoritas (Proof of Authority/PoA)

  • Pengertian: PoA adalah mekanisme di mana validator dipilih berdasarkan reputasi, bukan koin yang dipertaruhkan. Validator harus mempertaruhkan reputasi mereka untuk mendapatkan hak memvalidasi blok.
  • Penerapan: Digunakan oleh VeChain (VET), Ethereum Kovan testnet, dan JPMCoin. PoA sangat efisien dan hemat sumber daya, tetapi memiliki risiko sentralisasi dan korupsi karena hanya beberapa entitas terpilih yang dapat berpartisipasi.

6. Bukti Pembakaran (Proof of Burn/PoB)

  • Pengertian: PoB memungkinkan penambang untuk mendapatkan hak memvalidasi blok dengan “membakar” atau menghancurkan sejumlah token. Token yang dibakar tidak dapat dipulihkan atau digunakan lagi.
  • Penerapan: Digunakan oleh Slimcoin (SLM), Counterparty (XCP), dan Factom (FCT). PoB mengurangi inflasi dan mendorong komitmen jangka panjang dari penambang, tetapi masih menghadapi kritik terkait efisiensi energi.

7. Bukti Kapasitas/Bukti Ruang (Proof of Capacity/Proof of Space/PoC)

  • Pengertian: PoC mengandalkan kapasitas penyimpanan pada hard drive untuk menentukan hak penambangan. Penambang menyimpan hash yang mungkin di hard drive dan semakin banyak kapasitas penyimpanan yang dimiliki, semakin tinggi peluang untuk menemukan solusi yang benar.
  • Penerapan: Digunakan oleh Signum (SIGNA), Storj (STORJ), dan Chia (XCH). PoC lebih hemat energi dibandingkan PoW dan memberikan kesempatan bagi lebih banyak orang untuk berpartisipasi, namun masih memiliki tantangan terkait adopsi dan keamanan.

8. Bukti Waktu yang Telah Berlalu (Proof of Elapsed Time/PoET)

  • Pengertian: PoET menggunakan waktu tunggu acak yang ditentukan oleh instruksi CPU khusus untuk menentukan siapa yang berhak memvalidasi blok berikutnya.
  • Penerapan: Digunakan dalam Hyperledger Sawtooth. PoET efisien dan hemat sumber daya, tetapi mengandalkan perangkat keras khusus dari Intel, yang membatasi aksesibilitas.

9. Bukti Riwayat (Proof of History/PoH)

  • Pengertian: PoH memungkinkan stempel waktu diintegrasikan ke dalam blockchain itu sendiri, memverifikasi urutan peristiwa antara transaksi tanpa bergantung pada node lain.
  • Penerapan: Digunakan oleh Solana. PoH mengurangi beban pemrosesan dan meningkatkan kecepatan serta efisiensi, tetapi belum diuji secara luas di luar Solana.

10. Bukti Penting (Proof of Importance/PoI)

  • Pengertian: PoI memilih penambang berdasarkan metrik seperti ukuran dan jumlah transaksi, serta aktivitas jaringan, bukan hanya jumlah koin yang dipertaruhkan.
  • Penerapan: Digunakan oleh NEM Network (XEM). PoI menghilangkan kecenderungan PoS yang memberikan keuntungan pada entitas dengan banyak koin, tetapi juga menghadapi tantangan dalam hal metrik yang digunakan untuk menentukan “pentingnya” node.Dampak Mekanisme Konsensus

Dampak Mekanisme Konsensus

Berikut merupakan dampak yang di berikan tentungya dampak positif dari penerapan mekanisme konsensus tersebut.

1. Keandalan Sistem Terdistribusi

Mekanisme konsensus memainkan peran krusial dalam memastikan keandalan sistem terdistribusi. Dengan mekanisme ini, sistem dapat terus berfungsi dengan benar meskipun ada kegagalan pada beberapa node atau bagian dari jaringan. Ini sangat penting dalam aplikasi yang memerlukan ketahanan tinggi, seperti sistem perbankan dan platform e-commerce.

  • Dampak Positif: Konsensus memastikan bahwa semua salinan data dalam jaringan tetap konsisten, mengurangi risiko inkonsistensi data yang dapat mengganggu operasi bisnis dan menyebabkan kesalahan.
  • Dampak Negatif: Implementasi mekanisme konsensus dapat meningkatkan kompleksitas sistem dan mempengaruhi kinerja, terutama dalam hal latensi dan throughput.

2. Keamanan dan Toleransi Terhadap Kegagalan

Mekanisme konsensus seperti Byzantine Fault Tolerance (BFT) memberikan kemampuan untuk menghadapi kegagalan Byzantine, yaitu situasi di mana beberapa node dalam sistem mungkin bertindak secara jahat atau rusak. Ini meningkatkan keamanan dan keandalan sistem terhadap serangan dan kesalahan.

  • Dampak Positif: Sistem yang menggunakan BFT dapat tetap aman dan berfungsi dengan baik meskipun terdapat upaya sabotase oleh node jahat atau gangguan dari node yang rusak.
  • Dampak Negatif: Algoritma seperti PBFT memerlukan komunikasi intensif antar node, yang dapat menambah overhead dan memperlambat proses konsensus.

3. Efisiensi Energi dan Biaya

Mekanisme konsensus berbasis Proof of Work (PoW) seperti yang digunakan dalam Bitcoin dikenal dengan kebutuhan energi yang sangat tinggi, yang dapat memiliki dampak lingkungan dan biaya operasional yang signifikan. Sebaliknya, mekanisme Proof of Stake (PoS) dirancang untuk lebih efisien dalam hal energi.

  • Dampak Positif: PoS dan beberapa mekanisme konsensus lainnya mengurangi konsumsi energi dan biaya yang terkait dengan operasional jaringan, membuatnya lebih berkelanjutan.
  • Dampak Negatif: Mekanisme seperti PoS mungkin menghadapi tantangan dalam hal keamanan dan distribusi kekuasaan, terutama jika ada risiko sentralisasi kekuasaan di antara pemegang koin terbesar.

4. Skalabilitas dan Kecepatan Transaksi

Skalabilitas adalah tantangan utama dalam sistem terdistribusi dan blockchain. Mekanisme konsensus yang efisien dapat meningkatkan kemampuan sistem untuk menangani jumlah transaksi yang lebih besar tanpa mengorbankan keandalan.

  • Dampak Positif: Algoritma konsensus yang dioptimalkan, seperti Raft atau varian Multi-Paxos, dapat meningkatkan throughput dan mengurangi latensi dalam sistem terdistribusi.
  • Dampak Negatif: Beberapa algoritma konsensus mungkin mengalami trade-off antara skalabilitas dan keamanan, mempengaruhi bagaimana mereka diterapkan dalam skala besar.

5. Inovasi dan Adopsi Teknologi Baru

Mekanisme konsensus telah mendorong inovasi dalam desain sistem terdistribusi dan blockchain, menginspirasi pengembangan teknologi baru dan model bisnis.

  • Dampak Positif: Pengembangan dan adopsi mekanisme konsensus baru dapat membuka peluang untuk aplikasi yang lebih luas dan inovatif dalam berbagai industri, seperti keuangan, logistik, dan pemerintahan.
  • Dampak Negatif: Perubahan cepat dalam teknologi konsensus dapat menyebabkan kesulitan dalam migrasi dan integrasi sistem yang ada, serta tantangan dalam standarisasi dan interoperabilitas.

References

  1. Wikipedia. (n.d.). Distributed system. Retrieved from https://en.wikipedia.org/wiki/Distributed_system
  2. Wikipedia. (n.d.). Data consistency model. Retrieved from https://en.wikipedia.org/wiki/Consistency_model
  3. Wikipedia. (n.d.). Byzantine fault tolerance. Retrieved from https://en.wikipedia.org/wiki/Byzantine_fault_tolerance
  4. Cachin, C. (2011). Engineering the consensus protocol. In Theoretical Aspects of Computer Science (pp. 75–89). Springer. Retrieved from https://link.springer.com/chapter/10.1007/978-3-642-19105-0_6
  5. Bitcoin.org. (n.d.). Bitcoin’s energy consumption. Retrieved from https://bitcoin.org/en/how-it-works
  6. Ethereum Foundation. (2022). Ethereum 2.0. Retrieved from https://ethereum.org/en/eth2/
  7. Patterson, D., & Hennessy, J. (2017). Computer Organization and Design RISC-V Edition: The Hardware/Software Interface. Morgan Kaufmann.
  8. Lamport, L. (2001). The part-time parliament. ACM Transactions on Computer Systems, 16(2), 133–169. Retrieved from https://dl.acm.org/doi/10.1145/371773.371779
  9. Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System. Retrieved from https://bitcoin.org/bitcoin.pdf
  10. Gencer, A., et al. (2018). The decentralized web of tomorrow: A survey of blockchain-based platforms. IEEE Transactions on Services Computing. Retrieved from https://ieeexplore.ieee.org/document/8406265

--

--

D. Husni Fahri Rizal
The Legend

Engineering Leader | Start-Up Advisor | Agile Coach | Microservices Expert | Professional Trainer | Investor Pemula