Paliwanag tungkol sa Peer-to-Peer Networks
Paliwanag tungkol sa Peer-to-Peer Networks
HomeMga Artikulo

Paliwanag tungkol sa Peer-to-Peer Networks

Intermediya
Published Sep 30, 2019Updated Apr 29, 2021
7m

Ano ang peer-to-peer (P2P)?

Sa computer science, ang peer-to-peer na network ay binubuo ng grupo ng mga kagamitan na sama-samang iniimbak at ibinabahagi ang mga file. Ang bawat kalahok na (node) ay nagsisilbi bilang isang indibidwal na peer. Lahat ng node ay may pantay na kapangyarihan at gumagampan ng parehong mga trabaho.

Sa financial technology, ang terminong peer-to-peer ay madalas na tumutukoy sa palitan ng mga cryptocurrency o digital assets sa pamamagitan ng isang distributed na network. Ang platapormang P2P ay nagbibigay ng kakayahan sa mga mamimili at nagbebenta na mag-trade nang hindi nangangailangan ng mga tagapamagitan. Sa ibang kaso, maaari ring magbigay ang mga website ng lugar para sa P2P na siyang magkokonekta sa mga nagpapautang at humihiram.

Ang arkitekturang P2P ay nababagay sa iba’t ibang mga use case, ngunit naging sikat ito noong 1990s kung kailan unang nilikha ang mga file-sharing na programa. Ngayon, ang mga P2P network ang nasa sentro ng karamihan sa mga cryptocurrency, na siyang bumubuo sa malaking bahagi ng industriyang blockchain. Ganunpaman, pinapakinabangan din sila sa ibang distributed na computing applications, kabilang ang mga web search engine, streaming na plataporma, online na marketplace, at ang InterPlanetary File System (IPFS) web protocol.


Paano gumagana ang P2P?

Sa madaling sabi, ang sistemang P2P ay pinapanatili ng distributed na network ng mga user. Kadalasan, wala silang central administrator o server dahil ang bawat node ay may hawak na kopya ng mga file at nagsisilbi pareho bilang isang kliyente at bilang isang server sa ibang mga node. Samakatuwid, ang bawat node ay makakapagdownload ng files mula sa ibang nodes o makakapag-upload ng files sa kanila. Ito ang kaibahan ng mga network na P2P sa mga mas tradisyunal na client-server na sistema, kung saan ang mga kliyente ang pumaparaan sa mga naidownload na files mula sa isang centralized na server.

Sa mga P2P na network, ang mga konektadong device ay nagbabahagi ng files na nakatago sa kanilang mga hard drive. Gamit ang mga software application na dinesenyo para mamagitan sa palitan ng mga datos, maaaring usisain ng mga user ay ang ibang mga device sa network para makahanap at makadownload ng files. Oras na madownload ng user ang isang file, nagsisilbi na silang source ng file na iyon.

Ganun din, kapag ang isang node ay nagsilbi bilang isang kliyente, makakapagdownload sila ng files mula sa ibang nodes ng network. Ngunit kung sila ay nagsisilbi bilang isang server, sila ang magiging source kung saan maaaring makapagdownload ng files ang ibang mga node. Ganunpaman, nakasanayan na ang parehong tungkulin ay maaaring gampanan nang sabay (halimbawa ang pagdownload sa file A, at pag-upload sa file B).

Dahil ang bawat node ay nagtatago, nagpapadala, at tumatanggap ng mga file, ang mga P2P network may posibilidad na maging mas mabilis at mas mahusay habang lumalaki ang kanilang user base. Bukod pa rito, ang kanilang distributed na arkitektura ay nagbibigay ng kakayahan sa mga sistemang P2P na malabanan ang mga cyberattack. Di tulad ng mga tradisyunal na model, walang puwang sa pagkakamali ang mga P2P na network.

Maari nating ikategorya ang mga peer-to-peer na sistema base sa kanilang arkitektura. Ang tatlong pangunahing uri nito ay tinatawag na unstructured, structured, at hybrid na mga P2P network.


Mga unstructured na P2P network

Ang mga unstructured na P2P network ay hindi nagpapakita ng partikular na ayos ng mga node. Nag-uusap ang mga kalahok sa hindi organisadong paraan. Ang mga sistemang ito ay itinuturing na matatag laban sa mataas na churn activity (tulad ng madalas na pagsali at pag-alis ng ilang mga node sa network).

Bagamat mas madaling buuin, ang mga unstructured na P2P network ay maaaring mangailangan ng mas malakas na CPU at mas malaking gamit ng memory dahil ang mga search query ay ipinapadala sa pinakamataas na posibleng bilang ng mga peer. May tiyansa itong bahain ang network ng mga query, lalo kung iniaalok ng maliit na bilang ng nodes ang nagustuhang content.


Mga structured na P2P network

Sa kabilang banda, ang mga structured na P2P network ay nagpapakita ng maayos na arkitektura na pinapayagang mahusay na makapaghanap ng files ang mga node, kahit na hindi inaalok ng marami ang content na ito. Madalas na nakakamit ito sa pamamagitan ng paggamit ng hash functions na nangangasiwa sa mga database na lookup.

Bagamat maaaring mas mahusay ang mga structured na network, may posibilidad na magpakita ang mga ito ng mataas na lebel ng centralization, at kadalasang nangangailangan ng mas malaking setup at gastos sa pagpapanatili. Maliban doon, mas hindi matatag ang mga structured na network kapag kinakaharap ang mataas na antas ng churn.


Mga hybrid na P2P network

Pinagsasama ng mga hybrid na P2P network ang mga kombensyonal na client-server na modelo sa mga aspeto ng arkitekturang peer-to-peer. Halimbawa, maaari itong magdisenyo ng central server na nangangasiwa sa koneksyon sa pagitan ng mga peer.

Kung ikukumpara sa dalawang iba pang uri, ang mga hybrid na modelo ay may posibilidad na magpresenta ng mas magandang performance sa kabuuan. Kadalasang pinagsasama nila ang ilang kalamangan ng bawat approach para makamit ang malaking antas ng kahusayan at decentralization nang sabay.


Distributed kumpara sa decentralized

Bagamat ang arkitekturang P2P ay likas na distributed, mahalagang tandaan na may iba’t ibang antas ng decentralization. Kaya naman, hindi lahat ng mga P2P network ay decentralized. 

Sa katunayan, maraming sistema ang nakadepende sa central authority para gabayan ang aktibidad sa network, kaya’t nagiging centralized ito kahit papaano. Halimbawa, pinapayagan ng ilang P2P file-sharing na sistema ang mga user na makapag-search at makapagdownload ng files mula sa ibang mga user, ngunit hindi sila makakasali sa ibang proseso tulad ng pangangasiwa ng mga search query.

Dagdag pa rito, ang mga maliliit na network na kontrolado ng limitadong user base na may iisang layunin ay masasabi ring may mataas na antas ng decentralization, sa kabila ng kakulangan sa centralized na imprastraktura ng network.


Ang papel ng P2P sa mga blockchain

Sa mga unang yugto ng Bitcoin, tinukoy ito ni Satoshi Nakamoto bilang isang “Peer-to-Peer Electronic Cash System.” Ginawa ang Bitcoin bilang isang digital na uri ng pera. Maaari itong ilipat mula sa isang user papunta sa isa pa sa pamamagitan ng isang P2P na network na nangangasiwa ng isang distributed ledger na tinatawag na blockchain.
Sa kontekstong ito, ang arkitekturang P2P na likas sa teknolohiyang blockchain ang nagbibigay ng kakayahan sa Bitcoin at iba pang cryptocurrency na maipadala sa anumang bahagi ng mundo nang hindi nangangailangan ng tagapamagitan o ng anumang central server. Dagdag pa rito, kahit sino ay maaaring magtayo ng isang Bitcoin na node kung gugustuhing sumali sa proseso ng pagberipika at pag-validate ng blocks.

Samakatuwid, walang mga bangkong nagpoproseso o nagtatala ng mga transaksyon sa Bitcoin na network. Sa halip, nagsisilbi ang blockchain bilang isang digital na ledger na pampublikong itinatala ang lahat ng aktibidad. Sa madaling salita, ang bawat node ay may hawak na kopya ng blockchain at ikinukumpara ito sa iba pang node para tiyaking tama ang mga datos. Mabilis na tinatanggihan ng network ang anumang kahina-hinalang aktibidad o kamalian.

Sa konteksto ng cryptocurrency na blockchain, maaaring gampanan ng mga node ang iba’t ibang uri ng tungkulin. Halimbawa, ang mga full node ay iyong mga nagbibigay ng seguridad sa network sa pamamagitan ng pagberipika ng mga transaksyon laban sa mga napagpasyahang panuntunan ng sistema.
Ang bawat buong node ay nagpapanatili ng kumpleto at napapanahong kopya ng blockchain na siyang nagbibigay ng kakayanan para makasali sila sa kolektibong trabaho ng pagbeberipika ng tunay na katayuan ng distributed na ledger. Ganunpaman, mahalagang tandaan na hindi lahat ng mga buong node na nagva-validate ay mga miner.


