Выпуск глобальной Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы IPFS 0.7

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ выпуск Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы IPFS 0.7 (InterPlanetary File System), ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰Π΅ΠΉ глобальноС вСрсионированноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚ΠΎΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅ P2P-сСти, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ· систСм участников. IPFS ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ΄Π΅ΠΈ, Ρ€Π°Π½Π΅Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°ΠΊΠΈΡ… систСмах, ΠΊΠ°ΠΊ Git, BitTorrent, Kademlia, SFS ΠΈ Web, ΠΈ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ «Ρ€ΠΎΠΉ» BitTorrent (ΠΏΠΈΡ€Ρ‹, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Ρ€Π°Π·Π΄Π°Ρ‡Π΅), ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ Git-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. IPFS отличаСтся адрСсациСй ΠΏΠΎ содСрТимому, Π° Π½Π΅ мСсту размСщСния ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ. Код эталонной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ написан Π½Π° языкС Go ΠΈ распространяСтся ΠΏΠΎΠ΄ лицСнзиями Apache 2.0 ΠΈ MIT.

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ транспорта SECIO, Π½Π° смСну ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ выпускС Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ транспорт NOISE, основанный Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅ Noise ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ сСтСвого стСка для P2P-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ libp2p. Π’ качСствС запасного транспорта оставлСн TLSv1.3. Администраторам ΡƒΠ·Π»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… старыС вСрсии IPFS (Go IPFS < 0.5 ΠΈΠ»ΠΈ JS IPFS < 0.47) рСкомСндуСтся ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ПО для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ сниТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии Ρ‚Π°ΠΊΠΆΠ΅ осущСствлён ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° использованиС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ed25519 вмСсто RSA. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° старых RSA-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ сохранСна, Π½ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄ΡƒΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ed25519. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ встроСнных ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ed25519 Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ подписанных Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ использовании ed25519 достаточно ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ PeerId. ИмСна ΠΊΠ»ΡŽΡ‡Π° Π² IPNS-путях Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ кодируСтся с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° base36 CIDv1 вмСсто base58btc.

Помимо смСны Ρ‚ΠΈΠΏΠ° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² IPFS 0.7 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Для смСны ΠΊΠ»ΡŽΡ‡Π° ΡƒΠ·Π»Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «ipfs key rotate». ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈ экспорта ΠΊΠ»ΡŽΡ‡Π΅ΠΉ («ipfs key import» ΠΈ «ipfs key export»), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ с Ρ†Π΅Π»ΡŒΡŽ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° «ipfs dag stat» для Π²Ρ‹Π²ΠΎΠ΄Π° статистики ΠΎ DAG (Distributed Acyclic Graphs).

Напомним, Ρ‡Ρ‚ΠΎ Π² IPFS ссылка для доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ нСпосрСдствСнно связана с Π΅Π³ΠΎ содСрТимым ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ криптографичСский Ρ…ΡΡˆ содСрТимого. АдрСс Ρ„Π°ΠΉΠ»Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС измСнСния содСрТимого. Аналогично Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ внСсти ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ» Π±Π΅Π· измСнСния адрСса (старый Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ останСтся Π½Π° ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌ адрСсС, Π° Π½ΠΎΠ²Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ доступСн Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΎΠΉ адрСс, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ…ΡΡˆ ΠΎΡ‚ содСрТимого Ρ„Π°ΠΉΠ»Π° измСнится). Учитывая Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ„Π°ΠΉΠ»Π° мСняСтся ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ссылки ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ сСрвисы для привязки постоянных адрСсов, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии Ρ„Π°ΠΉΠ»Π° (IPNS), ΠΈΠ»ΠΈ закрСплСния псСвдонима ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ Π€Π‘ ΠΈ DNS (MFS (Mutable File System) ΠΈ DNSLink).

По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с BitTorrent Π΄Π°Π½Π½Ρ‹Π΅ нСпосрСдствСнно хранятся Π½Π° систСмах участников, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ P2P, Π±Π΅Π· привязки ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΡƒΠ·Π»Π°ΠΌ. ΠŸΡ€ΠΈ нСобходимости ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ содСрТимым систСма Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ участников, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… имССтся Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ ΠΎΡ‚Π΄Π°Ρ‘Ρ‚ Π΅Π³ΠΎ с ΠΈΡ… систСм частями Π² нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° Π½Π° свою систСму участник автоматичСски становится ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠΎ Π΅Π³ΠΎ Ρ€Π°Π·Π΄Π°Ρ‡Π΅. Для опрСдСлСния участников сСти Π½Π° ΡƒΠ·Π»Π°Ρ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… присутствуСт ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ распрСдСлённая Ρ…ΡΡˆ Ρ‚Π°Π±Π»ΠΈΡ†Π° (DHT). Для доступа ΠΊ глобальной Π€Π‘ IPFS ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» HTTP ΠΈΠ»ΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Π€Π‘ /ipfs ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ модуля FUSE.

IPFS ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊΠ°ΠΊ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ хранСния (Ссли исходноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ ΠΈΠ· строя, Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ с систСм Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ), противостояниС Ρ†Π΅Π½Π·ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° (для Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ потрСбуСтся Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС систСмы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… имССтся копия Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈ организация доступа ΠΏΡ€ΠΈ отсутствии прямого соСдинСния ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠΌ качСствС ΠΊΠ°Π½Π°Π»Π° связи (ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… участников Π² локальной сСти). ΠšΡ€ΠΎΠΌΠ΅ хранСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ IPFS ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ основа для создания Π½ΠΎΠ²Ρ‹Ρ… сСрвисов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сайтов, Π½Π΅ привязанных ΠΊ сСрвСрам, ΠΈΠ»ΠΈ для создания распрСдСлённых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Выпуск глобальной Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы IPFS 0.7

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