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

Пару лет назад в «Хакере» уже была статья о необычных способах хранения и передачи файлов («Как пересылать большие файлы надежно и незаметно?»). С тех пор популярность стал набирать новый метод, который называют «туманом» или «спустившимся облаком» (не путать с bitcoin fog — методом запутывания транзакций). Его суть в том, что функции облачного провайдера может выполнять не какой-то определенный дата-центр, а тысячи компьютеров в единой пиринговой сети. Каждый из них выделяет часть своих простаивающих ресурсов, а его владелец получает за это вознаграждение. Например, он может предоставлять в общее пользование часть свободного места на своем диске и трафик для обращения к нему.

Некоторую популярность удалось завоевать «туманным» сервисам синхронизации файлов — например, BitTorrent Sync (ныне — Resilio Sync) и его свободному аналогу Syncthing. Однако они хороши только для дублирования данных между доверенными узлами. Вырасти до масштабов глобальных P2P-хранилищ им не дают концептуальные ограничения и отсутствие финансовой заинтересованности участников.

Исправить положение взялись другие разработчики распределенных систем. Чаще всего идея этих стартапов состоит в том, чтобы сделать свое туманное облако с блокчейном и хешами. Для этого достаточно разместить его в P2P-сети, которая объединит всех заинтересованных участников. Одни смогут дешево получить любой мыслимый объем дискового пространства, а другие — предоставить его часть за вознаграждение. Блокчейн здесь используется сразу с двумя целями: для гарантии целостности данных и для упрощения взаиморасчетов.

 

Blockchain в хранении данных

Технология blockchain часто ассоциируется с криптовалютой, поскольку впервые широко использовалась для ее создания. Однако она допускает и множество других применений. По сути, блочкейн — это тип распределенной базы данных, все записи в которой хранятся в формате цепочки блоков. Сами же записи могут быть о любых взаимодействиях (транзакциях) между участниками — не обязательно финансовых. Это могут быть и записи о файлах, хранимых в пиринговой сети.

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

  • полную или частичную децентрализованность. Данные хранятся буквально везде, и нет какого-то определенного места, куда за ними может отправиться АНБ или где их внезапно смоет цунами;
  • высокую избыточность. В случае P2P-сети исчезновение нескольких узлов не играет роли — ты получишь свои файлы от других, даже не заметив проблемы;
  • высокую отказоустойчивость. Вероятность одномоментного отказа всей пиринговой сети близка к нулевой. Какие-то узлы все равно останутся доступными, а остальные синхронизируются с ними при первой возможности;
  • защиту от случайных и преднамеренных модификаций данных. Распределенная база не имеет уязвимостей, типичных для локальной БД. Никакой злодей не повредит ее и не перезапишет существующие блоки;
  • широкую полосу пропускания. Скорость соединения в P2P-сети будет расти по мере появления новых и более быстрых узлов.

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

 

Криптовалюты и другая криптота

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

Скрестить биткойн с битторрентом пытались уже много раз. Помимо оригинального алгоритма Bitcoin, для этого пробовали использовать и его форки. Например, Primecoin подкупал тем, что вместо бессмысленного обсчета хешей выполнял поиск определенных последовательностей простых чисел, общий вид которых описал Алан Каннингем.

Алгоритм Primecoin применялся в сервисе хранения данных Datacoin. Его участники получали одноименную криптовалюту в качестве вознаграждения за предоставленное место. В прошедшем времени потому, что общий интерес к проекту сейчас сильно угас. Сама идея была неплоха, а вот насколько неудачной оказалась ее реализация, видно из графика котировок Datacoin.

Стоимость Datacoin стремится к нулю
Стоимость Datacoin стремится к нулю

Платить криптовалютой за дисковое пространство предлагали и авторы проекта Filecoin (PDF). Однако их Twitter не обновляется уже год, а последняя запись в их официальном блоге и вовсе датируется июлем 2014-го.

Другой подход к хранению данных использовала группа ученых из Microsoft Research. Они сочли технически невозможным совместить криптографическую надежность и «полезные» вычисления и предложили собственную криптовалюту Permacoin. В отличие от Datacoin она выплачивается не за само место, а за скачивание и долговременное хранение фрагментов распределенной базы данных. Периодически запускается проверка загруженного контента по хешам, что и служит основанием для начисления криптовалюты конкретным участникам пиринговой сети.

Пока что эффективнее всего перепродавать чужие дисковые объемы получается у Storj Labs — молодой компании из Атланты. Три года назад ее основатели предложили «новый» метод распределенного хранения файлов, скромно назвав его в честь компании. Она по-прежнему на плаву, а котировки одноименной криптовалюты Storjcoin X понемногу растут и, возможно, поднимутся еще чуть-чуть после очередного упоминания в прессе.

Котировки Storjcoin X
Котировки Storjcoin X

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

Во-первых, хранить сами файлы в блокчейне никто в здравом уме не собирается. Иначе пара порноколлекций положила бы всю пиринговую сеть уже на начальном этапе. Размер цепочки вырос бы до терабайтов, а время ее синхронизации устремилось бы в бесконечность. Поэтому вместо самих файлов в блокчейн отправляются только их метаданные. Объем метаданных в Storj сейчас составляет менее килобайта на файл независимо от его размера. Таким образом, для хранения записей о миллионе файлов в блокчейне потребуется не более гигабайта. Это уже приемлемо, но все равно многовато. В Storj ищут способы более эффективной компрессии метаданных, чтобы ужать распределенную базу еще сильнее. Вполне реально сжать ее в два-три раза, но пока и так сойдет™.

Во-вторых, весь код в Storj открытый. Никаких секретов — бери и смотри. В-третьих, Storj неплохо документирован. В августе 2014 года сооснователь и исполнительный директор Storj Labs Шон Уилкинсон опубликовал вместе с Джимом Лоури статью «Метадиск: приложение для децентрализованного хранения файлов на базе блокчейна» (PDF), где описаны основные принципы будущего Storj.

Главной целью проекта было создание «принципиально новой и общедоступной платформы распределенного файлового хранилища», более надежного и более рентабельного, чем традиционные облака на базе крупных дата-центров. Так появился Metadisk — простое приложение для широкого круга пользователей и программные интерфейсы, которые позволяют добавить P2P-хранилище к любому проекту. Их объединил сервис Storj, который сегодня почти дорос до юзабельного уровня. Сегодняшнее состояние Storj детально описывается в более новой научной работе Уилкинсона и его коллег (PDF).

Другие интересные свойства Storj касаются одноименной криптовалюты. Сначала в Storj использовалась Datacoin, но потом появилась своя — Storjcoin X (SJCX). Обычно в любом блокчейне валюта генерируется в процессе майнинга, который требует значительных вычислительных ресурсов. Генерация нового блока считается доказательством проделанной работы (PoW, proof of work), и за нее начисляются виртуальные монетки. Заработанную криптовалюту можно передавать как внутри той же децентрализованной сети, так и в других сетях (через биржу) или обменивать на традиционные валюты.

В Storj схема совсем другая. Вся криптовалюта SJCX была выпущена перед публичным запуском проекта в 2014 году. Все 500 миллионов монет уже эмитированы в ходе премайнинга, и сейчас майнить нечего. Поэтому при отсутствии других значимых факторов стоимость SJCX будет расти пропорционально увеличению пиринговой сети. Это дефляционная модель — полная противоположность инфляционной, с которой мы сталкиваемся каждый день. Инфляция уменьшает покупательную способность традиционных валют по мере увеличения денежной массы.

Общее количество SJCX жестко ограничено алгоритмом, а желающих получить эти монетки все больше. Если сама идея распределенного хранения данных выгорит, то котировки SJCX продолжат расти и дальше.

Отсутствие майнинга в теории позволяет сдавать в аренду место на накопителе любого устройства с процессором. Сейчас есть готовые клиенты для Windows, Debian Linux и macOS. Но поскольку исходники открыты, есть возможность портировать их на все что угодно, включая NAS и роутеры с прошивками вроде OpenWRT и DD-WRT.

 

Миграция на Ethereum

В марте 2017 года владельцы Storj объявили о том, что планируют перевести свою криптовалюту с блокчейна Bitcoin на Ethereum. Шон Уилкинсон приводит целый список достоинств Ethereum по сравнению с Bitcoin и обещает в скором времени опубликовать подробный план миграции. Пока известно лишь, что владельцы SJCX получат взамен старых монет новые по курсу 1:1.

Именно c блокчейном Ethereum сегодня связано все больше распределенных баз данных и уникальных сервисов. По заказу Банка России ассоциация «Финтех» создала систему идентификации клиентов Masterchain. Acronis разработала универсальное программно определяемое хранилище данных (SDS, software-defined storage). Microsoft и вовсе предлагает модель Ethereum Blockchain as a Service (EBaaS), которую легко может опробовать любой разработчик.

Подробнее об Ethereum и о концепции умных контрактов ты можешь узнать из темы номера «Хакера» за июль 2016 года.

 

Подключаемся к Storj

Присоединиться к сети Storj и сдавать диск в аренду несложно. Заходишь в раздел Rent your drive на сайте проекта, скачиваешь клиент Storj для своей операционки и запускаешь его. Некоторые антивирусы будут ругаться на виндовый клиент Storj, но их реакция выглядит как ложноположительное срабатывание эвристики при столкновении со слишком уж необычной программой.

Storj
Storj

При первом запуске Stroj Share потребуется ввести номер кошелька для получения Storjcoin X. Он указывается в формате Bitcoin, поэтому можно использовать существующий или создать новый — например, на Counterparty. Авторизация там адская. Сервер генерирует парольную фразу из двенадцати случайных слов, которые затем надо вводить по одному с экранной клавиатуры. Считается, что это повышает безопасность, но мучений масса, а современные кейлоггеры все равно обходят эти хитрости.


Безопасность через неудобство
Безопасность через неудобство

После ввода адреса останется выполнить нехитрые настройки и нажать на кнопку Start. В базовых настройках необходимо указать предоставляемый в аренду объем дискового пространства и путь для хранения чужих файлов (точнее, зашифрованных блоков).

Настраиваем Storj Share
Настраиваем Storj Share

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

Постоянная перезапись лога в Storj
Постоянная перезапись лога в Storj

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

Расширенные настройки Storj Share
Расширенные настройки Storj Share

При запуске процесс StorjShare.exe устанавливает десятки подключений — в основном к серверу storj.dk и облачным серверам Amazon AWS. В окне Storj Share ты сначала увидишь растущее число пиров, затем начнет заполняться отведенное место.

Подключения Storj
Подключения Storj

Ты можешь заглянуть в лог Storj, чтобы посмотреть, как он работает. Сначала клиент отправляет запрос на поиск нод, затем происходит обмен идентификаторами и ключами. Узлы сети регистрируются через storjtross.ddns.net.

Фрагмент лога Storj Share
Фрагмент лога Storj Share

С этого момента про Storj можно забыть на несколько дней. Главное — убедись, что в диспетчере одновременно отображается три активных процесса Storj Share и на главном окне горит зеленая надпись Storj share is running.

Через какое-то время твоя нода пройдет кучу проверок, после чего станет (или нет) частью сети. Зависит от того, сколько места ты выделил, как долго оно доступно и какова скорость подключения. Еще обязательно настроить автоматическую синхронизацию системных часов с NTP-серверами. Расхождения в секунду достаточно, чтобы в блокчейне нарушились временные метки, а твой узел исключили из Storj.

 

Доход для терпеливых

Для тестов мы выделили 10 Гбайт на одном компьютере и 50 Гбайт на круглосуточно доступном мини-сервере. По местным меркам это ерунда — настоящие фанаты выделяют под Storj терабайты. Общее количество нод сети Storj пока невелико (чуть более десяти тысяч), но оно продолжает расти. Кроме обычных пользователей, есть «фермеры», которые специально накупили емких дисков в надежде быстро заработать. Онлайновый калькулятор обещал им почти доллар в год с каждого гигабайта, но все дело в примечаниях мелким шрифтом. Забегая вперед, скажу, что у фермеров не получится даже окупить вложения.

Начисления в Storj сейчас происходят раз в месяц, поэтому нулевой баланс ты будешь созерцать еще долго. Многие бросают раздавать гигабайты через неделю, думая, что приложение не работает или их просто обманули. Только спустя неделю непрерывной работы Storj начал загружать фрагменты чужих файлов из P2P-сети.

Прошло 12 дней. Полет нормальный. Баланс нулевой
Прошло 12 дней. Полет нормальный. Баланс нулевой

Реально же получить прибыль с аренды дисков можно только в том случае, если у тебя уже есть все железо, бесплатная электроэнергия и скоростной безлимитный доступ в интернет. То есть если ты ни за что не платишь, а только перепродаешь ресурсы, которые по какой-то причине уже есть, но не используются. Такое бывает у владельцев ботнетов и у админов: кластеры, серверы, да и просто рабочие компьютеры редко используются на 100%. Домашний пользователь платит за все сам, поэтому Storj не станет для него источником прибыли. Максимум — позабавит и частично покроет счет за электроэнергию.

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

Если же ты планируешь продать почку, купить RAID-массив и заниматься масштабной сдачей дисков в аренду, то лучше не торопись. Во-первых, почка еще пригодится, во-вторых, если прикинуть вложения и ежемесячные затраты, то выгода оказывается сомнительной. Уверен, что при желании дешевле будет просто купить SJCX на бирже, пока их обменный курс невысок.

Storj триедин
Storj триедин
 

Storj — для разработчиков

Авторы Storj уверены, что он будет интересен и разработчикам. Его открытый API позволяет быстро прикрутить «туманное хранилище» вместо облачного к любому проекту.

«По сравнению с облачными сервисами Storj Labs предлагает более высокие скорости, повышенный уровень безопасности и более рентабельное решение для хранения данных. При помощи простых инструментов сеть Storj может использовать любой разработчик. Ему необязательно быть экспертом в области распределенных сетей или шифрования», — заявил Уилкинсон.

Даже код официального клиента Storj Share можно легко изменить при помощи Developer Tools.

Просмотр HTML-кода Storj как в браузере
Просмотр HTML-кода Storj как в браузере

Сама Storj Labs получила 3 миллиона долларов еще на этапе предстартового финансирования — просто за красивую идею. Часть денег была потрачена на премайнинг. Львиная доля ушла на продвижение проекта, и лишь остатки этих вложений пошли на аренду серверов и собственно разработку проекта. Среди инвесторов были Google Ventures и Qualcomm Ventures. Для них вложить миллион-другой в очередной стартап — обычная практика. Прогорят — не страшно, зато, если проект взлетит, они получат над ним контроль и не позволят развиться потенциальному конкуренту.

Для остальных здесь скрывается целая бочка дегтя. От венчурных фондов и клиентов разработчики Storj получают реальные деньги, а своим «арендодателям» (то есть нам с тобой) начисляют свою криптовалюту, да еще и не сразу. Пока за нее дают на бирже всё больше реальных денег, но разработчики имеют мощные рычаги влияния на обменный курс.

Даже децентрализация, с которой связаны все теоретические преимущества P2P-сети, на практике получилась лишь частичной. Между собой все узлы простых пользователей действительно равны, но если рухнут основные серверы проекта, то вскоре ляжет и вся сеть Storj.

Красивая дефляционная модель имеет и обратную сторону: авторы Storj полностью контролируют свою криптовалюту, а сами ведут расчеты с заказчиками в долларах. Сейчас они берут полтора цента за гигабайт в месяц и еще пять центов за гигабайт трафика. Новых клиентов заманивают как обычно: после регистрации обещают 25 Гбайт места на год и 25 Гбайт трафика ежемесячно.

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

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    2 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии