Как стать автором
Обновить

Комментарии 15

У IPFS есть две независимые реализации, на Go и JS,
Это всё баловство пока на нормальных языках (C/C++/Rust?) не перепишут.

чем JS и Go не нормальны? JS вполне быстр на данный момент, тем более в БД все упирается в ввод/вывод который никак не аффектится хоть на ассемблере пиши.

в статье про задумчивость и память не зря написано, подумал, что из за реализации
Похоже на минное поле? Осталось только добавить, что все операции записи пока должны выполняться синхронно. Вроде как пропускной способности хватает с запасом, но помнить нужно.
Вот это очень непонятно. Операции ведь асинхронные судя по await, имеется ввиду что их не нужно выполнять параллельно на одной БД? Тогда при чем тут пропускная способность? А минное поле?

Кот-то где-то в реальных проектам этим пользуется ну хотябы IPFS.
Было бы очень интересно почитать про реальные кейсы.

Вроде бы то, что надо, для хранения книг (а-ля флибуста). Может кто-нибудь уже что-то такое делает?

Про распределённость хранения данных через IPFS многие пишут.
Но как эту распределённость (в любой системе — хоть в IPFS, хоть не в IPFS) реально создать?
Это надо запустить кучу нод. А кто их будет запукать?
Вот ваяет разработчик, например, сайт и хочет некоторые ресурсы в сайт (например, картинки) грузить из IPFS.
Ну на свой-то сервер он ноду, конечно, установил и в < IMG SRC=href > все href в IPFS-виде как-то указал. Но откуда возьмётся распределённость хранения его изображений, если ноду одну-единственную установил только разработчик сайта? Кто поднимет ноды в браузерах пользователей? Не будут же пользователи сайта устанавливать ноды на свои компьютеры? Слышал что-то про IPFS в браузере Brave. Но не понятно — как конкретно сделать загрузку, например картинок, в сайт из IPFS так, чтобы картинки хранились действительно на множестве нод, а не только на ноде, которую на своём сервере поднял разработчик сайта...

Но откуда возьмётся распределённость хранения его изображений

  1. Пользоватерь может поставить узел у себя и то что он смотрит через шлюз узла будет кешироватся у него и раздаватся другим узлам.
  2. Разработчик может встроить в сайт js-ipfs узел и он запустится в браузере пользователя.
  3. Разработчик может хостить свой сайт через чужой публичный шлюз (например Cloudflare-IPFS.com). Я так и делаю с некоторыми сайтами. В случае если какие то ресурсы не грузятся с дефолтного шлюза они подгружаются с других публичных шлюзов с проверкой хэша.
Пользоватерь может поставить узел у себя
и то что он смотрит через шлюз узла будет
кешироватся у него и раздаватся другим узлам.

Проблема в том, что пользователь сайта даже на сайт-то с трудом зайдёт потому, что нынче все пользователи разбежались по инстаграмчикам да телеграмчикам с вацапчиками впридачу. А уж заставить его установить к себе какую-то непонятную ему ноду — тем более проблематично. Так что вариант, в котором ноду себе поставит пользователь, мне видится почти невозможным.


Разработчик может встроить в сайт js-ipfs
узел и он запустится в браузере пользователя.

Вот это хороший вариант. Пользователя заставлять и даже просить не надо установить себе ноду. Вот таким способом я себе и представляю установку ноды в браузере пользователя разработчиком сайта.
Но как конкретно это делать?
Я думал, что надо подключить какую-то библиотеку типа


<SCRIPT SRC=библиотека-для-нод.js>

и затем джаваскриптом в браузере как_то_ноду.включить()
Ходил почитать про это куда-то в район js ipfs (точный адрес непомню), а там опять предлагают установить ноду на компьютер, а не подключить js-библиотеку к html-странице.

Ну так это сеть сделанная людьми для людей — хотите увеличить велью — способствуйте, запускайте ноду, к примеру.

Тут (https://arxiv.org/pdf/2002.07747.pdf) говорят, что в прошлом году где-то 45К нод было — и как-бы вполне много народу запускает
хотите увеличить велью — способствуйте,
запускайте ноду, к примеру

Разработчик сайта на своём сервере ноду-то запустит.
И после этого клиенты смогут вытаскивать файлы из каких нод? Только из ноды разработчика. А почем только из его ноды, а не с других? Потому, что другим нодам файлы его ноды не нужны и их там значит нет. А в таком случае и нода межпланетная не нужна, т.к. быстрее и проще файлы отдать прямо с веб-сервера через хттп.


Как сделать получение клиентами файлов не с одной ноды, а из множества нод? Для этого множество нод должно файлы с ноды разработчика себе накачать. А как заставить другие ноды выкачать файлы с ноды разработчика? Администраторы (управители) других нод наверно должны своим нодам дать соответствующие указания, чтобы их ноды начали выкачивать к себе файлы сперва из ноды разработчика, а затем эти же файлы и друг от друга, ну точнее — с любых нод, где они их только смогут нашукать.


Администраторы нод безпричинно не будут накачивать себе файлы из ноды разработчика какого-то сайта. Выкачивать файлы из ноды разработчика будут только заинтересованные в этом ноды. А заинтересованы в этом ноды только пользователей сайта. Но пользователи сами себе ноды устанавливать не будут. Для них сайт — это в лучшем случае то, что они увидели по ссылке в гугле, перешли на него, немного потусовались на нём да свалили с него. Какие им там ещё ноды? А в худшем случае сайтами современные пользователи называют вообще свои инстаграмские аккаунты. Так и говорят — у нас есть сайт в инстаграме.


Поэтому установка нод у пользователей — это дело непосредственно разработчика сайта.


Понятно, что на компьютеры пользователей разработчик сайта никакие программы не установит. Остаётся ему работать только в пространстве браузера. Была по этому поводу слабая надежда на то, что запустить ноду в загруженной браузером странице можно через джаваскрипт какой-нибудь хитро-командой, жизнь которой даёт либо подключенная тегом script src=… какая-нибудь ipfs-библиотека, либо существование таких готовых джава-скрипт-решений в браузере Brave, о котором недавно объявили, что он, дескать, начал уметь работать с IPFS. Но в этом направлении у разработчиков сайтов по прежнему остаётся какой-то туман вместо ясного представления и понимания о том, как из браузера можно загружать ресурсы не с веб-серверов, а из сети IPFS.

амм, по моему, вы не до конца разобрались, как работает IPFS и какая роль ноды.
На android можно поднять ноду? Свисток для телевизора постоянно включен, и потребляет немного.
Осталось ещё Serverless Functions типа Lambda под IPFS написать )
Зарегистрируйтесь на Хабре , чтобы оставить комментарий