Ipfs ipns opera что это
Перейти к содержимому

Ipfs ipns opera что это

  • автор:

Что такое IPFS/IPNS ?

Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.

sergik2017 отредактировано Что делать с новой настройкой в Опере?
Настройки — Дополнительно — IPFS/IPNS
Gateway dweb.link
The host name of the gateway used to resolve IPFS/IPNS addresses
Что это и что с этим делать?
Оставить так как есть или изменить что-то?

fonm отредактировано IPFS

keks6067 @sergik2017 отредактировано keks6067 @sergik2017 Это хранилище файлов по типу блокчейна, первоначально было создано для криптовалюты, если не использовать, то и включать не нужно.

Opera Снимок_2021-04-28_020137_settings.jpg

sergik2017 @keks6067 отредактировано sergik2017 @keks6067
Я не нашёл способа включить или выключить IPFS/IPNS У строчки Экономии батареи есть ползунок, а тут нет.

fonm @sergik2017 отредактировано @sergik2017
opera://flags/#ipfs

Межпланетная файловая система — Переключаем свой сайт на localhost (локальный шлюз IPFS)

Мало смысла в IPFS, если использовать его только как бесплатный хостинг для сайта в сети интернет. Поэтому мы научимся здесь загружать наш сайт через локальный IPFS шлюз пользователя.

Пользователю это даст быстрый доступ к его локальной копии нашего сайта.

Напомню: InterPlanetary File System — это новая децентрализованная сеть обмена файлами (HTTP-сервер, Content Delivery Network). О ней я начал рассказ в статье «Межпланетная файловая система IPFS».

Содержание

  1. Переключаем наш сайт
    1.1. DNS
    1.2. Скрипты и стили
    1.2.1. Проверяем локальный шлюз и переключаемся на него скриптом
    1.2.2. Определяем рабочий шлюз при помощи CSS
  2. Локализуем глобальный шлюз или сайты в IPFS

Переключаем наш сайт

DNS

У нашего сайта на данный момент уже есть как минимум 3 DNS записи:

A [Наш домен] [IP адрес хостинга] TXT [Наш домен] dnslink=/ipfs/[CID контента] TXT _dnslink.[Наш домен] dnslink=/ipfs/[CID контента]

Добавим к ним ещё 3:

A l.[Наш домен] 127.0.0.1 TXT l.[Наш домен] dnslink=/ipfs/[CID контента] TXT _dnslink.l.[Наш домен] dnslink=/ipfs/[CID контента]

[CID контента] — Это идентификатор контента (CID) раньше назывался мультихеш. Его мы получаем публикуя сайт командой ipfs add в сети IPFS.

Скрипты и стили

В HTML тегах script и link появились поля integrity и crossorigin. Они отвечают за проверку хеша до запуска скрипта или применения стилей. Их мы и используем для определения рабочего шлюза у посетителя сайта.

Расположить их лучше в конце страницы, чтобы они не задерживали загрузку и отображение.

Варианты адресов, которые нам надо проверить:

  1. http://l.[наш домен]:8080
    8080 это стандартный порт на котором по умолчанию запускается IPFS.
    Если всё настроено правильно, то с http-версии сайта браузер загрузит скрипт или стиль.
  2. https://l.[наш домен]:8443
    8443 это порт на который пользователь может настроить stunnel.
    Данный вариант нам понадобится, если запрос идёт с HTTPS сайта и наш домен добавлен в локальный сертификат.
  3. http://127.0.0.1:8080/ipns/[наш домен]
    Этот вариант на случай, если мы не задали l домен для нашего сайта и запрос идёт с http.
  4. https://127.0.0.1:8443/ipns/[наш домен]
    Этот вариант на случай запроса с https. Этот вариант сработает, если не задан l домен или не добавлен в локальный сертификат.

Аналогичным образом мы можем проверить порты 80 для http и 443 для https.

Проверяем локальный шлюз и переключаемся на него скриптом

Добавив этот скрипт к странице вашего сайта вы автоматически переключите посетителя на его локальный IPFS шлюз.

var redirect_to_local; /* Эта функция добавляет к текущему домену третьим уровнем домен ```l``` */ function l_hostname() < var l_hostname = window.location.hostname.split("."); l_hostname.splice(-2,0,"l"); return l_hostname.join("."); >/* Эта функция создаёт новый элемент script и с адресом скрипта, который должен загрузиться через локальный шлюз пользователя. Также она создаёт функцию, которая будет вызвана этим скриптом в случае удачной загрузки. В случае неудачи выполнится функция из переменной onerror, которая присваивается соответствующему полю элемента script. */ function add_redirect_script(prtocol, port, use_ip, onerror)< var script = document.createElement("script"); script.onerror = onerror; script.setAttribute("integrity", "sha384-dActyNwOxNY9fpUWleNW9Nuy3Suv8Dx3F2Tbj1QTZWUslB1h23+xUPillTDxprx7"); script.setAttribute("crossorigin", "anonymous"); script.setAttribute("defer", ""); script.setAttribute("async", ""); if ( use_ip ) script.setAttribute("src", prtocol+"//127.0.0.1:"+port+"/ipns/"+window.location.hostname+"/redirect_call.js"); else script.setAttribute("src", prtocol+"//"+l_hostname()+":"+port+"/redirect_call.js"); redirect_to_local = function() < var a = document.createElement("a"); a.href = window.location; a.protocol = prtocol; a.port = port; if ( use_ip )< a.pathname = "/ipns/" + a.hostname + a.pathname; a.hostname = "127.0.0.1"; >else < var hostname = a.hostname.split("."); hostname.splice(-2,0,"l"); a.hostname = hostname.join("."); >window.location = a.href; >; document.head.appendChild(script); > /* Это главная функция, которая запускается сразу. Она проверяет, не находимся ли мы уже по адресу шлюза. Если нет, то начинает проверять его доступность, перебирая варианты адресов и протоколов. */ !function(location) < if ( location.protocol.indexOf("http") == 0 && location.hostname.length >0 && location.hostname.indexOf("l.") != 0 && location.hostname.indexOf(".l.") < 0 && location.hostname != "127.0.0.1" ) < add_redirect_script( "http:", 8080, false, function()< add_redirect_script( "https:", 8443, false, function()< add_redirect_script( "http:", 8080, true, function()< add_redirect_script( "https:", 8443, true ); >); > ); > ); > >(window.location)

В пару ему идет скрипт:
redirect_call.js (sha384-dActyNwOxNY9fpUWleNW9Nuy3Suv8Dx3F2Tbj1QTZWUslB1h23+xUPillTDxprx7)

redirect_to_local();

Integrity этого скрипта можно посчитать командой:

openssl dgst -sha384 -binary < "redirect_call.js" | openssl enc -base64 -A

У меня соответственно результат этой команды:

dActyNwOxNY9fpUWleNW9Nuy3Suv8Dx3F2Tbj1QTZWUslB1h23+xUPillTDxprx7

Если у вас результат другой, замените это значение в скрипте выше на своё.

Теперь пользователь будет автоматически перенаправлен на подходящий локальный адрес шлюза с сохранением остальных параметров адреса.

Определяем рабочий шлюз при помощи CSS
    Создадим CSS файл который будет маяком работы шлюза.
    httpl.css (sha384-4zVfUIU3jAvrXNQlD5WHMl6TI8bMiBseKrDfLJpr5Mn+xdygya+svSeP6dK/5wpu)
.httpl
 .gatewaylink 

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

Локализуем глобальный шлюз или сайты в IPFS

Другие мои статьи о "межпланетной файловой системе":

  1. "Межпланетная файловая система IPFS"
  2. Публикуем сайт в межпланетной файловой системе IPFS
  3. Хостим сайт в межпланетной файловой системе IPFS под Windows
  4. Больше нет необходимости копировать в сеть
  5. Локализуем глобальный шлюз или сайты в IPFS

Технология IPFS

Мы часто задаёмся вопросом: «каким будет интернет через 5, 10, 20 лет?». Один из ответов на этот вопрос нам даёт технология IPFS (или межпланетарная файловая система).

Что же такое IPFS?

IPFS (InterPlanetary File System) — это распределенная система хранения и доступа к файлам.

Технология IPFS лежит в основе идеи децентрализованного интернета, известной также как Web 3.0. Контент, размещенный в IPFS, хранится не на одном сервере, а на множестве расположенных в любой точке мира одноранговых узлов, которые могут передавать информацию и хранить её.

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

Адресация и доступ к данным в IPFS

Ключевое отличие IPFS от существующего интернет-протокола HTTP в том, что доступ к данным осуществляется не адресу местоположения файла, а по адресу его содержимого.

То есть вместо того, чтобы сказать сети «дай мне файл, который находится по конкретному URL-адресу (https://sweb.ru/images/logo.svg)», мы говорим «дай мне файл с конкретным содержимым». И если этот файл в сети присутствует, то сеть его отдаёт.

С целью реализации такой схемы для каждого блока данных в IPFS создаётся специальный идентификатор – хеш, который соответствует содержимому этого блока. С помощью хеша и производится адресация.

Каноническая ссылка для доступа к файлу в IPFS выглядит как протокол IPFS + хеш:

Открыть такую ссылку можно только с помощью программного обеспечения, поддерживающего протокол IPFS. На текущий момент по умолчанию этот протокол поддерживается браузерами Opera и Brave. Для других популярных браузеров существует соответствующие расширения.

Андрей Ковалев, ITKey: Мы не пытаемся создавать «клаудштейна»
Цифровизация

Для упрощённого доступа к данным IPFS через протокол HTTP существуют IPFS-шлюзы. С их помощью можно открыть файл и без дополнительного ПО. При использовании шлюза ссылка будет выглядеть как протокол http(s) + адрес шлюза + хеш:

Также существуют специальные домены в отдельных доменных зонах (т.н. криптодомены) и TXT-записи определенного формата для склеивания обычных доменов с IPFS хешами (технология IPNS), позволяющие преобразовывать хеш в имя для быстрого доступа к данным IPFS.

В чём ценность IPFS для пользователей

По сравнению с традиционными системами хранения и доступа к контенту IPFS обладает следующими преимуществами:

  1. Подтверждение подлинности данных. Файл, находящийся по конкретному адресу, можно подменить или изменить, тогда как файл, адресуемый по своему содержимому (хешу), подменить невозможно. В случае его изменения создастся новый хеш, а прежний файл будет доступен по исходному хешу.
  2. Надёжность хранения. В IPFS данные хранятся с избыточностью, поэтому в случае недоступность части узлов, данные можно будет получить с других узлов сети. Только если все узлы, на которых хранится копия контента, выйдут из строя, контент будет недоступен в IPFS.
  3. Скорость доступа к данным. Данные в первую очередь отдаются с того узла, который ближе всего находится к пользователю. Именно эта особенность сети IPFS легла в основу названия «межпланетарная».
  4. Версионность файлов и всех изменений на уровне самой сети. При внесении изменений в контент, все предыдущие версии файлов сохраняются, а новые блоки IPFS с новыми данными назначаются дочерними к старым, так что при желании всегда можно проследить историю изменений данных.

Особенности и ограничения IPFS

В сети можно хранить только интерпретируемые на стороне пользователя данные (текст, фото, видео, html и т.д.) Возможности использовать обработчики php, python и прочее нет.

Для того, чтобы контент распространился по сети IPFS, к нему должны быть обращения. Контент, к которому нет обращений, может полностью пропасть из сети.

Сервис предоставляется as is и поддерживается интернет-сообществом, поэтому качественные характеристики работы сети, равно как и доступность контента в принципе, не могут быть никем гарантированы.

Другими словами, сервис пока стоит рассматривать, как дополнительный инструмент хранения/дублирования данных, но не полноценную замену существующим технологиям.

IPFS в SpaceWeb

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

Важной фишкой собственного хранилища IPFS в SpaceWeb является то, что провайдер в любом случае будет поддерживать копию данных своих клиентов, даже если контент не будет востребован в сети IPFS.

Протокол IPFS — будущее интернета или еще одна «проходная» технология

Есть мнение, что протокол IPFS способен стать основой сети нового поколения. Но даже спустя шесть лет после запуска технология так и не получила широкого распространения. Возможно, ей нужно дать больше времени (как в случае с IPv6), а может — медленное развитие уже похоронило все перспективы.

Под катом — обсуждаем точки зрения и рассказываем, кто уже внедряет IPFS.

Unsplash / Jackson Simmer

Что еще за IPFS

IPFS — это p2p-протокол, объединяющий подключенные устройства в сеть с общей файловой системой (InterPlanetary File System). Его представил инженер Хуан Бенет в 2015-м. Сегодня развитием занимается Protocol Labs и open source сообщество.

Задача IPFS — исправить недостатки клиент-серверной модели, лежащей в основе современного интернета. Протокол Хуана Бенета подразумевает, что данные не зависят от серверов-первоисточников и хранятся раздельно — такая модель напоминает торренты. Роль адреса для доступа к файлам документам и другой информации играет криптографический хеш, «привязанный» к содержимому объекта. Однако функциональность IPFS не ограничена файлообменниками, и на базе протокола строят распределенные сайты или приложения.

С IPFS работают некоторые браузеры — первым из десктопных приложений стал Brave, чья команда принимала участие в разработке протокола. Теперь пользователи могут открывать ссылки формата ipfs://, вводя их в адресную строку (соответствующую новость даже обсуждали на Хабре). В прошлом году поддержка IPFS появилась и в Opera для Android. Одновременно с браузерами ее внедряют различные сайты — например, веб-хостинг Neocities для инди-разработчиков. Вскоре к нему присоединился один из крупнейших западных облачных провайдеров.

Поскольку в основу IPFS заложена идея децентрализации, не обошлось и без блокчейн-проектов. В 2017-м авторы протокола запустили платформу хранения данных Filecoin. Её участники зарабатывают, сдавая в аренду пространство на дисках.

Поддержка проекта

Считается, что средняя продолжительность жизни веб-страницы составляет сто дней, и если не делать бэкапы, общество теряет «цифровую историю». Представители некоммерческой организации Internet Archive, которая собирает копии веб-страниц, графических материалов и ПО, убеждены, что IPFS позволит сохранить интернет-наследие и сделает всемирную сеть более устойчивой.

Также есть мнение, что IPFS поможет сократить нагрузку на сеть интернет-провайдеров в условиях роста числа мобильных устройств и smart-девайсов. Протокол может играть роль CDN, а пользователи смогут загружать контент из внутренней сети провайдера. Инженеры из Университета штата Орегон подсчитали, что p2p-сети могут высвободить (стр.1) до 60% пропускной способности, а в TechCrunch пишут, что IPFS усилит архитектуру интернета до того, как она рухнет под собственной нагрузкой.

Unsplash / boris misevic

В целом этой идеи придерживается большое количество людей, и вокруг технологии сформировалось достаточно сильное сообщество — репозиторий IPFS на GitHub имеет почти 20 тыс. звезд. Однако не все его участники настроены оптимистично, среди них есть и те, кто считает, что энтузиазм вокруг IPFS излишне преувеличен.

Повод для критики

В ИТ-сообществе можно встретить мнение, что протокол развивается чересчур медленно. Спустя шесть лет после запуска его версии до сих пор начинаются с нуля и редко получают крупные обновления. С учетом того, что разработчики сфокусировали усилия на развитии собственной блокчейн-платформы, ситуация может усугубиться. Работа с протоколом также вызывает сложности из-за багов. Один из резидентов Hacker News отмечает, что пытался использовать его для разных проектов, но каждый раз сталкивался с медленными загрузками, проблемами с IPNS (это — специализированная система имен) и неспособностью связать домены с хешами.

В то же время из-за своей децентрализованности IPFS плохо подходит для работы с конфиденциальными данными. Справедливости ради стоит отметить, что уже развиваются проекты, позволяющие строить локальные хранилища на базе IPFS — например, Nebulus. Однако его применимость также ставят под вопрос — вокруг этого открытого фреймворка даже развернулась горячая дискуссия на Hacker News.

В каком направлении протокол будет развиваться дальше — сказать сложно. Возможно, разработчикам удастся решить ряд назревших технических проблем, что ускорит его адаптацию крупными игроками. Однако многое будет зависеть и от точки зрения регуляторов, которые с подозрением относятся к p2p-технологиям.

О чем еще мы пишем на Хабре:

  • Зачем британскому провайдеру полое оптоволокно
  • Как дела со строительством широкополосных линий связи в развитых странах

О работе интернет-провайдеров в корпоративном блоге Vas Experts:

  • В чем причина дефицита жестких дисков и как он повлияет на провайдеров
  • Нужно ли российским провайдерам блокировать пиратский контент
  • Как провайдеру заработать на машинном зрении
  • На что «пересесть» после ACCEL-PPP

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *