Статья опубликована в рамках: XLIV Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 07 мая 2018 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ДЕЦЕНТРАЛИЗИРОВАННЫЕ ВЫЧИСЛЕНИЯ НА ОСНОВЕ ТЕХНОЛОГИИ БЛОКЧЕЙН – НОВОЕ ПОКОЛЕНИЕ ОБЛАЧНЫХ СЕРВИСОВ
Несмотря на широкое распространение крупных облачных платформ и ежегодно-снижающуюся стоимость на облачные вычисления, они всё ещё остаются централизованными с точки зрения управления. А это несёт за собой целый ряд вопросов: от приватности данных и защищенности централизованных серверов от взлома, до зависимости от корпорации, которая в любой момент может указать вам на дверь или просто перекрыть кислород. Поэтому сейчас как никогда актуальна идея реализации данной технологии путём объединения свободных вычислительных мощностей рядовых интернет-пользователей и профессиональных майнеров.
Рис. 1. Информационный центр Univac
История
Попытки создания сетей для децентрализованных вычислений предпринимались ещё в 70-х годах прошлого века. Никакой глобальности: объединялись максимум несколько десятков компьютеров в рамках локальной сети. Их использовали для решения сложных математических задач, которые были не по зубам процессорам того времени. О хранении данных, дистрибуции контента и более сложных функции сетей в ту пору даже не задумывались.
В 90-е годы бурное развитие интернета существенно расширило возможности построения сетей. Начали организовываться более серьёзные проекты. Большинство — для решения конкретных задач, часто разовых.
Типичные примеры сетей того времени:
— SEMI@home — сеть энтузиастов в области поиска сигналов внеземных цивилизаций;
— GIMPS — сеть по определению простых чисел Мерсенна;
— distributed.net — сеть конкурсных вычислений под разные, как правило некоммерческие задачи.
Участники сетей подобного типа предоставляли свои мощности фактически безвозмездно: небольшое количество грантов и призов, полученных несколькими конкурсантами, не идёт ни в какое сравнение с общими затратами на проведение вычислений.
Теория
В изначально правильной модели существовала одна проблема, которая крылась в самой теории развития сетей. «Сначала мы научимся вычислять, а потом поймём, как на этом заработать», – рассуждали первопроходцы.
Увы, основатели таких проектов оказались никудышными коммерсантами. Да ещё вдобавок медленный и дорогой интернет 90-х и начала нулевых неизбежно приводил к проблемам масштабирования.
Итак, владельцам мощностей, как правило, не платили. А если и платили – то за уже фактически выполненные вычисления. В итоге все проекты заканчивались примерно одинаково: отсутствие загрузки на больших участках сети снижало доходность её участников. Те, в свою очередь, теряли интерес и уходили.
В базовом виде подобным сетям не хватало ряда ключевых элементов:
— большой и быстрорастущей клиентской базы, запросов на вычисления;
— готовых наборов утилит для клиентов;
— готовых легкоинтегрируемых решений для новых участников сети;
— маркетинга в чистом виде;
— бесконечной задачи, на которую нужны фактически все ресурсы сети при полной круглосуточной загрузке;
— легкой и понятной участникам сети формы взаиморасчетов.
Экономическая модель сети проста: одним нужна загрузка для их ресурсов – за соответствующую оплату. Другим — недорогие вычисления с широкой, устойчивой сетью, обладающей большим набором утилит.
Если с, условно говоря, «заказчиками», всё относительно ясно, то перед «исполнителями» сразу же встаёт ряд вопросов: чем платить — в начале и в процессе, как загружать их мощности, каким образом определять объём проведённых операций и т.д.
Применение
Область применения данных технологий настолько широка, что рассуждать об этом можно бесконечно. При этом одной из основных особенностей такой сети является многообразие вычислительных мощностей:
— мобильные устройства с установленным сетевым приложением;
— старый домашний компьютер на *nix;
— современная майнинговая ферма;
— свободные серверные мощности небольших компаний и дата-центров;
— умные устройства, бортовые компьютеры транспортных средств и многое другое.
Нейросети
Широкий набор различных устройств даёт возможность не только построить нейросеть, но и использовать для её обучения данные, которые этими устройствами обрабатываются. А создание утилиты, через которую клиенты смогут формировать свои нейросети или обращаться с запросом в уже действующие, позволит решить и сложные аналитические задачи, и вопросы глубокого машинного обучения:
— экономический анализ;
— маркетинговый анализ;
— предиктивный анализ;
— поведенческий анализ;
— решение и формирование исследовательский алгоритмов;
— управление беспилотниками и их обучение;
— оценка и улучшение качества производства.
Для выполнения этих и сотен других задач нужна не заранее заданная программная схема, работающая циклично или выполняющая новые циклы по мере обновления, а саморазвивающаяся экосистема, способная выйти далеко за рамки ограниченной логики восприятия и самого создателя нейросети, и утилитарного агента.
Вычисления
Процессоры большой мощности и оперативная обработка данных — дорогое удовольствие. Простейшие сервера, способные поддерживать корпоративную систему документооборота на 200 пользователей, стоят по 250-400 долларов США в месяц. При этом для их настройки и обслуживания придётся нанимать сотрудника или аутсорсинговую компанию. Если же сервер предоставляется в комплекте SaaS, то подобное решение обойдётся примерно в 10 долларов за пользователя. А это – уже 2000 долларов в месяц.
В крупных компаниях с большим объёмом математических задач, где каждый проведенный через систему документ влечёт за собой записи и пересчёты в сотнях и тысячах других документов, затраты на серверные мощности достигают десятков тысяч долларов в месяц. При этом скорость работы падает диспропорционально увеличению мощности. Таким образом, добавление аналогичного сервера не приводит к такой же скорости работы ещё 200 пользователей: не позволяют возможности сети, неоптимизированность приложений, параметры репликации данных и многое другое.
Распределённые вычисления способны решить скейлабилити-задачу именно по принципу «чем больше – тем быстрее». И за гораздо меньшие деньги!
В распределённой сети утилиты, отвечающие за постановку CPU-задач, способны поднимать скейл участников сети, на которых приходятся пиковые нагрузки. Поэтому клиент не чувствует снижения скорости. А в моменты снижения нагрузки на сеть для проведения операции можно использовать мощность единственного участника.
Хранение данных
Коммерческие облачные сервисы идеально – недорого и легко масштабируемо – решают проблему хранения открытых данных. В том же AWS S3 не существует привязки к изначальным параметрам дискового пространства: вы используете всё доступное дисковое пространство и платите за запросы.
С одной стороны, вопрос хранения статических данных и контента облака решили. С другой – доступные решения слишком централизованы и не обладают достаточной гибкостью в плане репликации и распределения зон их хранения. Из-за этого усложняется как загрузка, так и доставка контента. А о контроле версий в такого рода хранилищах вообще стоит поговорить отдельно.
Если со статикой и контентом всё более-менее понятно, то с приватными данными вопросов очень много. Дело в том, что базы данных абсолютного большинства коммерческих облачных сервисов – централизованные, т.е. по умолчанию вы поднимаете сервер или утилиту в которой определяете дисковое пространство и разворачиваете СУБД.
Проблема централизованного хранения, даже если вы используете две СУБД с разной степенью доступа, заключается в недостаточной глубине шифрования данных. Безусловно для взлома хорошо защищённой базы данных злоумышленнику придётся повозиться. Зато в случае успеха он получает полный доступ к данным.
Децентрализованная сеть позволяет использовать контейнерный тип хранения по кластерам. Каждый из контейнеров объединён цепочкой в блокчейне, поэтому доступ к информации сможет подтвердить только владелец ключа.
Криптографическая защита в сочетании с методом небулятивного перемещения информации делают взлом практически невозможным: данные, находящиеся в цепочке, просто рассыплются в руках злоумышленника, если он попытается извлечь их путём снифферинга или брутофорса.
Целостность данных обеспечивается небулятивной репликацией: каждая база данные дробится на контейнеры (дасты), копии которых распространяются по Небуле в узлы с позитивной историей мониторинговой активности. Проблемы со скоростью решает геооптимизированное размещение дастов: запись и чтение целевых данных производится в регионах, в которых эта информация используется чаще всего.
Дистрибуция контента
Важнейшие показатели дистрибуции контента — скорость и скейлабильность. Главные проблемы — так называемая Последняя миля, а также загруженность узлов крупных провайдеров при пиковых нагрузках. Предиктивные модели распространения контента по сети такими провайдерами используются довольно слабо, вместо них применяют модель «По запросу»: если запрос на контент Х прошёл в каком-либо узле сети, то этот узел сохраняет такой контент для дистрибуции.
Использование предиктивной модели, в свою очередь, подразумевает анализ истории запросов и распределение контента на основе предполагаемых запросов на новый и старый контент. Если из Х следует запрос на появившийся Y, то Y будет распространён по узлам до повышения нагрузки.
В итоге контент распределяется в период начала его появления, не нагружая ни основные узлы, ни Последнюю милю. В пиковые моменты основные узлы будут свободны для выполнения приоритетных задач, а дистрибуция будет вестись из Последней мили, в классическом понимании — из локальной сети провайдера в округе, городе, районе или секторе.
Где блокчейн?
Применение блокчейна, состоящего как минимум из двух уровней, так сказать квадратной структуры — B², просто необходимо в подобной сети.
С одной стороны, токенизация доступа в блокчейне позволит обеспечить безопасность данных, с другой стороны, собственная криптовалюта в такой сети позволит платить владельцам мощностей — майнерам.
Список литературы:
- Мазонка О., Попов В., Хэш Цепочки Технологии Hasq. Австралия. Hasq Technology Pty Ltd, 2014. [Электронный ресурс] – Режим доступа: http://jrxv.net/x/16/Hasq_Hash_Chains_RU.pdf. (Дата обращения 05.03.2018)
- Воронов М.П., Часовских В.П. «Blockchain – основные понятия и роль в цифровой экономике» // Фундаментальные исследования. 2017 г., № 9-1 С. 30-35
дипломов
Оставить комментарий