Comments 36
Или я просто не разобрался со всем функционалом и удаление/редактирование своих файлов возможно?
IPFS это content addressed storage (cas), то есть "редактирование" в принципе невозможно. Удаление это другой вопрос, в принципе, удаление возможно, так как кэш блоков данных иногда очищается на каждом узле, но если кто-то успел за-pin-ить ваш файл, то уже невозможно.
Ну, например, скорость отклика центрального гейтвея gateway.ipfs.io, видимо, сервера перегружены, ощущение, что ждёшь файл с сервера на Луне или на Марсе.
Я хотел картиночку наверху статьи захостить на их сервисе Ipfs.pics. Тот мне показал красного рака и сказал что сервера перегружены а это было ночью.
В общем клиент ещё надо допиливать чтоб работал быстрее и качественнее.
Это всё понятно. Но пока нет возможности включить свой шлюз в список публичных и доверенных, чтобы он мог принять на себя посильную часть нагрузки. Всем нужен только https://ipfs.io, а сами они не хотят делиться нагрузкой.
Но никто не запрещает выставить свой шлюз наружу.
Не вышло бы ситуации, что ради надежности сильно жертвуют комфортом простых юзеров. Свой гейтвей это решение отличное от умолчания, а значит сильно не для всех.
Недавно обнаружил "ipfs public gateway checker" так что теперь можно включить свой шлюз в список публичных.
Это название — дань памяти идеям Дж. К. Р. Ликлайдера о «межгалактическом» Интернете.
zeronet например завершенный продукт, все очевидно и юзабельно. WebTorrent и CacheP2P интегрируются в броузер и уже работают. А это?
Или применение этой системе найдется только когда станут массовыми межпланетные перелеты? :)
Реквестирую рассказ про ipns и версии файлов.
Есть уже эксперементальный загрузчик TAR файлов в сеть который делит tar на файлы. Файлы из архива при этом становятся доступны из сети отдельно но tar можно собрать по хэшу может собрать только та же утилита.
Не рекомендую эксперементировать с большими TAR файлами так как сейчас клиент их полностью грузит в память перед хешированием. В исходниках это уже исправили и я скомпилировал себе новый клиент.
На сколько я себе представляю это должно выглядеть так. По мультихешу публичного ключа находится публичный ключь и мультихеш подписанный этим ключём. Далее уже используется второй мультихеш.
Версии файлов.
Если выгрузить из сети большой файл и изменить его часть то поменяют хеш те блоки в которых прошли изменения. При загрузке файл изменит корневой хеш но некорые блоки файла могут быть с тем же что и у старой версии и они могут быть источниками друг для друга.
Для редактирования каталогов нет необходимости выгружать их из сети. Клиент предоставляет необходимые инструменты.
Если я всё правильно понял, даже если полностью файла найти не удаётся, ipfs ищет любые кусочки, ассоциированные с ним, скачивает их и собирает требуемый файл (уже как bittorrent). Что может быть очень полезно при изоляции сегмента сети.
В bittorrent оно так же решено через DHT.
Shareaza в создаваемые ей торренты добавляет sha1, ed2k, tth хеши для каждого файла что позволяет их скачать из других сетей. Но умеет качать торрент из других p2p сетей только она и то только для однофайлового торрента.
Кстати, кому интересна тема IPFS, могут ознакомиться с моей статьёй и проектом https://habrahabr.ru/post/310554/
Межпланетная файловая система IPFS