IPFS: различия между версиями
Нет описания правки |
Malw (обсуждение | вклад) м Malw переименовал страницу Для редакторов:IPFS в IPFS |
||
(не показано 12 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
IPFS — распределённая | '''IPFS (InterPlanetary File System)''' — распределённая файловая система без цензуры с бессрочным хранением данных и открытым исходным кодом, доступ к которой осуществляется через специализированные шлюзы<ref>[https://ipfs.github.io/public-gateway-checker/ Чекер доступности шлюзов]</ref> . Представляет собой что-то среднее между торрентом и облаком, а точнее является децентрализованным облаком, информация в котором распределена между узлами, а не между серверами. | ||
= Ключевые особенности = | |||
Облака — | Облака — MEGA, Google Диск и все прочие подвержены цензуре, любая информация может быть удалена. Она также может быть потеряна, если случится поломка серверов или остановка сервиса. В противоположность этому, вся информация, выложенная на IPFS, '''остаётся там навсегда''', рециркулируя по узлам сети<ref>[https://discuss.ipfs.tech/t/can-i-delete-my-content-from-the-network/301 Пояснение про постоянство информации от одного из специалистов]</ref>. | ||
Однако тот, кто выложил информацию на IPFS, может понести ответственность: файлы, хотя и обезличенные, сами по себе никак не шифруются. Поэтому, хотя и есть техническая возможность, хранить на IPFS запрещённую информацию крайне не рекомендуется, как и в обычных облаках. И уж тем более не стоит хранить на IPFS список паролей. | |||
Исключением из правила невмешательства являются шлюзы; они могут налагать собственные ограничения, например чтобы компенсировать нагрузку на себя, как было с Pinata.cloud. С точки зрения сохранности загруженных данных, более надёжного хранилища не существует, что способно помочь во многих ситуациях. | |||
Другая интересная особенность IPFS: он предоставляет прямые ссылки на скачивания файлов, в отличие от популярных облачных сервисов. Это делает IPFS популярным среди разработчиков, ведь он позволяет читать файлы программам, что широко используется в браузерных расширениях. | |||
Для тех, кто впервые слышит об IPFS, его структура может показаться очень непривычной: файлы в системе обозначаются через CID (Content IDentifier), начинающийся на bafy. Каждый файл имеет только одно обозначение CID, навсегда остающееся неизменным, невозможно заменить один файл другим через обновление, что является нормой в других облаках. Даже после удаления файла (что имеет значение для консолей взаимодействия с сетью, но не для самой сети), его идентификатор, а значит и ссылка на него в шлюзах, никак не изменится. Это обеспечивает постоянство всей информации, которая содержится в базе данных. | |||
[https://ipfs.io/ipfs/bafybeiejkem2yl6qbdfl5oeypcm3p4z2nvvqrbzwjtcf622f3x3zygagoa/ Пример ссылки на файл в IPFS] | |||
# Пройдите регистрацию на сайте https://web3.storage/. Бесплатный лимит в нём — 5 гигабайт, но стоит помнить, что это всего лишь консоль, предоставляющая быстрый доступ | |||
# Через https://console.web3.storage/ загрузите файл и получите его CID (bafy...). Если вам нужно загрузить несколько файлов, выбирайте загрузку директории (среди вариантов File, Directory, CAR выбираете второй). Файл будет доступен по ссылке вида https://ipfs.io/ipfs/ВашCID/НазваниеФайла, директория — то же самое, но без названия файла в конце. | Для изменения файлов используется не менее сложная система — '''IPNS''' (InterPlanetary Naming System), смысл которой заключается в том, чтобы вернуть отнятую возможность обновлять файлы, не изменяя при этом саму суть IPFS (хранить все файлы неизменными). В отличие от IPFS, ссылки IPNS, указывающие на файлы в сети, не являются вечными, имея период валидности, который пользователь назначает самостоятельно (может длиться достаточно долго, например 30 лет). | ||
# Для создания IPNS ссылки используйте [https://ipns.ipfs.network IPNS Record Inspector & Creator] и выберите create record. Сайт на момент написания статьи является очень свежей разработкой (начало 2025 года), [https://github.com/ipshipyard/ipns-inspector | |||
# В значении Value добавьте CID от | Из-за такой громоздкой структуры в IPFS/IPNS может быть трудно разобраться новичкам. Тем же, кто напротив хочет разобраться больше всех остальных, стоит установить IPFS в виде официальной программы [https://github.com/ipfs/kubo kubo] (только командная строка), позволяющей открыть и поддерживать собственный узел, а также продвинуто взаимодействовать с сетью. Существует и [https://github.com/ipfs/ipfs-desktop графический клиент], способный безлимитно загружать в IPFS файлы, но он имеет далеко не все возможности. | ||
# В inspect record вставьте созданный вами ранее IPNS Name, составляющий тело вашей ссылки; он должен выдать вам корректные данные о ссылке, создали ли вы её или обновили. IPNS ссылка будет иметь вид https://ipfs.io/ipns/ВашIPNSname/НазваниеФайла и способна перенаправлять на различные файлы внутри IPFS, не давая данным устаревать: вы можете сменить CID, а IPNS ссылка останется той же самой. | |||
= Пример использования = | |||
# Пройдите регистрацию на сайте https://web3.storage/. Бесплатный лимит в нём — 5 гигабайт, но стоит помнить, что это всего лишь консоль, предоставляющая быстрый доступ. | |||
# Через https://console.web3.storage/ загрузите файл и получите его CID (bafy...). Если вам нужно загрузить несколько файлов, выбирайте загрузку директории (среди вариантов File, Directory, CAR выбираете второй). Файл будет доступен по ссылке вида <code><nowiki>https://ipfs.io/ipfs/ВашCID/НазваниеФайла</nowiki></code>, директория — то же самое, но без названия файла в конце. | |||
# Для создания IPNS ссылки используйте [https://ipns.ipfs.network/ IPNS Record Inspector & Creator] и выберите create record. Сайт на момент написания статьи является очень свежей разработкой (начало 2025 года), его [https://github.com/ipshipyard/ipns-inspector создатели] замечательные люди. Сгенерируйте private key, обязательно сохраните его и никому не показывайте — он будет использоваться для обновления IPNS ссылки, являясь вашим паролем от неё. После его создания одновременно будет подобран публичный IPNS Name. | |||
# В значении Value добавьте CID от нужного IPFS файла, а значение Validity, обозначающее срок действия IPNS ссылки, лучше завышать — сам сайт предлагает выдать ему срок, равный максимум одному году в миллисекундах, но если вы вставите туда 946684800000, то это будет ровно 30 лет. | |||
# В inspect record вставьте созданный вами ранее IPNS Name, составляющий тело вашей ссылки; он должен выдать вам корректные данные о ссылке, создали ли вы её или обновили. IPNS ссылка будет иметь вид <code><nowiki>https://ipfs.io/ipns/ВашIPNSname/НазваниеФайла</nowiki></code> и способна перенаправлять на различные файлы внутри IPFS, не давая данным устаревать: вы можете сменить CID, а IPNS ссылка останется той же самой. | |||
# Для обновления содержимого IPNS ссылки повторно пройдите её создание через create record, с тем условием, что теперь вы не генерируете приватный ключ, а импортируете старый. Вам нужно поменять CID от IPFS файла, а также убедиться через inspect record, что изменения применились. | # Для обновления содержимого IPNS ссылки повторно пройдите её создание через create record, с тем условием, что теперь вы не генерируете приватный ключ, а импортируете старый. Вам нужно поменять CID от IPFS файла, а также убедиться через inspect record, что изменения применились. | ||
Всё готово. Остальное изучение IPFS вам стоит пройти самостоятельно под различные сценарии его использования, благо на него имеется | Всё готово. Остальное изучение IPFS вам стоит пройти самостоятельно под различные сценарии его использования, благо на него имеется [https://docs.ipfs.tech/ обширная документация]. Самое сложное, что можно делать внутри IPFS — хостить целые сайты<ref>[https://ipfs.io/ipfs/bafybeiaysi4s6lnjev27ln5icwm6tueaw2vdykrtjkwiphwekaywqhcjze Зеркало Википедии внутри IPFS]</ref>. | ||
== Примечания == | == Примечания == |