Apa yang dimaksud dengan peer-to-peer (P2P)?

Dalam ilmu komputer, jaringan peer-to-peer (P2P) didefinisikan sebagai sekelompok perangkat yang secara kolektif menyimpan dan berbagi file. Setiap peserta (node) bertindak sebagai rekan individu. Biasanya, semua node memiliki kekuatan yang sama dan menjalankan tugas yang sama.

Dalam teknologi yang berfokus pada keuangan, istilah peer-to-peer biasanya mengacu pada pertukaran mata uang kripto atau aset digital melalui jaringan terdistribusi. Platform P2P memungkinkan pembeli dan penjual melakukan transaksi tanpa memerlukan perantara. Dalam beberapa kasus, situs web juga dapat menyediakan lingkungan P2P yang menghubungkan pemberi pinjaman dan peminjam.

Arsitektur P2P dapat digunakan untuk berbagai kasus penggunaan, tetapi menjadi sangat populer di tahun 1990-an, ketika program berbagi berkas pertama diciptakan. Saat ini, jaringan P2P mendasari sebagian besar mata uang kripto dan merupakan bagian besar dari industri blockchain. Namun, jaringan ini juga dimanfaatkan dalam aplikasi komputasi terdistribusi lainnya, termasuk mesin pencari web, platform streaming, pasar daring, dan protokol web InterPlanetary File System (IPFS).


Bagaimana cara kerja sistem P2P?

Pada dasarnya, sistem P2P dikelola oleh jaringan pengguna yang terdistribusi. Sistem ini biasanya tidak memiliki administrator atau server pusat, karena setiap node menyimpan salinan berkas—bertindak sebagai klien sekaligus server bagi node lainnya. Dengan demikian, setiap node dapat mengunduh berkas dari atau mengunggah berkas ke node lain. Inilah yang membedakan jaringan P2P dari sistem klien-server yang lebih tradisional, di mana perangkat klien mengunduh berkas dari server terpusat.

Dalam jaringan P2P, perangkat yang terhubung berbagi berkas yang tersimpan di hard drive mereka. Dengan menggunakan aplikasi perangkat lunak yang dirancang untuk memediasi pembagian data, pengguna dapat meminta perangkat lain di jaringan untuk menemukan dan mengunduh berkas. Setelah pengguna mengunduh berkas tertentu, mereka dapat bertindak sebagai sumber berkas tersebut.

Dengan kata lain, ketika sebuah node bertindak sebagai klien, ia akan mengunduh berkas dari node lain di jaringan. Ketika ia bertindak sebagai server, ia akan menjadi sumber bagi node lain untuk mengunduh berkas. Namun, dalam praktiknya, kedua fungsi tersebut dapat dilakukan secara bersamaan (misalnya, mengunduh berkas A dan mengunggah berkas B).

Karena setiap node menyimpan, mengirimkan, dan menerima berkas, jaringan P2P cenderung menjadi lebih cepat dan efisien seiring bertambahnya basis pengguna. Lebih lanjut, arsitektur terdistribusinya membuat sistem P2P sangat tangguh terhadap serangan siber. Berbeda dengan model tradisional, jaringan P2P tidak memiliki satu titik kegagalan.

Kita dapat mengkategorikan sistem peer-to-peer berdasarkan arsitekturnya. Tiga jenis utama jaringan P2P adalah: tidak terstruktur, terstruktur, dan hibrida.


Jaringan P2P tidak terstruktur

Jaringan P2P tidak terstruktur tidak memiliki organisasi node yang spesifik. Peserta berkomunikasi satu sama lain secara acak. Sistem ini dianggap tangguh terhadap aktivitas dengan tingkat churn tinggi (yaitu, ketika beberapa node sering bergabung atau meninggalkan jaringan).

Meskipun lebih mudah dibangun, jaringan P2P yang tidak terstruktur dapat membutuhkan lebih banyak penggunaan CPU dan memori karena kueri pencarian dikirim ke sebanyak mungkin peer. Hal ini cenderung membanjiri jaringan dengan kueri, terutama jika hanya sejumlah kecil node yang menyajikan konten yang diinginkan.


Jaringan P2P terstruktur

Sebaliknya, jaringan P2P terstruktur memiliki arsitektur terorganisir yang memungkinkan node mencari berkas secara efisien, bahkan ketika kontennya tidak terdistribusi secara luas. Dalam kebanyakan kasus, hal ini dicapai melalui penggunaan fungsi hash yang memfasilitasi pencarian basis data.

Meskipun jaringan terstruktur dapat lebih efisien, jaringan tersebut cenderung memiliki tingkat sentralisasi yang lebih tinggi dan, biasanya, biaya instalasi dan pemeliharaan yang lebih tinggi. Lebih lanjut, jaringan terstruktur kurang tangguh terhadap tingkat pergantian karyawan yang tinggi.


Jaringan P2P hibrida

Jaringan P2P hibrida menggabungkan model klien-server konvensional dengan beberapa aspek arsitektur peer-to-peer. Misalnya, jaringan ini dapat menetapkan server pusat untuk memfasilitasi koneksi antar-peer.

Dibandingkan dengan dua jenis lainnya, model hibrida cenderung menawarkan kinerja keseluruhan yang lebih baik. Model ini biasanya menggabungkan beberapa keunggulan utama dari masing-masing pendekatan, sehingga memungkinkan tercapainya tingkat efisiensi dan desentralisasi yang signifikan secara bersamaan.


Terdistribusi vs. terdesentralisasi

Meskipun arsitektur P2P pada dasarnya terdistribusi, perlu dicatat bahwa terdapat berbagai tingkat desentralisasi. Oleh karena itu, tidak semua jaringan P2P terdesentralisasi.

Faktanya, banyak yang mengandalkan otoritas pusat untuk memandu aktivitas jaringan, sehingga, sampai batas tertentu, menjadikannya sistem terpusat. Misalnya, beberapa sistem berbagi berkas P2P memungkinkan pengguna untuk mencari dan mengunduh berkas dari rekan lain, tetapi tidak dapat berpartisipasi dalam proses lain, seperti mengelola kueri pencarian.

Lebih jauh lagi, tingkat sentralisasi jaringan kecil, yang dikendalikan oleh basis pengguna yang terbatas dan dengan tujuan bersama, dapat dianggap lebih tinggi, meskipun kurangnya infrastruktur jaringan terpusat.


Peran P2P dalam Blockchain

Pada tahap awal Bitcoin, Satoshi Nakamoto mendefinisikannya sebagai "sistem uang elektronik peer-to-peer". Bitcoin diciptakan sebagai bentuk uang digital. Bitcoin dapat ditransfer dari satu pengguna ke pengguna lain melalui jaringan P2P, yang mengelola buku besar terdistribusi yang disebut blockchain.

Dalam konteks ini, arsitektur P2P yang melekat pada teknologi blockchain memungkinkan Bitcoin dan mata uang kripto lainnya ditransfer ke seluruh dunia, tanpa memerlukan perantara atau server pusat. Lebih lanjut, siapa pun dapat membuat node Bitcoin jika ingin berpartisipasi dalam proses verifikasi dan validasi blok.

Oleh karena itu, tidak ada bank yang memproses atau mencatat transaksi di jaringan Bitcoin. Sebaliknya, blockchain bertindak sebagai buku besar digital yang mencatat semua aktivitas secara publik. Pada dasarnya, setiap node berisi salinan blockchain dan membandingkannya dengan node lain untuk memastikan keakuratan data. Jaringan dengan cepat menolak aktivitas berbahaya atau ketidakakuratan apa pun.

Dalam konteks blockchain mata uang kripto, node dapat menjalankan berbagai peran. Node penuh, misalnya, adalah node yang memberikan keamanan jaringan dengan memverifikasi transaksi berdasarkan aturan konsensus sistem.

Setiap node penuh menyimpan salinan blockchain yang lengkap dan terkini, yang memungkinkan mereka berpartisipasi dalam pekerjaan kolektif untuk memverifikasi status sebenarnya dari buku besar terdistribusi. Namun, perlu dicatat bahwa tidak semua node validator penuh adalah penambang.


Keuntungan

Arsitektur peer-to-peer blockchain menawarkan banyak manfaat. Salah satu yang terpenting adalah fakta bahwa jaringan P2P menawarkan keamanan yang lebih baik daripada pengaturan klien-server tradisional. Distribusi blockchain di sejumlah besar node membuatnya hampir kebal terhadap serangan denial-of-service (DoS) yang memengaruhi banyak sistem.

Demikian pula, karena mayoritas node harus mencapai konsensus sebelum menambahkan data ke blockchain, hampir mustahil bagi penyerang untuk mengubah data tersebut. Hal ini terutama berlaku untuk jaringan besar seperti Bitcoin. Blockchain yang lebih kecil lebih rentan terhadap serangan karena satu orang atau kelompok pada akhirnya dapat menguasai mayoritas node (ini dikenal sebagai serangan 51 persen).

Akibatnya, jaringan peer-to-peer yang terdistribusi, ditambah dengan persyaratan konsensus mayoritas, memberikan blockchain tingkat ketahanan yang relatif tinggi terhadap aktivitas berbahaya. Model P2P adalah salah satu alasan Bitcoin (dan blockchain lainnya) mampu mencapai apa yang disebut Byzantine Fault Tolerance.

Selain keamanan, penggunaan arsitektur P2P dalam blockchain mata uang kripto juga membuatnya tahan terhadap penyensoran oleh otoritas pusat. Tidak seperti rekening bank standar, pemerintah tidak dapat membekukan atau menguras dompet mata uang kripto. Ketahanan ini juga mencakup upaya penyensoran oleh pemroses pembayaran swasta dan platform konten. Beberapa kreator konten dan pedagang daring telah mengadopsi pembayaran mata uang kripto sebagai cara untuk mencegah pihak ketiga memblokir pembayaran mereka.


Keterbatasan

Meskipun memiliki banyak keuntungan, penggunaan jaringan P2P pada blockchain juga memiliki keterbatasan tertentu.

Karena buku besar terdistribusi harus diperbarui di setiap node, alih-alih di server pusat, penambahan transaksi ke blockchain membutuhkan daya komputasi yang signifikan. Meskipun hal ini memberikan keamanan yang lebih baik, hal ini sangat mengurangi efisiensi dan menjadi salah satu kendala utama dalam hal skalabilitas dan adopsi yang meluas. Meskipun demikian, para kriptografer dan pengembang blockchain sedang menyelidiki alternatif yang dapat digunakan sebagai solusi penskalaan. Contoh yang menonjol antara lain Lightning Network, Ethereum Plasma, dan protokol Mimblewimble.

Keterbatasan potensial lainnya berkaitan dengan serangan yang dapat muncul selama hard fork. Karena sebagian besar blockchain terdesentralisasi dan bersumber terbuka, sekelompok node dapat menyalin dan memodifikasi kode serta memisahkan diri dari rantai utama untuk membentuk jaringan paralel baru. Hard fork sepenuhnya normal dan tidak menimbulkan ancaman. Namun, jika metode keamanan tertentu tidak diterapkan dengan benar, kedua rantai dapat menjadi rentan terhadap serangan replay.

Lebih lanjut, sifat jaringan P2P yang terdistribusi membuatnya relatif sulit dipantau dan diatur, tidak hanya di ranah blockchain. Beberapa aplikasi dan perusahaan P2P telah terlibat dalam aktivitas ilegal dan pelanggaran hak cipta.


Sebagai kesimpulan

Arsitektur peer-to-peer dapat dikembangkan dan digunakan dengan berbagai cara dan merupakan inti dari blockchain yang memungkinkan terciptanya mata uang kripto. Dengan mendistribusikan buku besar transaksi di seluruh jaringan node yang besar, arsitektur P2P menawarkan keamanan, desentralisasi, dan ketahanan terhadap sensor.

Selain kegunaannya dalam teknologi blockchain, sistem P2P juga dapat melayani aplikasi komputasi terdistribusi lainnya, mulai dari jaringan berbagi berkas hingga platform perdagangan energi.