diterbitkeun ngaleupaskeun sistem file desentralisasi IPFS 0.6 (InterPlanetary File System), anu ngabentuk panyimpenan file versi global, disebarkeun dina bentuk jaringan P2P anu dibentuk tina sistem pamilon. IPFS ngagabungkeun gagasan samΓ©mΓ©hna dilaksanakeun dina sistem kayaning Git, BitTorrent, Kademlia, SFS na Web, sarta nyarupaan hiji "ngagimbung" BitTorrent tunggal (peers milu dina distribusi) exchanging objΓ©k Git. IPFS dibΓ©dakeun ku alamat ku eusi tinimbang ku lokasi sareng nami sawenang. Kodeu palaksanaan rujukan ditulis dina Go jeung disebarkeun ku handapeun Apache 2.0 jeung lisensi MIT.
ΠΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° Π½Π° Π±Π°Π·Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° CEPAT, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΡ Π½Π°Π΄ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ UDP, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠ΅ TLS/SSL. Π IPFS ΡΠΎΠΊΠ΅Ρ Π΄Π»Ρ ΠΏΡΠΈΡΠΌΠ° UDP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° ΡΠΎΠΌ ΠΆΠ΅ Π°Π΄ΡΠ΅ΡΠ΅ ΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΠΏΠΎΡΡΠ΅, ΡΡΠΎ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° Π½Π° Π±Π°Π·Π΅ TCP. QUIC ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ
, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΈΡΡ
ΠΎΠ΄ΡΡΠΈΡ
ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ Π½ΠΎΠ²ΡΠΌ ΡΠ·Π»Π°ΠΌ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ QUIC ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΊΠ°Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ TCP.
ΠΡΠΎΡΡΠΌ Π²Π°ΠΆΠ½ΡΠΌ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΠ°Π»Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π°ΡΠΈΡΡΠ½Π½ΠΎΠ³ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° SORA, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ dina protokol sora ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ
libp2p, ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ P2P-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΡΠ»Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π²Π΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΡΠΈΡΡΡΠ΅ΡΡΡ ΠΈ Π·Π°ΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΠΎΠ΄ΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ.
NOISE ΠΏΡΠΈΡΡΠ» Π½Π° ΡΠΌΠ΅Π½Ρ ΡΡΠ°Π½ΡΠΏΠΎΡΡΡ SECIO, Π½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ TLS 1.3. NOISE Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
ΡΡΡΠ°Π½ΠΈΡ Β«404 Not FoundΒ» ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Base36, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠΈΠΌΠ°Π»Π΅Π½ Π΄Π»Ρ Π±ΡΠΊΠ²Π΅Π½Π½ΠΎ-ΡΠΈΡΡΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
Π±Π΅Π· ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π² ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² (ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Base32 ΠΊΠ»ΡΡΠΈ Ed25519 IPNS Π½Π° Π΄Π²Π° Π±Π°ΠΉΡΠ° ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ Π»ΠΈΠΌΠΈΡ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π°, Π° ΠΏΡΠΈ Base36 Π²ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π»ΠΈΠΌΠΈΡ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ
Β«ngintipΒ«, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ·Π»ΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΡΠ΅Π»ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Β«Π»ΠΈΠΏΠΊΠΈΡ
Β» ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ ΠΏΠΈΡΠ°ΠΌΠΈ.
Γmut yΓ©n dina IPFS, tautan pikeun ngaksΓ©s file langsung dikaitkeun kana eusina sareng kalebet hash kriptografi tina eusina. Alamat file teu bisa diganti sawenang-wenang; eta ngan bisa robah sanggeus ngarobah eusi. Kitu ogΓ©, mustahil pikeun ngarobih file tanpa ngarobih alamatna (versi anu lami bakal tetep dina alamat anu sami, sareng anu Γ©nggal tiasa diaksΓ©s ngalangkungan alamat anu bΓ©da, sabab hash tina eusi file bakal robih). Nganggap yΓ©n identifier file robih unggal parobihan, supados henteu nransferkeun tautan Γ©nggal unggal waktos, jasa disayogikeun pikeun ngahubungkeun alamat permanΓ©n anu nganggap vΓ©rsi file anu bΓ©da-bΓ©da (IPNS), atanapi masihan landian ku analogi sareng FS tradisional sareng DNS (MFS (Mutable File System) jeung DNSLink).
Ku analogi sareng BitTorrent, data langsung disimpen dina sistem pamilon anu tukeur inpormasi dina modeu P2P, tanpa dihijikeun kana titik terpusat. Lamun perlu pikeun nampa file kalawan eusi nu tangtu, sistem manggihan pamilon anu boga file ieu sarta ngirimkeunana tina sistem maranΓ©hanana dina sababaraha bagian dina sababaraha threads. Saatos ngaunduh file kana sistemna, pamilon sacara otomatis janten salah sahiji titik distribusina. Pikeun nangtukeun pamilon jaringan dina titik nu eusi dipikaresep hadir digunakeun tabel hash disebarkeun (DHT). Pikeun ngakses IPFS FS global, protokol HTTP bisa dipakΓ© atawa virtual FS / ipfs bisa dipasang makΓ© modul FUSE.
IPFS ngabantosan ngabΓ©rΓ©skeun masalah sapertos rΓ©liabilitas panyimpen (upami panyimpenan asli turun, filena tiasa diunduh tina sistem pangguna sanΓ©s), rΓ©sistansi kana sΓ©nsor kontΓ©n (meungpeuk ngabutuhkeun meungpeuk sadaya sistem pangguna anu gaduh salinan data) sareng ngatur aksΓ©s. dina henteuna sambungan langsung ka Internet atawa lamun kualitas saluran komunikasi gorΓ©ng (anjeun bisa ngundeur data ngaliwatan pamilon caket dieu dina jaringan lokal). Salian nyimpen file sareng tukeur data, IPFS tiasa dianggo salaku dasar pikeun nyiptakeun jasa Γ©nggal, contona, pikeun ngatur operasi situs anu henteu kabeungkeut kana server, atanapi pikeun nyiptakeun anu disebarkeun. aplikasi.
sumber: opennet.ru