Paglabas ng pandaigdigang desentralisadong file system na IPFS 0.6

Nai-publish paglabas ng isang desentralisadong file system IPFS 0.6 (InterPlanetary File System), na bumubuo ng isang global versioned file storage, na na-deploy sa anyo ng isang P2P network na nabuo mula sa mga participant system. Pinagsasama-sama ng IPFS ang mga ideyang dati nang ipinatupad sa mga system tulad ng Git, BitTorrent, Kademlia, SFS at Web, at kahawig ng iisang BitTorrent na "swarm" (mga kapantay na kalahok sa pamamahagi) na nagpapalitan ng mga bagay na Git. Ang IPFS ay nakikilala sa pamamagitan ng pagtugon sa pamamagitan ng nilalaman sa halip na sa pamamagitan ng lokasyon at mga arbitrary na pangalan. Ang reference na code sa pagpapatupad ay nakasulat sa Go at ipinamahagi ni sa ilalim ng mga lisensya ng Apache 2.0 at MIT.

Новая вСрсия ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ транспорта Π½Π° Π±Π°Π·Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° QUIC, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой надстройку Π½Π°Π΄ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ UDP, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… соСдинСний ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, эквивалСнтныС TLS/SSL. Π’ IPFS сокСт для ΠΏΡ€ΠΈΡ‘ΠΌΠ° UDP-соСдинСний автоматичСски запускаСтся Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ адрСсС ΠΈ сСтСвом ΠΏΠΎΡ€Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ транспорта Π½Π° Π±Π°Π·Π΅ TCP. QUIC примСняСтся ΠΊΠ°ΠΊ для входящих, Ρ‚Π°ΠΊ ΠΈ для исходящих соСдинСний, ΠΏΡ€ΠΈ этом ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ Π½ΠΎΠ²Ρ‹ΠΌ ΡƒΠ·Π»Π°ΠΌ Π² случаС нСдоступности QUIC осущСствляСтся ΠΎΡ‚ΠΊΠ°Ρ‚ Π½Π° использованиС TCP.

Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²ΠΎΠΌ стала ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ транспорта BANGAY, основанного sa protocol Ingay ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… libp2p, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ сСтСвого стСка для P2P-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ПослС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ согласования соСдинСния вСсь ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ участниками ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ΡΡ ΠΈ защищаСтся ΠΎΡ‚ ΠΏΠΎΠ΄ΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ.
NOISE ΠΏΡ€ΠΈΡˆΡ‘Π» Π½Π° смСну транспорту SECIO, Π½ΠΎ Π² качСствС ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ соСдинСний ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ·Π»Π°ΠΌΠΈ ΠΏΠΎΠΊΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ TLS 1.3. NOISE достаточно прост Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ позиционируСтся ΠΊΠ°ΠΊ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ транспорт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках программирования.

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС Ρ‚Π°ΠΊΠΆΠ΅ прСдоставлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ добавлСния собствСнных страниц Β«404 Not FoundΒ» ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° кодирования Base36, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ для Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² рСгистрС символов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² (ΠΏΡ€ΠΈ использовании Base32 ΠΊΠ»ΡŽΡ‡ΠΈ Ed25519 IPNS Π½Π° Π΄Π²Π° Π±Π°ΠΉΡ‚Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‚ Π»ΠΈΠΌΠΈΡ‚ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π°, Π° ΠΏΡ€ΠΈ Base36 Π²ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π»ΠΈΠΌΠΈΡ‚). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² настройки Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция
Β«pagsilipΒ«, которая опрСдСляСт список ΡƒΠ·Π»ΠΎΠ² для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, поддСрТания соСдинСния ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ с Ρ†Π΅Π»ΡŒΡŽ опрСдСлСния Β«Π»ΠΈΠΏΠΊΠΈΡ…Β» связСй ΠΌΠ΅ΠΆΠ΄Ρƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΏΠΈΡ€Π°ΠΌΠΈ.

Alalahanin na sa IPFS, ang link upang ma-access ang isang file ay direktang naka-link sa mga nilalaman nito at may kasamang cryptographic na hash ng mga nilalaman. Ang file address ay hindi maaaring palitan ng arbitraryong pangalan; maaari lamang itong magbago pagkatapos baguhin ang mga nilalaman. Katulad nito, imposibleng gumawa ng pagbabago sa isang file nang hindi binabago ang address (ang lumang bersyon ay mananatili sa parehong address, at ang bago ay maa-access sa pamamagitan ng ibang address, dahil ang hash ng mga nilalaman ng file ay magbabago). Isinasaalang-alang na ang file identifier ay nagbabago sa bawat pagbabago, upang hindi maglipat ng mga bagong link sa bawat pagkakataon, ang mga serbisyo ay ibinibigay para sa pag-link ng mga permanenteng address na isinasaalang-alang ang iba't ibang bersyon ng file (IPNS), o pagtatalaga ng alias sa pamamagitan ng pagkakatulad sa tradisyonal na FS at DNS (MFS (Mutable File System) at DNSLink).

Sa pamamagitan ng pagkakatulad sa BitTorrent, ang data ay direktang nakaimbak sa mga sistema ng mga kalahok na nagpapalitan ng impormasyon sa P2P mode, nang hindi nakatali sa mga sentralisadong node. Kung kinakailangan na makatanggap ng isang file na may ilang partikular na nilalaman, hahanapin ng system ang mga kalahok na mayroong file na ito at ipinapadala ito mula sa kanilang mga system sa mga bahagi sa ilang mga thread. Matapos i-download ang file sa kanyang system, ang kalahok ay awtomatikong nagiging isa sa mga punto para sa pamamahagi nito. Upang matukoy ang mga kalahok sa network kung kaninong mga node naroroon ang nilalaman ng interes ginamit ipinamahagi na hash table (DHT). Upang ma-access ang pandaigdigang IPFS FS, maaaring gamitin ang HTTP protocol o ang virtual na FS /ipfs ay maaaring i-mount gamit ang FUSE module.

Tumutulong ang IPFS na malutas ang mga problema tulad ng pagiging maaasahan ng storage (kung bumaba ang orihinal na storage, maaaring ma-download ang file mula sa mga system ng ibang user), paglaban sa censorship ng content (nangangailangan ng pagharang sa pagharang sa lahat ng user system na may kopya ng data) at pag-aayos ng access sa kawalan ng direktang koneksyon sa Internet o kung ang kalidad ng channel ng komunikasyon ay hindi maganda (maaari kang mag-download ng data sa pamamagitan ng mga kalapit na kalahok sa lokal na network). Bilang karagdagan sa pag-iimbak ng mga file at pagpapalitan ng data, maaaring gamitin ang IPFS bilang batayan para sa paglikha ng mga bagong serbisyo, halimbawa, para sa pag-aayos ng pagpapatakbo ng mga site na hindi nakatali sa mga server, o para sa paglikha ng mga ipinamamahagi. mga aplikasyon.

Paglabas ng pandaigdigang desentralisadong file system na IPFS 0.6

Pinagmulan: opennet.ru

Magdagdag ng komento