Браузер Brave добавил поддержку IPFS
с выпуском версии 1.19 пользователи Brave могут напрямую получать доступ к содержимому распределённой файловой системы IPFS, вводя URI, начинающиеся с ipfs://
Brave стал первым браузером, который внедрил поддержку пирингового сетевого протокола IPFS. Это относительно малоизвестный транспортный протокол, который обещает улучшить доминирующий стандарт HTTP, сделав загрузку контента более быстрой (теоретически), а сайты — более устойчивыми к сбоям и противодействию цензуре.
Если вкратце, вместо размещения информации на центральных серверах, контентно-адресуемый, одноранговый гипермедийный протокол IPFS предусматривает размещение в сети распределённых узлов. Этот P2P-протокол в каком-то смысле можно сравнить с торрентами. Каждый ресурс скачивается по хешу, а не по обычному URL. Вы вводите URI с мультихешем, а сеть находит, где хранятся фрагменты этого контента. По сути, узлы IPFS-сети формируют распределённую файловую систему. IPFS можно представить как единый BitTorrent-рой, обменивающийся файлами единого Git-репозитория.
Преимущества нового подхода включают в себя более высокую скорость, поскольку данные могут распространяться и храниться ближе к людям, которые получают к ним доступ, а также более низкие затраты на сервер для того, кто первоначально выкладывает контент в Сеть. Но самое главное, что IPFS обладает потенциалом сделать контент гораздо более устойчивым к сбоям и цензуре.
У браузера Brave в настоящее время аудитория 24 миллиона активных пользователей в месяц. Он давно продвигает IPFS и работал над стандартом с 2018 года. Но с выпуском версии 1.19 пользователи Brave могут напрямую получать доступ к содержимому IPFS, вводя URI, начинающиеся с ipfs://. Они также могут выбрать установку «полного узла IPFS в один клик», сделав свой браузер узлом в одноранговой сети.
«IPFS решает для пользователей проблему централизованных серверов, создающих центральную точку отказа при доступе к контенту, — говорит технический директор Brave Брайан Бонди. — Это даёт возможность беспрепятственно распространять контент миллионам новых пользователей по всему миру с помощью нового и безопасного протокола».
Руководитель проекта IPFS Молли Маккинлей добавляет, что децентрализация интернета через IPFS поможет преодолеть «системную цензуру данных» от правительств и техномонополий: «Сегодня пользователи веба по всему миру не могут получить доступ к запрещённым материалам, включая, например, части Википедии в Таиланде. В Турции заблокировано более 100 000 сайтов, а в Китае блокируется критически важный доступ к информации о COVID-19. Теперь любой человек с подключением к интернету могут получить доступ к этой важной информации с помощью IPFS и браузера Brave».
Каждый узел в сети IPFS является потенциальным хостом для запрашиваемого контента, и если на узле нет этого контента, он может получить его из роя одноранговых узлов. Полученное содержимое проверяется локально, что устраняет необходимость проверять целостность у третьей стороны.
IPFS идентифицирует контент по путям и/или идентификаторам контента Content identifier (CID) внутри Uniform Resource Identifier (URI), а не по URL-адресам.
Вот пример URI в IPFS:
ipfs://bafybeiemxf5abjwjbikoz4mc3a3dla6ual3jsgpdr4cjr3oz3evfyavhwq/wiki/Vincent_van_Gogh.html
Начиная с версии Brave 1.19 вы можете взять этот адрес, вставить его в адресную строку Brave и загрузить контент.
По умолчанию Brave загружает URI через общедоступный HTTP-шлюз, однако при этом предложит установить локальный узел для работы с URI IPFS. Если пользователь согласится, Brave автоматически загрузит go-ipfs в качестве компонента и будет направлять будущий трафик через этот узел. Узел работает автоматически и не требует ручного вмешательства или использования расширения. Пользователь может дополнительно установить расширение IPFS Companion, и оно предложит использовать управляемый узел Brave.
Если вы настроили IPFS для локального узла, он сохранит схему (ipfs: или ipns:) в адресной строке. Эта опция позволит проверять содержимое доступных CID локально, а также получить доступ к ранее просмотренному содержимому IPFS в автономном режиме. Локальный узел также вносит свой вклад в прочность сети IPFS.
Если использовать сторонний шлюз, в адресной строке будет показан перенаправленный URL-адрес на сервере шлюза. В этом случае пользователь не затрачивает лишние системные ресурсы и просто получает доступ к контенту IPFS.
Поддержка IPFS в Brave разработана таким образом, чтобы свести к минимуму влияние на системные ресурсы. Если Brave настроен на использование локального узла IPFS, то этот узел будет лениво загружен только при обращении к первому URI IPFS. Если Brave настроен на использование общедоступного шлюза, узел IPFS никогда не загружается.
Компонент go-ipfs управляет хранилищем данных и настроен на сборку мусора каждый час, если кэш находится на уровне 90% от максимального объема хранилища (1 ГБ). Когда пользователь очищает данные браузера для кэшированных изображений и файлов, также запускается сборка мусора для сохранённого содержимого IPFS, которым управляет go-ipfs. При этом удаляется весь контент IPFS, за исключением закреплённого.
В будущем Brave не исключает, что будет разрешена работа IPFS через окна в режиме инкогнито, сохраняя отдельную конфигурацию и кэш, который автоматически очищается по окончании сеанса.