Mitra-ke-mitra

Jaringan ***peer-to-peer*** atau **mitra ke mitra** adalah arsitektur aplikasi terdistribusi, yang membagi beban kerja atau tugas antar klien (*peers*) dalam jaringan tersebut. Pada jaringan ini, setiap klien memiliki hak dan kesempatan berpartisipasi yang sama. Contoh klien dalam jaringan P2P dapat berupa komputer, *smartphone*, dan/atau perangkat IoT.

Setiap klien akan menyediakan sebagian dari sumber daya mereka, seperti daya pemrosesan, penyimpanan data, maupun *bandwidth* koneksi, agar dapat dipakai secara langsung oleh para anggota jaringan; tanpa perlu menggunakan peladen (''server'') atau *host* yang stabil. Setiap klien adalah penyedia dan konsumen sumber daya, berbeda dengan model klien-peladen yang membedakan siapa penyedia sumber daya dan siapa yang mengonsumsinya.

Walau jaringan P2P sebelumnya telah banyak digunakan di banyak bidang, arsitektur ini menjadi populer karena sistem berbagi-berkas (*file sharing*) Napster yang pertama kali rilis pada tahun 1999. Konsep ini telah mengilhami struktur dan filosofi yang baru di banyak bidang interaksi manusia. Dalam konteks sosial seperti itu, jaringan P2P (sebagai meme) mengacu pada sebuah jejaring sosial egaliter yang berkembang di dalam masyarakat, yang dimungkinkan oleh teknologi internet secara umum.

## Sejarah perkembangan

Meskipun sistem klien-ke-klien sebelumnya telah digunakan di banyak bidang, konsep ini dipopulerkan oleh sistem berbagi-berkas (*file sharing*) seperti aplikasi berbagi-musik Napster (rilis pertama kali pada tahun 1999). Konsep dasar dari komputasi peer-to-peer sebelumnya telah direncanakan pada masa awal sistem perangkat lunak dan jaringan, yang dapat ditelusuri kembali sampai ke prinsip-prinsip yang dinyatakan dalam Request for Comments pertama, .

Tim Berners-Lee membayangkan World Wide Web akan menyerupai sebuah jaringan P2P, mengasumsikan bahwa setiap pengguna web akan menjadi editor dan kontributor aktif, dalam membuat dan menghubungkan konten untuk membentuk "web" tautan yang saling terkait. Keadaan Internet di masa awal lebih terbuka daripada saat ini, dalam artian dua mesin yang terhubung ke Internet dapat mengirim paket satu sama lain tanpa *firewall* dan langkah-langkah keamanan lainnya. Pemikiran ini jauh berbeda dengan struktur web "yang menyiarkan" yang telah berkembang pada masa-masa berikutnya. Sebagai pendahulu Internet, ARPANET adalah jaringan klien-peladen yang sukses, sedemikian sehingga "setiap klien yang berpartisipasi dapat meminta dan melayani konten." Namun, ARPANET tidak *self-organized*, dan tidak memiliki kemampuan untuk "menyediakan sarana untuk konteks atau *routing* berbasis konten di luar perutean (''routing'') 'sederhana' berbasis alamat."

## Arsitektur
Jaringan P2P didesain dengan gagasan simpul (*node*) klien pada jaringan dapat berfungsi secara simultan sebagai "klien" dan "peladen" ke simpul-simpu lain. Model pengaturan jaringan ini berbeda dari model klien-peladen yang arah komunikasi biasanya terjadi ke dan dari peladen pusat. Contoh tipikal dari proses transfer berkas yang menggunakan model klien-peladen adalah layanan Protokol Transfer Berkas (''File Transfer Protocol'', FTP). Pada model ini, tujuan klien dan peladen berbeda: klien memulai transfer (permintaan), dan peladen memenuhi permintaan.

### Perutean dan penemuan sumber daya
Jaringan P2P umumnya mengimplementasikan beberapa bentuk jaringan ''overlay'' virtual di atas topologi jaringan fisik, di mana simpul-simpul dalam *overlay* membentuk subset dari simpul-simpul dalam jaringan fisik. Pertukaran data dilakukan secara langsung melalui jaringan TCP/IP yang mendasari jaringan P2P. Walaupun demikian, klien-klien masih dapat berkomunikasi satu sama lain secara langsung pada lapisan aplikasi, dengan menggunakan tautan-tautan *logical overlay* (masing-masing sesuai dengan jalur pada jaringan fisik yang mendasarinya). *Overlay* digunakan untuk pengindeksan dan penemuan klien, dan membuat sistem P2P independen dari topologi jaringan fisik. Berdasarkan bagaimana simpul-simpul dihubungkan satu sama lain dalam jaringan overlay, dan bagaimana sumber daya diindeks dan ditempatkan,  jaringan P2P dapat diklasifikasikan sebagai *jaringan tidak terstruktur* atau *jaringan terstruktur* (atau sebagai hibrida di antara keduanya).

