Децентрализованные вычисления на основе технологии блокчейн — новое поколение облачных сервисов

Несмотря на широкое распространение крупных облачных платформ и ежегодно-снижающуюся стоимость на облачные вычисления, они всё ещё остаются централизованными с точки зрения управления. А это несёт за собой целый ряд вопросов: от приватности данных и защищенности централизованных серверов от взлома, до зависимости от корпорации, которая в любой момент может указать вам на дверь или просто перекрыть кислород. Поэтому сейчас как никогда актуальна идея реализации данной технологии путём объединения свободных вычислительных мощностей рядовых интернет-пользователей и профессиональных майнеров.

История

Попытки создания сетей для децентрализованных вычислений предпринимались ещё в 70-х годах прошлого века. Никакой глобальности: объединялись максимум несколько десятков компьютеров в рамках локальной сети. Их использовали для решения сложных математических задач, которые были не по зубам процессорам того времени. О хранении данных, дистрибуции контента и более сложных функции сетей в ту пору даже не задумывались.

В 90-е годы бурное развитие интернета существенно расширило возможности построения сетей. Начали организовываться более серьёзные проекты. Большинство — для решения конкретных задач, часто разовых.
Типичные примеры сетей того времени:
— SEMI@home — сеть энтузиастов в области поиска сигналов внеземных цивилизаций;
— GIMPS — сеть по определению простых чисел Мерсенна;
— distributed.net — сеть конкурсных вычислений под разные, как правило некоммерческие задачи.

Участники сетей подобного типа предоставляли свои мощности фактически безвозмездно: небольшое количество грантов и призов, полученных несколькими конкурсантами, не идёт ни в какое сравнение с общими затратами на проведение вычислений.

Теория

В изначально правильной модели существовала одна проблема, которая крылась в самой теории развития сетей. «Сначала мы научимся вычислять,
а потом поймём, как на этом заработать», – рассуждали первопроходцы.
Увы, основатели таких проектов оказались никудышными коммерсантами. Да ещё вдобавок медленный и дорогой интернет 90-х и начала нулевых неизбежно приводил к проблемам масштабирования.

Итак, владельцам мощностей, как правило, не платили. А если и платили – то за уже фактически выполненные вычисления. В итоге все проекты заканчивались примерно одинаково: отсутствие загрузки на больших участках сети снижало доходность её участников. Те, в свою очередь, теряли интерес и уходили.

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

Экономическая модель сети проста: одним нужна загрузка для их ресурсов – за соответствующую оплату. Другим — недорогие вычисления с широкой, устойчивой сетью, обладающей большим набором утилит.

Если с, условно говоря, «заказчиками», всё относительно ясно, то перед «исполнителями» сразу же встаёт ряд вопросов: чем платить — в начале
и в процессе, как загружать их мощности, каким образом определять объём проведённых операций и т.д.

Применение

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

— мобильные устройства с установленным сетевым приложением;

— старый домашний компьютер на *nix;

— современная майнинговая ферма;

— свободные серверные мощности небольших компаний и дата-центров;

— умные устройства, бортовые компьютеры транспортных средств и многое другое.

Нейросети

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

— экономический анализ;

— маркетинговый анализ;

— предиктивный анализ;

— поведенческий анализ;

— решение и формирование исследовательский алгоритмов;

— управление беспилотниками и их обучение;

— оценка и улучшение качества производства.

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

Вычисления

Процессоры большой мощности и оперативная обработка данных — дорогое удовольствие. Простейшие сервера, способные поддерживать корпоративную систему документооборота на 200 пользователей, стоят
по 250-400 долларов США в месяц. При этом для их настройки
и обслуживания придётся нанимать сотрудника или аутсорсинговую компанию. Если же сервер предоставляется в комплекте SaaS, то подобное решение обойдётся примерно в 10 долларов за пользователя.
А это – уже 2000 долларов в месяц.

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

Распределённые вычисления способны решить скейлабилити-задачу именно по принципу «чем больше – тем быстрее». И за гораздо меньшие деньги!

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

Хранение данных

Коммерческие облачные сервисы идеально – недорого и легко масштабируемо – решают проблему хранения открытых данных. В том же AWS S3 не существует привязки к изначальным параметрам дискового пространства: вы используете всё доступное дисковое пространство
и платите за запросы.

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

Если со статикой и контентом всё более-менее понятно, то с приватными данными вопросов очень много. Дело в том, что базы данных абсолютного большинства коммерческих облачных сервисов – централизованные,
т.е. по умолчанию вы поднимаете сервер или утилиту в которой определяете дисковое пространство и разворачиваете СУБД.
Проблема централизованного хранения, даже если вы используете две СУБД с разной степенью доступа, заключается в недостаточной глубине шифрования данных. Безусловно для взлома хорошо защищённой базы данных злоумышленнику придётся повозиться. Зато в случае успеха
он получает полный доступ к данным.

Децентрализованная сеть позволяет использовать контейнерный тип хранения по кластерам. Каждый из контейнеров объединён цепочкой
в блокчейне, поэтому доступ к информации сможет подтвердить только владелец ключа.

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

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

Дистрибуция контента

Важнейшие показатели дистрибуции контента — скорость и скейлабильность. Главные проблемы — так называемая Последняя миля, а также загруженность узлов крупных провайдеров при пиковых нагрузках. Предиктивные модели распространения контента по сети такими провайдерами используются довольно слабо, вместо них применяют модель «По запросу»: если запрос на контент Х прошёл в каком-либо узле сети,
то этот узел сохраняет такой контент для дистрибуции.

Использование предиктивной модели, в свою очередь, подразумевает анализ истории запросов и распределение контента на основе предполагаемых запросов на новый и старый контент. Если из Х следует запрос
на появившийся Y, то Y будет распространён по узлам до повышения нагрузки.
В итоге контент распределяется в период начала его появления, не нагружая ни основные узлы, ни Последнюю милю. В пиковые моменты основные узлы будут свободны для выполнения приоритетных задач, а дистрибуция будет вестись из Последней мили, в классическом понимании — из локальной сети провайдера в округе, городе, районе или секторе.

Где блокчейн?

Применение блокчейна, состоящего как минимум из двух уровней,
так сказать квадратной структуры — B², просто необходимос в подобной сети.

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

Продолжение следует

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

А пока ждёте следующую статью: пройдите небольшой опрос и напишите комментарий, что вы думаете о развитии таких технологий.

В чем основная проблема организации децентрализованных добровольных вычислений?
Сложность интеграции разных вычислительных мощностей
Низкая скорость сети
Другое
Оценка выполненной работы и соизмеримой оплата
Недоверие пользователей, владельцев данных
Безопасность данных
Показать результаты
Переголосовать
Проголосовать
0
10 комментариев
Написать комментарий...
Артём Аркан

Как вы пишите "Процессоры большой мощности и оперативная обработка данных — дорогое удовольствие" , но по мне это самый оптимальный вариант на 2018 год

Ответить
Развернуть ветку
Артем

считаю 2018 год, годом криптовалют))

Ответить
Развернуть ветку
Jurijs Fogels

Год заката криптовалют? или подъема? Начинается-то он с обвала курса.

Ответить
Развернуть ветку
Артем

я думаю это только начало)

Ответить
Развернуть ветку
Аналитика на Диване

Криптосадик

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Anton Zhitarev

wat za fak am reading?

Ответить
Развернуть ветку
Аналитика на Диване

Из статьи я почерпнул ничего. Слово "небулятивный" отправлено в парижскую палату мер и весов.

Ответить
Развернуть ветку
S-ed
скейлабильность

Есть в русском языке такое слово - масштабируемость.

скейл участников сети

масштаб...

Ответить
Развернуть ветку
Карина Котова

Ну пасиб за интересную инфу

Ответить
Развернуть ветку
Sergo Orgonikidze

Спасибо, что постеснялись напрямую написать "ИИ на основе блокчейна", а только написали популяризаторский бред про распределенные нейросети...

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
7 комментариев
Раскрывать всегда