Статьи

Децентрализованное хранение и публикация с IPFS и Swarm

В этой статье мы расскажем о двух наиболее выдающихся решениях для децентрализованной публикации и хранения контента. Этими двумя решениями являются IPFS (Межпланетная файловая система) и Ethereum Swarm.

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

Запрет Турции на Википедию и «Великий брандмауэр Китая» являются лишь некоторыми примерами. Зависимость от интернет-магистралей, хостинговых компаний, облачных провайдеров, таких как Amazon, поисковых провайдеров, таких как Google, — подобные вещи обманули первоначальное интернет-обещание демократизации знаний и доступа к информации.

Как говорилось в статье о TechCrunch два года назад, первоначальная идея Интернета заключалась в том, чтобы «создать общую нейтральную сеть, в которой каждый мог бы участвовать в равных долях, на благо человечества» . Эта идея теперь вновь появляется как Web 3.0, термин, который теперь означает децентрализованную сеть — архитектуру, защищенную от цензуры и без единой точки отказа.

Dapps

Как сказал Гевин Вуд, один из основателей Ethereum, в своей основополагающей работе над Web 3.0 в 2014 году «возрастает потребность в системе взаимодействия с нулевым доверием» . Он назвал «сеть после Сноудена» и описал четыре компонента: «публикация статического контента, динамические сообщения, транзакции без доверия и интегрированный пользовательский интерфейс» .

Децентрализованное хранение и публикация

До появления криптовалюты — и в частности платформы Ethereum — у нас были другие проекты, направленные на разработку распределенных приложений.

  • Freenet : одноранговая (p2p) платформа, созданная для защиты от цензуры — с ее распределенным хранилищем данных — впервые была опубликована в 2000 году.
  • Сеть Gnutella : разрешено одноранговое совместное использование файлов с многочисленными воплощениями клиентов.
  • BitTorrent : был разработан и опубликован еще в 2001 году, и Wikipedia сообщает, что в 2004 году он «отвечал за 25% всего интернет-трафика» . Проект все еще здесь, и технически впечатляющий, с новыми проектами, копирующими его аспекты — адресация контента на основе хеша, распределенные базы данных DHT, поиск Kademlia…
  • Tribler : как клиент BitTorrent, он добавил некоторые другие функции для пользователей, такие как p2p-связь с луковичной маршрутизацией.

Оба наших вышеупомянутых проекта опираются на плечи этих гигантов.

ОПЗ

Логотип IPFS

Межпланетная файловая система была разработана Хуаном Бенетом и впервые была опубликована в 2014 году. Ее целью является протокол и распределенная файловая система, заменяющая HTTP. Это смесь технологий, и это довольно низкий уровень — это означает, что он оставляет много для проектов или слоев, построенных поверх него.

Введение в проект Хуана Бенета с 2015 года можно найти в этом видео на YouTube .

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

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

Сеть становится устойчивой.

Еще одно последствие этого заключается в том, что мы, как конечные пользователи, не должны зависеть от магистралей Интернета и безупречной связи с удаленным центром обработки данных на другом континенте, где размещается наш веб-сайт. Страны могут быть полностью отключены, но мы все равно можем загружать тот же самый аутентичный контент с некоторого компьютера, находящегося поблизости, все еще с уверенностью в его подлинности. Это может быть контент, кэшированный на ПК в нашем районе.

С IPFS Турции будет трудно, если не невозможно, подвергать цензуре Википедию, потому что Википедия не будет полагаться на определенные IP-адреса. Подлинная Википедия может быть размещена на сотнях или тысячах местных веб-сайтов в самой Турции, и эта сеть веб-сайтов может быть полностью динамичной.

У IPFS нет единой точки отказа, и узлам не нужно доверять друг другу.

Обращение к контенту является алгоритмическим — и оно становится неуязвимым. Это также повышает эффективность. Нам не нужно запрашивать веб-сайт, видео или музыкальный файл с удаленного сервера, если он кэширован где-то рядом с нами.

Это может устранить задержку запроса. И любой, кто когда-либо оптимизировал скорость веб-сайта, знает, что задержка в сети является одним из факторов.

Используя вышеупомянутый алгоритм Kademlia, сеть становится устойчивой, и мы не полагаемся на регистраторов доменов / серверов имен для поиска контента. Lookup встроен в саму сеть. Это не может быть снято. Некоторые из главных атак хакеров в последние годы были атаками на серверы имен. В качестве примера можно привести эту конкретную атаку в 2016 году , в ходе которой были уничтожены Spotify, Reddit, NYT и Wired и многие другие.

Протокол IPFS разрабатывается Protocol Labs как проект с открытым исходным кодом. Вдобавок ко всему, компания создает слой стимулирования — Filecoin, который впервые предлагал монеты летом 2017 года и собрал около 260 миллионов долларов (если считать инвестиции до ICO VC) — возможно, самую большую сумму, собранную ICO пока что. Сам по себе Filecoin еще не находится в стадии разработки, но IPFS используется производственными приложениями, такими как OpenBazaar. Также есть интеграция с IPFS в браузере Brave, и еще больше…

Производственная платформа для обмена видео d.tube использует IPFS для хранения, а Steemit — для монетизации, голосования и т. Д.

Это веб-приложение, которое ждет широкого распространения, но в настоящее время оно находится в стадии разработки и работает без рекламы.

Хотя IPFS считается проектом альфа-стадии, как и Swarm, IPFS обслуживает реальные проекты.

Другими известными проектами, использующими IPFS, являются Bloom и Decentraland — игра AR, построенная на основе блокчейна Ethereum и IPFS. Peerpad — это приложение с открытым исходным кодом, созданное для использования в качестве примера для разработчиков, работающих на IPFS.

роиться

роиться

По словам Виктора Трона, из Ethereum Foundation, «в основном, Swarm — это BitTorrent на стероидах».

Swarm от Ethersphere стремится решить те же проблемы, что и IPFS. Согласно его странице GitHub

Swarm — это распределенная платформа хранения и служба распространения контента, собственная служба базового уровня стека Ethereum Web 3. Основная цель Swarm — предоставить достаточно децентрализованное и избыточное хранилище публичных записей Ethereum, в частности, для хранения и распространения кода и данных приложения, а также данных цепочки блоков.

Виктор Трон в настоящее время стоит за Swarm в качестве ведущего разработчика. Он был одним из первых сотрудников Ethereum Foundation. Фонд Ethereum финансирует разработку проекта в соответствии с видением Гэвина Вуда о Web 3.0, которое мы цитировали. Итак, Swarm более интегрирован с экосистемой Ethereum, и вместе с Whisper и Ethereum Virtual Machine нацелен на создание платформы следующего поколения для распределенных приложений или приложений.

Swarm находится на более ранней стадии разработки, чем IPFS. Цитировать Виктора Трона —

IPFS намного дальше в зрелости кода, масштабировании, внедрении, вовлечении сообщества и взаимодействии с выделенным сообществом разработчиков.

Как только Swarm станет готовым к производству, он обеспечит уровень стимулирования и интеграцию с умными контрактами Ethereum, что должно дать достаточно места для творчества и инновационных приложений.

Ни слой стимулирования Swarm, ни IPFS (Filecoin) в настоящее время не готовы к использованию.

POC3

Примечание: на момент написания этой статьи (май 2018 года) ведущий разработчик Swarm объявил о выпуске POC3, который сохраняет план работы в режиме реального времени и дает основания для оптимизма в отношении готовности Swarm к производству в 2018 году.

Хотя IPFS направлена ​​на создание протокола и является проектом более низкого уровня, более общим, Swarm связан с концепцией Ethereum Web 3, уделяя больше внимания сопротивлению цензуре: он «реализует правдоподобное отрицание с неправдоподобной подотчетностью посредством сочетания запутывания и двойного дублирования». маскировки».

Это напоминает нам о проекте Freenet, где те, кто размещает определенный контент, не обязательно имеют к нему доступ или знают, что это такое.

Swarm с его механизмами стимулирования стремится предлагать решения более высокого уровня. Это —

использует все возможности смарт-контрактов для обработки зарегистрированных узлов с депозитом на карту. Это учитывает карательные меры в качестве сдерживающих факторов. Swarm предоставляет схему для отслеживания обязанностей, делающую владельцев магазинов индивидуально ответственными за определенный контент.

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

В случае Swarm это требует работы с криптографическими конструкциями, известными как Proof-of-Custody, которые позволяют «иметь компактное доказательство, доказывающее любой третьей стороне, что вы храните большой объем данных, не передавая целые данные и не раскрывая фактическое содержание » . Таким образом, доказательство хранения некоторого контента не требует полной загрузки этого контента каждый раз.

У Swarm даже есть протокол учета, SWAP , который в настоящее время находится в разработке, как один из уровней стимулирования.

В настоящее время, до публикации механизмов стимулирования, что ожидается в 2018 году, Swarm работает как кеш: менее популярный контент может быть удален, и от этого нет никакой гарантии.

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

Сам IPFS, как нижний уровень, не имеет гарантий хранения. Хотя Swarm включает это в свою дорожную карту, команда IPFS, для сравнения, планирует это на уровне Filecoin, но на данный момент это только на стадии идеи.

На Tron есть интервью из двух частей, в котором он объясняет проект Swarm менее технически:

Есть два проекта, которые основаны на IPFS и Swarm, которые стоит упомянуть в контексте Đapps: распределенные приложения. Поскольку оба проекта допускают только ограниченный уровень динамического контента, ориентированные на базы данных проекты, построенные поверх этих распределенных систем, добавляют значительную ценность.

OrbitDB — это «безсерверная, распределенная одноранговая база данных», в которой для хранения данных используется IPFS.

Это база данных, которая работает как для Node.js, так и в браузерах. Его разработка активна и финансируется Protocol Labs. После сбора средств в размере 260 миллионов долларов в 2017 году будущее OrbitDB, как и IPFS, выглядит многообещающим.

OrbitDB является частью экосистемы Node.js / npm.

Wolk — это проект / токен, который создает базу данных — SWARMDB — с использованием кодовой базы Swarm. За ним стоит калифорнийский стартап, Wolk Inc., которому удалось привлечь около 7 100 ETH в своем ICO в 2017 году. WOLK обещает устойчивую к цензуре распределенную базу данных на основе токена WLK в качестве стимулирующего слоя. Он предоставляет интерфейс Go, Node.js и HTTP.

Они претендуют на Swarm и Bancor в качестве своих партнеров.

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

Оранжевая бумага Swarm — интересное, хотя и очень техническое чтение.

Более подробное сравнение двух проектов можно найти здесь .

Общность

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

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

С точки зрения разных веб-приложений оба проекта поддерживают только статический контент . Таким образом, нет никаких конечных приложений с интерпретируемыми языками, таких как PHP, Python, Ruby или Node.js. Для Swarm это — то, где EVM вступает в игру, но у EVM также есть свои присущие ограничения.

Вывод

И IPFS, и Swarm являются многообещающими проектами, хотя нельзя не задаться вопросом, поставили ли разработчики слишком амбициозные цели. Если они преуспеют в разработке своих планов развития и получат более широкое распространение, нет сомнений в том, что это принесет большие изменения в Интернет, как мы его знаем.