#### Jaringan tidak terstruktur

*Jaringan peer-to-peer yang tidak terstruktur* tidak memaksakan desain struktur tertentu pada jaringan *overlay*, melainkan dibentuk oleh simpul-simpul yang secara acak membentuk koneksi satu sama lain. (Gnutella, Gosip, and Kazaa adalah contoh protokol P2P yang tidak terstruktur). Karena tidak ada struktur yang dipaksakan secara global, jaringan tidak terstruktur mudah untuk dibangun dan memungkinkan untuk optimasi lokal ke berbagai wilayah *overlay*. Selain itu, karena setiap klien dalam jaringan memiliki peran yang sama, jaringan tidak terstruktur sangat tangguh dalam menghadapi tingkat "*churn*" yang tinggi—yaitu, ketika sejumlah besar klien sering bergabung dan/atau meninggalkan jaringan.

Namun, keterbatasan utama dari jaringan jenis ini juga muncul dari kurangnya struktur. Secara khusus, ketika klien ingin menemukan data yang diinginkan di dalam jaringan, jaringan perlu dibanjiri (*flooding*) permintaan agar dapat menemukan sebanyak mungkin klien yang memiliki data tersebut. *Flooding* menyebabkan jumlah lalu lintas sinyal yang sangat tinggi dalam jaringan, menggunakan lebih banyak CPU/memori (karena mengharuskan setiap klien untuk memproses semua permintaan pencarian), dan tidak memastikan bahwa permintaan pencarian akan selalu terselesaikan. Lebih jauh lagi, karena tidak ada korelasi antara klien dan data yang ia dikelola, tidak ada jaminan bahwa *flooding* akan menemukan klien yang memiliki data yang diinginkan. Data populer kemungkinan tersedia di beberapa klien, dan setiap klien yang mencarinya kemungkinan akan menemukan hal yang sama. Namun, jika sebuah klien mencari data langka yang hanya dimiliki oleh beberapa klien lain, maka sangat kecil kemungkinannya pencarian itu akan berhasil.

#### Jaringan terstruktur

Dalam *jaringan P2P terstruktur*, *overlay* diatur ke dalam suatu topologi tertentu, dan protokol memastikan bahwa setiap klien dapat secara efisien mencari berkas/sumber daya di jaringan, bahkan jika sumber daya tersebut sangat langka.

Jenis yang paling umum dari jaringan P2P terstruktur menerapkan tabel hash terdistribusi (*Distributed Hash Table*, DHT). Jaringan ini menggunakan varian hashing yang konsisten untuk menetapkan kepemilikan setiap berkas ke klien tertentu. Hal ini memungkinkan peer untuk mencari sumber daya di jaringan menggunakan tabel hash: yaitu, pasangan (*kunci*, *nilai*) disimpan dalam DHT, dan setiap klien yang berpartisipasi dapat secara efisien mengambil nilai yang terkait dengan kunci yang diberikan.

Namun, untuk merutekan (*routing*) lalu lintas data secara efisien melalui jaringan, klien-klien dalam *overlay* terstruktur harus memelihara daftar tetangga yang memenuhi kriteria tertentu. Hal ini membuat mereka kurang tangguh dalam jaringan dengan tingkat *churn* yang tinggi (yaitu dengan sejumlah besar klien yang sering bergabung dan meninggalkan jaringan). Pada evaluasi yang lebih baru dari solusi penemuan sumber daya P2P di bawah beban kerja nyata, terdapat beberapa masalah dalam solusi berbasis DHT seperti biaya tinggi untuk mempromosikan/menemukan sumber daya dan ketidakseimbangan beban statis dan dinamis.

Jaringan terdistribusi penting yang menggunakan DHT antara lain: Tixati, sebuah alternatif untuk pelacak terdistribusi BitTorrent; jaringan Kad, botnet Storm, dan YaCy. Beberapa proyek penelitian terkemuka termasuk proyek Chord, Kademlia, utilitas penyimpanan PAST; P-Grid, sebuah jaringan *overlay* yang berkembang dan *self-organized*; dan sistem distribusi konten CoopNet. Jaringan berbasis DHT juga telah banyak digunakan untuk menghasilkan penemuan sumber daya yang efisien untuk sistem komputasi grid (''grid computing''), yang membantu dalam masalah manajemen sumber daya dan penjadwalan aplikasi.

#### Model hibrida
*Model hibrida* adalah kombinasi dari model P2P dan klien-peladen. Model hibrida yang umum memiliki sebuah server pusat yang membantu klien-klien menemukan satu sama lain. Spotify adalah contoh model hibrida [hingga tahun 2014]. Ada berbagai model hibrida, yang semuanya membuat tarik ulur (*trade-off*) antara fungsionalitas terpusat yang disediakan oleh: jaringan peladen/klien yang terstruktur, dan kesetaraan fungsi klien-klien yang diberikan oleh jaringan P2P murni yang tidak terstruktur. Saat ini, model hibrida memiliki kinerja yang lebih baik daripada jaringan tidak terstruktur murni atau jaringan terstruktur murni karena beberapa fungsi tertentu, seperti pencarian, memang memerlukan fungsionalitas terpusat tetapi mendapat manfaat dari agregasi klien yang terdesentralisasi yang disediakan oleh jaringan tidak terstruktur.

#### Sistem distribusi konten CoopNet
*Sistem distribusi CoopNet (Cooperative Networking,* Jejaring Kooperatif*)* adalah sistem yang diusulkan untuk pelayanan *off-loading* ke klien yang baru saja mengunduh konten. Sistem ini diusulkan oleh ilmuwan komputer Venkata N. Padmanabhan dan Kunwadee Sripanidkulchai, bekerja di *[[Microsoft Research]]* dan Universitas Carnegie Mellon. Ketika sebuah peladen mengalami peningkatan beban, peladen akan mengalihkan klien yang masuk ke klien lain yang telah setuju untuk menyalin konten, sehingga mengurangi keseimbangan *off-loading* dari peladen. Semua informasi disimpan di peladen. Sistem ini memanfaatkan fakta bahwa kemacetan (*bottleneck*) yang terjadi kemungkinan besar berada di *[[bandwidth]]* keluar daripada di CPU, yang mengakibatkan desain sistem ini berpusat pada server. Sistem ini mengalihkan klien ke klien-klien lain yang "terletak dekat dengan IP" tetangganya (pada rentang *prefix* yang sama) dalam upaya untuk menggunakan lokalitas. Jika beberapa klien memiliki berkas yang sama, maka klien akan memilih tetangga yang tercepat.

### Keamanan dan kepercayaan
Sistem peer-to-peer menimbulkan tantangan unik dari perspektif keamanan komputer. Seperti bentuk perangkat lunak lainnya, aplikasi P2P bisa mengandung kerentanan. Sifat perangkat lunak P2P yang membuat hal ini sangat berbahaya fakta aplikasi P2P bertindak sebagai peladen sekaligus klien, yang berarti bahwa aplikasi ini bisa lebih rentan terhadap eksploitasi jarak jauh.

#### Serangan perutean
Karena setiap klien memainkan peran dalam perutean (*routing*) lalu lintas data (*traffic*) pada jaringan, pengguna jahat dapat melakukan berbagai "serangan perutean", atau serangan *[[denial of service]]*. Contoh serangan perutean yang umum termasuk: "rute pencarian yang salah" di mana klien yang berbahaya sengaja meneruskan permintaan secara tidak benar atau mengembalikan hasil yang salah, "pembaruan rute yang salah" di mana klien yang berbahaya merusak tabel perutean klien tetangga dengan mengirimkan informasi yang salah, dan "partisi jaringan perutean yang salah" di mana ketika klien-baru bergabung, mereka melakukan *bootstrap* melalui klien yang berbahaya, yang menempatkan klien-baru di partisi jaringan yang diisi oleh klien-klien berbahaya lainnya.

#### Data yang rusak dan malware

Tingkat keberadaan (prevalensi) malware bervariasi antar protokol P2P yang berbeda. Studi yang menganalisis penyebaran malware pada jaringan P2P menemukan, sebagai contoh, bahwa 63% dari permintaan unduhan yang dijawab pada jaringan gnutella mengandung beberapa bentuk malware, sedangkan hanya 3% dari konten di OpenFT yang mengandung malware. Dalam kedua kasus tersebut, tiga jenis malware yang paling umum menyumbang sebagian besar kasus (99% di gnutella, dan 65% di OpenFT). Studi lain yang menganalisis lalu lintas di jaringan Kazaa menemukan bahwa 15% dari 500,000 sampel berkas yang diambil terinfeksi setidaknya satu dari 365 virus komputer berbeda.

Data yang rusak juga dapat didistribusikan di jaringan P2P dengan memodifikasi berkas yang sudah dibagikan di jaringan. Misalnya, pada jaringan FastTrack, RIAA berhasil memasukkan potongan palsu ke dalam unduhan dan berkas yang diunduh (kebanyakan berkas MP3). Berkas yang terinfeksi virus RIAA tidak dapat digunakan setelahnya dan berisi kode berbahaya. RIAA juga diketahui telah mengunggah musik dan film palsu ke jaringan P2P untuk mencegah aktivitas berbagi-berkas ilegal. Akibatnya, jaringan P2P saat ini telah mengalami peningkatan yang sangat besar dalam hal keamanan dan mekanisme verifikasi berkas. Hashing modern, verifikasi ''chunk'' dan metode-metode enkripsi yang berbeda telah membuat sebagian besar jaringan tahan terhadap hampir semua jenis serangan, bahkan ketika sebagian besar dari jaringan masing-masing telah digantikan oleh host yang dipalsukan atau tidak berfungsi.

### Jaringan komputer yang tangguh dan terskalakan

Sifat desentralisasi jaringan P2P meningkatkan ketahanan karena menghilangkan titik kegagalan tunggal (''single point of failure'') yang dapat melekat pada sistem berbasis klien-peladen. Ketika klien banyak berdatangan dan permintaan pada sistem meningkat, kapasitas total sistem (skalabilitas-nya) juga meningkat, dan kemungkinan kegagalan menurun. Jika satu klien pada jaringan gagal berfungsi dengan baik, seluruh jaringan tidak terganggu atau rusak. Sebaliknya, dalam arsitektur klien-peladen yang umum, klien hanya berbagi permintaan mereka dengan sistem, tetapi bukan sumber daya mereka. Dalam hal ini, karena semakin banyak klien yang bergabung dengan sistem, semakin sedikit sumber daya yang tersedia untuk melayani setiap klien, dan jika pe;aden pusat gagal, seluruh jaringan akan rusak.

### Penyimpanan dan pencarian yang terdistribusi
Ada keuntungan dan kerugian dalam jaringan P2P yang terkait dengan topik backup, pemulihan, dan ketersediaan data. Dalam jaringan terpusat, administrator sistem adalah satu-satunya kekuatan yang mengendalikan ketersediaan berkas yang dibagikan. Jika administrator memutuskan untuk tidak lagi mendistribusikan suatu berkas, mereka hanya perlu menghapusnya dari server mereka, dan berkas tersebut tidak akan tersedia lagi untuk pengguna. Selain membuat pengguna tidak berdaya dalam memutuskan apa yang didistribusikan ke seluruh komunitas, hal ini membuat seluruh sistem rentan terhadap ancaman dan permintaan dari pemerintah dan faktor eksternal lainnya. Misalnya, YouTube telah ditekan oleh RIAA, MPAA, dan industri hiburan untuk menyaring konten berhak cipta. Walaupun dapat menjadi solusi ketersediaan data, jaringan P2P lebih tidak dapat diandalkan dalam ketersediaan berkas-berkas yang tidak populer. Hal ini diakibatkan karena proses berbagi berkas dalam jaringan P2P mengharuskan setidaknya satu klien dalam jaringan memiliki data yang diminta, dan klien itu harus dapat terhubung ke klien yang meminta data. Persyaratan ini kadang-kadang sulit dipenuhi karena pengguna dapat menghapus atau berhenti berbagi data kapan saja.

Dalam hal ini, komunitas pengguna dalam jaringan P2P sepenuhnya bertanggung jawab untuk memutuskan konten apa yang tersedia. Berkas-berkas yang tidak populer pada akhirnya akan hilang dan menjadi tidak tersedia karena lebih banyak orang berhenti membagikannya. Namun, berkas populer akan sangat mudah didistribusikan. Berkas populer di jaringan P2P sebenarnya memiliki stabilitas dan ketersediaan yang lebih tinggi daripada berkas di jaringan klien-peladen. Dalam jaringan terpusat, kehilangan koneksi sederhana antara server dan klien sudah cukup untuk menyebabkan kegagalan, tetapi dalam jaringan P2P, koneksi antara setiap klien harus hilang untuk menyebabkan kegagalan berbagi data. Dalam sistem terpusat, administrator bertanggung jawab untuk semua pemulihan data dan backup, sementara dalam sistem P2P, setiap klien memerlukan sistem backup sendiri. Karena kurangnya otoritas pusat dalam jaringan P2P, kekuatan seperti industri rekaman, RIAA, MPAA, dan pemerintah tidak dapat menghapus atau menghentikan berbagi konten pada sistem P2P.

## Contoh penerapan

### Jaringan berbagi konten

Dalam jaringan P2P, setiap klien menyediakan dan menggunakan sumber daya. Ini berarti bahwa tidak seperti sistem klien-peladen, kapasitas pelayanan konten dari jaringan P2P sebenarnya dapat meningkat seiring dengan semakin banyaknya pengguna yang mulai mengakses konten (terutama dengan protokol seperti Bittorrent yang mengharuskan pengguna untuk berbagi). Sifat ini adalah salah satu keuntungan utama menggunakan jaringan P2P karena membuat biaya *setup* dan operasional sangat kecil untuk distributor konten asli. Banyak jaringan berbagi-berkas P2P, seperti Gnutella, G2, jaringan eDonkey mempopulerkan teknologi-teknologi P2P, seperti:

* Jaringan pengiriman konten,
* Jasa konten P2P, contohnya membuat *caches* untuk meningkatkan peforma seperti *Correli Caches*,
* Publikasi perangkat lunak dan distribusi (distribusi Linux, beberapa *game*); lewat jaringan berbagi-berkas.

Pada bidang multimedia, P2P digunakan dalam protokol transfer-data PDTP (''Peer Distributed Transfer Protocol''), dan sistem P2PTV yang digunakan untuk membagikan *streaming* video (umumnya saluran TV) secara *real-time*. Beberapa aplikasi multimedia gratis maupun ''proprietary'' juga menggunakan jaringan P2P berserta peladen-peladen pusat untuk memberikan *streaming* suara dan video bagi para penggunanya. Peercasting adalah salah satu metode yang dikembangkan yang memungkinkan *multicasting streams*.

Jaringan P2P melibatkan transfer data dari satu pengguna ke pengguna lain tanpa menggunakan peladen perantara. Perusahaan yang mengembangkan aplikasi P2P telah terlibat dalam banyak kasus hukum, terutama di Amerika Serikat, atas konflik dengan hukum hak cipta. Dua kasus besar adalah *[[Grokster]]* melawan RIAA dan *MGM Studios, Inc. v. Grokster, Ltd*. Dalam kasus terakhir, Mahkamah Agung AS dengan suara bulat menyatakan bahwa terdakwa Grokster, perusahaan berbagi-berkas secara P2P, dan Streamcast, dapat dituntut karena mendorong pelanggaran hak cipta.

### Penerapan P2P yang lain
Dalam bidang ekonomi, terdapat sistem m-dagang dan beberapa aplikasi seperti Tradepal, yang menggerakkan pasar (*commerce*) secara *real-time*. Jaringan P2P yang terdesentralisasi juga berperan dalam terciptanya mata uang kripto digital; seperti Bitcoin, Ether, Monero, dan Peercoin. Mata uang kripto memiliki tujuan yang dikhususkan, seperti Gridcoin yang digunakan sebagai alat pembayaran pada relawan yang membantu ilmuwan-ilmuwan menyelesaikan masalah, dengan menggunakan jaringan BOINC. Sedangkan, Filecoin dimaksudkan untuk sistem pembayaran metode penyimpanan digital kooperatif berbasis-*[[blockchain]]* dan pengambilan data. Metode ini disebut dengan protokol *[[InterPlanetary File System]]* (IPFS), dengan setiap klien pada jaringan IPFS membentuk sebuah sistem berkas terdistribusi.

Dalam bidang berbagi-berkas, aplikasi WebTorrent (dan versi *dekstop*-nya) adalah klien torrent *streaming* secara P2P menggunakan JavaScript, untuk digunakan di peramban web. Microsoft di Windows 10 menggunakan teknologi P2P eksklusif yang disebut "*Delivery Optimization*" untuk menyebarkan pembaruan sistem operasi menggunakan PC pengguna, baik di jaringan lokal atau lewat PC-PC lain. Menurut *Microsoft's Channel 9*, hal ini menyebabkan pengurangan 30%-50% dalam penggunaan *bandwidth* Internet. Jaringan P2P dan metode berbagi-berkas juga digunakan oleh aplikasi Syncthing dan Resilio Sync untuk menyikronkan (*file synchronization*) direktori. Beberapa penelitian seperti Proyek Chord, utilitas penyimpanan PAST, P-Grid, dan sistem distribusi konten CoopNet, masing-masing mempelajari/membuat jenis sistem berbagi-berkas yang spesifik.

Pada aspek jaringan komunikasi, I2P adalah jaringan ''overlay'' yang digunakan untuk menjelajah (*browsing*) Internet secara anonim. Berbeda dengan I2P, jaringan Tor tidak peer-to-peer, tetapi aplikasi P2P dapat dikembangkan di atas jaringan Tor dengan menggunakan jasa onion.  Aplikasi berbagi-koneksi Open Garden membagikan akses internet ke perangkat-perangkat sekitar menggunakan Wi-Fi dan/atau Bluetooth. Wi-Fi dan Bluetooth juga digunakan oleh aplikasi telekomunikasi Briar agar tetap dapat terhubung (secara P2P) ketika tidak ada koneksi Internet.

## Dampak sosial

### Mendukung kerja sama dan berbagi sumber daya

Kerja sama di antara komunitas peserta adalah kunci keberhasilan sistem P2P yang berkelanjutan, yang ditujukan untuk pengguna manusia biasa; ini mencapai potensi penuh mereka hanya ketika sejumlah besar klien (pengguna) yang menyumbangkan sumber daya. Namun, dalam praktiknya saat ini, jaringan P2P sering mengandung sejumlah besar pengguna yang memanfaatkan sumber daya yang dibagikan oleh klien lain, tetapi tidak berbagi apa pun sendiri (sering disebut sebagai "masalah *freeloader*"). *Freeloading* dapat memiliki dampak yang besar pada jaringan dan dalam beberapa kasus dapat menyebabkan komunitas runtuh. Dalam jenis jaringan ini "pengguna memiliki tujuan alami untuk tidak bekerja sama karena kerja sama menghabiskan sumber daya mereka sendiri dan dapat menurunkan kinerja mereka sendiri." Mempelajari atribut sosial dari jaringan P2P merupakan tantangan karena perubahan populasi yang besar, kepentingan yang asimetri, dan identitas tanpa biaya. Berbagai mekanisme insentif telah diimplementasikan untuk mendorong atau bahkan memaksa klien untuk menyumbangkan sumber daya.

Beberapa peneliti telah mengeksplorasi manfaat dari memungkinkan komunitas virtual untuk mengatur diri sendiri dan memperkenalkan insentif untuk berbagi sumber daya dan kerja sama, dengan alasan bahwa aspek sosial yang hilang dari sistem P2P saat ini harus dilihat baik sebagai tujuan dan sarana untuk komunitas virtual yang terorganisasi sendiri untuk dibangun dan dipupuk. Upaya penelitian yang sedang berlangsung untuk merancang mekanisme insentif yang efektif dalam sistem P2P, berdasarkan prinsip-prinsip dari teori permainan, mulai mengambil arah yang lebih psikologis dan pemrosesan informasi.

### Keamanan dan anonimitas
Beberapa jaringan peer-to-peer (misalnya Freenet) sangat menekankan pada privasi dan anonimitas - yaitu, memastikan bahwa isi komunikasi disembunyikan dari penyadap, dan bahwa identitas/lokasi peserta disembunyikan. Kriptografi kunci publik dapat digunakan untuk menyediakan enkripsi, validasi data, otorisasi, dan otentikasi untuk data/pesan. Perutean onion dan protokol jaringan campuran lainnya (misalnya Tarzan) dapat digunakan untuk memberikan anonimitas.

Pelaku pelecehan seksual ''live streaming'' dan kejahatan siber lainnya telah menggunakan platform P2P untuk melakukan aktivitas dengan anonimitas.

## Dampak politik

### Hukum kekayaan intelektual dan aktivitas berbagi ilegal
Meskipun jaringan P2P dapat digunakan untuk tujuan yang sah, banyak pemegang hak telah menargetkan P2P atas keterlibatannya dengan berbagi materi berhak cipta. Perusahaan-perusahaan yang mengembangkan aplikasi P2P telah terlibat dalam banyak kasus hukum, terutama di Amerika Serikat, khususnya mengenai isu-isu seputar hukum hak cipta. Dua kasus utama adalah Grokster vs. RIAA dan *MGM Studios, Inc.* vs. *Grokster, Ltd*. Dalam kedua kasus tersebut, teknologi berbagi-berkas diputuskan legal selama pengembang tidak memiliki kemampuan untuk mencegah pembagian materi berhak cipta. Untuk menetapkan pertanggungjawaban pidana atas pelanggaran hak cipta pada sistem P2P, pemerintah harus membuktikan bahwa terdakwa melanggar hak cipta dengan sengaja untuk tujuan keuntungan finansial pribadi atau keuntungan komersial. Pengecualian penggunaan wajar memungkinkan penggunaan terbatas materi berhak cipta untuk diunduh tanpa memperoleh izin dari pemegang hak. Dokumen-dokumen ini biasanya berupa laporan berita terkait penelitian dan karya ilmiah. Kontroversi telah berkembang atas kekhawatiran penggunaan jaringan P2P yang tidak sah terkait keselamatan publik dan keamanan nasional. Ketika berkas diunduh melalui jaringan P2P, tidak mungkin untuk mengetahui siapa yang membuat berkas atau pengguna apa yang terhubung ke jaringan pada waktu tertentu. Kepercayaan kepada siapa pemiliki sumber berkas adalah potensi ancaman keamanan yang dapat dilihat dengan sistem P2P.

Sebuah studi yang diperintahkan oleh Uni Eropa menemukan bahwa pengunduhan ilegal dapat menyebabkan peningkatan penjualan video *game* secara keseluruhan karena *game-game* baru mengenakan biaya untuk fitur atau level tambahan. Makalah ini menyimpulkan bahwa pembajakan memiliki dampak finansial negatif pada film, musik, dan literatur. Studi ini mengandalkan data yang dilaporkan sendiri tentang pembelian game dan penggunaan situs unduhan ilegal.

### Netralitas jaringan
Aplikasi peer-to-peer adalah salah satu masalah penting dalam kontroversi netralitas jaringan. Penyedia jasa internet (ISP) telah diketahui membatasi (*throttle*) lalu lintas berbagi-berkas P2P karena penggunaan *[[bandwidth]]* yang tinggi. Dibandingkan dengan menjelajah Web, email, atau banyak penggunaan internet lainnya, yang hanya memerlukan interval pendek dan jumlah yang relatif kecil agar data dapat ditransfer; berbagi berkas secara P2P sering kali terdiri dari penggunaan *bandwidth* yang relatif berat, karena transfer berkas yang sedang berlangsung dan koordinasi paket dilakukan bersamaan di dalam *swarm*/jaringan. Pada bulan Oktober 2007, Comcast, salah satu penyedia Internet *broadband* terbesar di Amerika Serikat, mulai memblokir aplikasi P2P seperti BitTorrent. Alasan mereka adalah bahwa P2P sebagian besar digunakan untuk berbagi konten ilegal, dan infrastruktur mereka tidak didesain untuk lalu lintas *bandwidth* tinggi yang berkelanjutan. Para kritikus menunjukkan bahwa jaringan P2P memiliki kegunaan legal yang sah, dan ini adalah cara lain yang digunakan oleh penyedia besar untuk mengontrol penggunaan dan konten di Internet, dan mengarahkan orang ke arsitektur aplikasi berbasis klien-peladen. Sebagai reaksi terhadap pembatasan *bandwidth* ini, beberapa aplikasi P2P mulai mengimplementasikan "protokol *obfuscation* (penyamaran)*"*, seperti enkripsi protokol BitTorrent. Teknik untuk mencapai "protokol *obfuscation*" melibatkan penghapusan sifat protokol yang mudah diidentifikasi, seperti urutan bita dan ukuran paket yang deterministik, dan mengubahnya sehingga seolah-olah acak. Solusi ISP untuk *bandwidth* tinggi adalah *caching* P2P, yakni ISP menyimpan bagian berkas yang paling banyak diakses oleh klien P2P untuk menghemat akses ke Internet.

## Referensi