Mga benepisyo

Nagbibigay ng maraming benepisyo ang peer-to-peer na arkitektura ng mga blockchain. Kabilang sa pinakamahalaga ang katotohanan na ang mga P2P na network ay nag-aalok ng mas magandang seguridad kaysa sa mga tradisyunal na client-server arrangement. Ang distribusyon ng blockchain sa malaking bilang ng node ang dahilan kung bakit hindi ito tinatablan ng Denial-of-Service (DoS) na mga atake na pumeperwisyo sa maraming sistema.
Gayun din, dahil ang karamihan sa mga node ay kinakailangang magkasundo bago makapagdagdag ng datos sa isang blockchain, halos imposible para sa isang attacker na magbago ng datos. Totoo ito lalo na sa mga malalaking network tulad ng sa Bitcoin. Ang mga maliliit na blockchain ay mas madaling tablan ng pag-atake dahil ang isang tao o grupo ay maaaring magkaroon ng kontrol sa karamihan sa mga node (kilala ito bilang 51 percent attack).
Bilang resulta, ang distributed na peer-to-peer na network, kasama ng pangangailangan ng pagsang-ayon ng marami, ang nagbibigay sa blockchain ng mataas na antas ng paglaban sa kahina-hinalang aktibidad. Ang P2P na modelo ang isa sa mga dahilan kung bakit kayang makamit ng Bitcoin (at ng ibang blockchain) ang tinatawag na Byzantine fault tolerance.

Higit sa seguridad, ang paggamit ng arkitekturang P2P sa mga cryptocurrency na blockchain ay dahilan kung bakit hindi ito tinatablan ng censorship ng central authorities. Di tulad ng karaniwang mga bank account, ang mga cryptocurrency wallet ay maaaring ma-freeze o ma-drain ng mga gobyerno. Ang kakayahang ito ay umaabot din sa pag-censor ng mga pribadong plataporma ng payment processing at content. Tinatangkilik na ng ilang mga gumagawa ng content at online na merchant ang cryptocurrency na bayad bilang paraan para makaiwas sa mga third party na iblock ang kanilang mga bayad.


Mga limitasyon

Sa kabila ng maraming benepisyo, ang paggamit ng mga P2P na network sa blockchain ay mayroon ding ilang limitasyon.

Dahil kinakailangang ma-update ang mga distributed ledger sa bawat indibidwal na node imbes na sa isang central server, ang pagdagdag ng mga transaksyon sa blockchain ay nangangailangan ng malaking computing power. Bagamat nagbibigay ito ng karagdagang seguridad, higit nitong napapababa ang kahusayan at isa ito sa malaking hadlang pagdating sa scalability at malawak na pagtanggap. Ganunpaman, sinusuri ng mga cryptographer at mga developer ng blockchain ang mga alternatibo na maaaring magamit bilang solusyon sa scaling. Kabilang sa mga kilalang halimbawa ang Lightning NetworkEthereum Plasma, at ang Mimblewimble na protocol.
Isa pang potensyal na limitasyon ay may kaugnayan sa mga attack na maaaring lumitaw kapag may hard fork na kaganapan. Dahil karamihan sa mga blockchain ay decentralized at open source, ang mga grupo ng node ay malayang kopyahin at baguhin ang code at humiwalay mula sa main chain para bumuo ng bago at parallel na network. Normal at hindi banta ang mga hard fork. Ngunit kung hindi maayos na nagamit ang ilang paraan ng seguridad, ang parehong chain ay maaaring maging mahina sa replay attacks.

Dagdag pa rito, ang distributed na katangian ng mga P2P na network ang dahilan kung bakit may kahirapan itong kontrolin at pangasiwaan, hindi lang sa aspeto ng blockchain. Ang ilang mga P2P na application at mga kumpanya ay nasangkot na sa mga ilegal na aktibidad at paglabag sa copyright.


Pangwakas na ideya

Ang peer-to-peer na arkitektura ay maaaring mapaunlad at magamit sa iba’t ibang paraan, at ito ay nasa sentro ng mga blockchain na ginagawang posible ang mga cryptocurrency. Sa pamamagitan ng pagpapakalat ng mga ledger ng mga transaksyon sa malaking network ng mga node, iniaalok ng arkitekturang P2P ang seguridad, decentralization, at paglaban sa censorship.

Dagdag sa pagiging kapaki-pakinabang ng teknolohiyang blockchain, maaari ring magsilbi ang mga sistemang P2P sa ibang distributed na mga computing application, saklaw ang mga file-sharing na network hanggang sa mga energy trading na plataporma.