Apa itu peer-to-peer (P2P)?

Dalam komputasi peer-to-peer (P2P), jaringan (P2P) terdiri dari sekelompok perangkat yang berbagi dan menyimpan file bersama. Setiap peserta (node) bertindak sebagai rekan yang terpisah. Sebagai aturan, semua node memiliki kekuatan yang sama dan melakukan tugas yang sama.

Dalam teknologi 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 perantara. Dalam beberapa kasus, situs web juga menyediakan lingkungan P2P yang menghubungkan pemberi pinjaman dan peminjam.

Arsitektur P2P mungkin cocok untuk berbagai kasus penggunaan, tetapi arsitektur ini menjadi sangat populer pada tahun 1990an ketika aplikasi berbagi file pertama kali dibuat. Saat ini, jaringan P2P mendukung sebagian besar mata uang kripto dan merupakan bagian besar dari industri blockchain. Namun, mereka juga digunakan dalam aplikasi komputasi terdistribusi lainnya, termasuk layanan pencarian web, platform streaming, pasar online, dan protokol web InterPlanetary File System (IPFS).


Bagaimana cara kerja P2P?

Intinya, sistem P2P didukung oleh jaringan pengguna yang terdistribusi. Mereka biasanya tidak memiliki administrator pusat atau server, karena setiap node berisi salinan file, bertindak sebagai klien dan server untuk node lainnya. Dengan cara ini, setiap node dapat mendownload file dari node lain atau mengunggah file ke node tersebut. Inilah yang membedakan jaringan P2P dari sistem klien-server tradisional, di mana perangkat klien mengunduh file dari server terpusat.

Dalam jaringan P2P, perangkat yang terhubung bertukar file yang disimpan di hard drive. Menggunakan aplikasi yang dirancang untuk berbagi data, pengguna dapat meminta dan mengunduh file ke perangkat lain di jaringan. Setelah pengguna mengunduh file tersebut, mereka dapat menjadi sumber file tersebut.

Dengan kata lain, ketika node bertindak sebagai klien, mereka mendownload file dari node jaringan lain. Namun ketika mereka bertindak sebagai server, mereka adalah sumber dari mana situs web lain dapat mengunduh file. Namun dalam praktiknya, kedua fungsi tersebut dapat dijalankan secara bersamaan (misalnya mendownload file A dan mengupload file B).

Saat setiap node menyimpan, mentransfer, dan menerima file, jaringan P2P menjadi lebih cepat dan efisien seiring dengan pertumbuhan basis penggunanya. Selain itu, arsitektur terdistribusinya membuat sistem P2P sangat tahan terhadap serangan dunia maya. Berbeda dengan model tradisional, jaringan P2P tidak memiliki satu titik kegagalan pun.

Kita dapat mengklasifikasikan sistem peer-to-peer berdasarkan arsitekturnya. Ada tiga jenis utama: jaringan P2P tidak terstruktur, terstruktur, dan hybrid.


Jaringan P2P tidak terstruktur

Jaringan P2P tidak terstruktur tidak mewakili organisasi node tertentu. Peserta secara acak berkomunikasi satu sama lain. Sistem ini dianggap tahan terhadap aktivitas churn yang tinggi (yaitu beberapa node sering bergabung dan meninggalkan jaringan).

Meskipun jaringan P2P yang tidak terstruktur lebih mudah dibangun, jaringan tersebut bisa lebih intensif CPU dan memori karena pencarian dikirim ke sebanyak mungkin rekan. Hal ini cenderung membebani jaringan dengan permintaan jika sejumlah kecil node menawarkan konten yang diinginkan.


Jaringan P2P terstruktur

Sebaliknya, jaringan P2P terstruktur adalah arsitektur terorganisir yang memungkinkan node mencari file secara efisien bahkan ketika kontennya tidak bersifat publik. Hal ini paling sering dicapai melalui penggunaan fungsi hash, yang memfasilitasi pencarian database.

Meskipun jaringan terstruktur bisa lebih efisien, jaringan tersebut biasanya memiliki tingkat sentralisasi yang lebih tinggi dan biasanya memerlukan biaya pengaturan dan pemeliharaan yang lebih tinggi. Selain itu, jaringan terstruktur menjadi kurang kuat ketika dihadapkan pada tingkat arus keluar yang tinggi.


Jaringan P2P hibrida

Jaringan P2P hibrid menggabungkan model klien-server konvensional dengan beberapa aspek arsitektur peer-to-peer. Misalnya, berkat ini, Anda dapat membuat server pusat yang akan menyederhanakan koneksi antar rekan.

Dibandingkan dengan dua tipe lainnya, model hybrid mengalami peningkatan performa secara keseluruhan. Mereka biasanya menggabungkan beberapa keuntungan utama dari masing-masing pendekatan sekaligus mencapai tingkat efisiensi dan desentralisasi yang signifikan.


Distribusi atau desentralisasi?

Meskipun arsitektur P2P pada dasarnya terdistribusi, penting untuk dicatat bahwa terdapat berbagai tingkat desentralisasi. Jadi, tidak semua jaringan P2P terdesentralisasi. 

Faktanya, banyak sistem bergantung pada otoritas pusat untuk mengelola aktivitas jaringan, sehingga menjadikannya agak terpusat. Misalnya, beberapa sistem berbagi file P2P memungkinkan pengguna untuk mencari dan mengunduh file dari pengguna lain, namun mereka tidak dapat berpartisipasi dalam proses lain seperti mengelola permintaan pencarian.

Alternatifnya, jaringan kecil yang dikendalikan oleh basis pengguna tujuan umum yang terbatas dapat dikatakan memiliki tingkat sentralisasi yang 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. Itu 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. Selain itu, siapa pun dapat membuat node Bitcoin jika ingin berpartisipasi dalam proses verifikasi dan konfirmasi blok.

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

Dalam konteks blockchain mata uang kripto, node dapat melakukan banyak peran berbeda. Node penuh, misalnya, memastikan keamanan jaringan dengan memverifikasi transaksi berdasarkan aturan konsensus sistem.

Setiap node penuh menyimpan salinan blockchain yang lengkap dan terkini, memungkinkan mereka untuk berpartisipasi dalam upaya kolaboratif untuk memverifikasi keadaan sebenarnya dari buku besar yang didistribusikan. Namun, perlu dicatat bahwa tidak semua node yang terverifikasi sepenuhnya adalah penambang.


Keuntungan

Arsitektur blockchain peer-to-peer memberikan banyak keuntungan. Salah satu yang paling penting adalah kenyataan bahwa jaringan P2P memberikan keamanan yang lebih besar dibandingkan mekanisme client-server tradisional. Distribusi blockchain di sejumlah besar node membuat mereka kebal terhadap serangan Denial-of-Service (DoS), yang banyak dialami oleh sistem.

Karena sebagian besar node harus mencapai konsensus sebelum menambahkan data ke blockchain, hampir tidak mungkin bagi penyerang untuk mengubah data. 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 sebagian besar node (ini dikenal sebagai serangan 51%).

Hasilnya, jaringan peer-to-peer yang terdistribusi, dikombinasikan dengan persyaratan konsensus mayoritas, memberikan blockchain tingkat resistensi yang relatif tinggi terhadap aktivitas jahat. Model P2P adalah salah satu alasan mengapa Bitcoin (dan blockchain lainnya) mampu mencapai apa yang disebut “toleransi kesalahan Bizantium”.

Selain keamanan, penggunaan arsitektur P2P pada blockchain mata uang kripto juga membuatnya tahan terhadap sensor oleh otoritas pusat. Tidak seperti rekening bank standar, dompet mata uang kripto tidak dapat dibekukan atau dikosongkan oleh pemerintah. Penolakan ini juga meluas ke upaya penyensoran yang dilakukan oleh platform pembayaran dan pemrosesan konten swasta. Beberapa pembuat konten dan pedagang online telah menerima pembayaran mata uang kripto untuk menghindari pembayaran mereka diblokir oleh pihak ketiga.


Keterbatasan

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

Karena buku besar yang didistribusikan harus diperbarui pada setiap node, bukan pada server pusat, menambahkan transaksi ke blockchain memerlukan daya komputasi yang sangat besar. Meskipun hal ini memberikan peningkatan keamanan, hal ini pada gilirannya secara signifikan mengurangi efisiensi operasional, yang merupakan salah satu hambatan utama dalam hal skalabilitas dan adopsi secara luas. Namun, kriptografer dan pengembang blockchain sedang menjajaki alternatif yang dapat digunakan sebagai solusi penskalaan. Contoh yang menonjol adalah protokol Lightning Network, Ethereum Plasma, dan Mimblewimble.

Keterbatasan potensial lainnya terkait dengan serangan yang dapat terjadi selama event hard fork. Karena sebagian besar blockchain bersifat terdesentralisasi dan open source, kelompok node dapat dengan bebas menyalin dan memodifikasi kode dan bercabang dari rantai utama untuk membentuk jaringan paralel baru. Hard fork sepenuhnya normal dan tidak menimbulkan ancaman tersendiri. Namun jika praktik keamanan tertentu tidak diterapkan dengan benar, kedua rantai tersebut dapat menjadi rentan terhadap serangan berulang.

Selain itu, sifat jaringan P2P yang terdistribusi membuatnya relatif sulit untuk dikontrol dan diatur, tidak hanya di bidang blockchain. Beberapa program dan perusahaan P2P telah terlibat dalam aktivitas ilegal dan pelanggaran hak cipta.


Hasil

Arsitektur peer-to-peer dapat dirancang dan digunakan dalam berbagai cara, dan merupakan fondasi dari blockchain yang memungkinkan mata uang kripto. Dengan mendistribusikan buku besar transaksi di seluruh jaringan node yang besar, arsitektur P2P memberikan keamanan, desentralisasi, dan ketahanan terhadap sensor.

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