Технология блокчейн и её применение
С докладом про блокчейн, его достоинства, недостатки и хайп я выступил на WebPurple Meetup #25.
На форуме «СТНО-2018» в секции «Информационные системы и защита информации» я выступил с докладом «Применение технологии блокчейн в области защиты информации и его недостатки».
Ниже представлена тезисная статья (для научного сборника), которая посвящена самой технологии, базовым принципам работы и возможным способам использования в распределённых вычислениях и информационной безопасности веб-систем.
Введение
Первая ассоциация с блокчейном — биткоин и другие криптовалюты. Однако, блокчейн, как технология, не обязательно связан с ними и абсолютно от них не зависит.
Блокчейн — цепочка блоков, представляющая собой связанный список. Его основные концепции: распределенность, одноранговость и защищенность. Распределенный “реестр” хранит историю всех операций между узлами одноранговой сети в виде блоков информации.
В общем случае каждый блок характеризуется следующими параметрами:
- индекс;
- временная отметка;
- данные;
- хеш текущего блока;
- хеш предыдущего блока.
Схематичное представление блокчейна
Хешами называют результаты хеширования.
Хеширование — это преобразование массива входных данных в битовую строку фиксированной длины, выполняемое определённым алгоритмом[1].
Хеш-функция работает таким образом, что даже незначительные изменения входных данных приведут к значительному изменению хеша. Из-за этого механизма блоки связываются в цепочку с жесткой зависимостью от содержания предыдущего блока.
Система хранит информацию о всех действиях внутри себя и является единственным достоверным источником данных для своих участников, причём информацию нельзя добавить, перезаписать или удалить, не согласовав действия с другими узлами сети. Сам блокчейн при соблюдении этих условий является единственным источником данных для своих участников.
Блокчейн обеспечивает высокую надежность сохранности данных и прозрачность всех действий, в результате чего повышается уровень доверия участников сети друг к другу и к блокчейну.
Наиболее развитые области, в которых применяется технология блокчейн: финансы и налогообложение, проведение прозрачных процессов голосований, криптовалюты. Наиболее перспективны на данном этапе развития технологии областях распределённых вычислений BigData и информационной безопасности.
Применение блокчейна в области распределённых вычислений и BigData
Спрос на вычисления и обработку данных больших объемов постоянно растет как со стороны научного сообщества, так и со стороны бизнеса и частных лиц. На данный момент для решения задач таких объемов используют суперкомпьютеры и серверные кластеры. Устройства подобного рода занимают большие площади, дороги в разработке и обслуживании, являются ограниченным ресурсом и существенно увеличивают издержки.
Число вычислительных устройств в мире с хорошими показателями вычислительных мощностей постоянно растёт, однако “КПД” этих вычислительных мощностей падает. При среднестатистическом использовании персонального компьютера большую часть времени центральный и графический процессоры в лучшем случае используются на 30%.
Неиспользуемые мощности персональных компьютеров, серверов и даже смартфонов могут приносить пользу, производить вычисления и решать какие-то задачи, если использовать давно существующий подход распределённых вычислений.
Распределенные вычисления — способ решения трудоемких вычислительных задач с использованием нескольких компьютеров, чаще всего объединённых в параллельную вычислительную систему[2].
Проблемой всех существующих систем распределенных вычислений является зависимость от какого-то управляющего центра. Задержки, вызванные особенностями работы сети интернет, большие нагрузки на системы провайдеров и особенности географического расположения узлов являются лишь малой частью проблем, возникающих при обработке данных, созданных на множестве независимых друг от друга устройств. Решением этой проблемы является предоставление устройствам возможности обмена данными друг с другом в режиме реального времени, что распределит нагрузку. В этом случае остаётся лишь одна крупная проблема — синхронизация и валидация различных узлов. С этой задачей и призван справиться блокчейн.
Распределённая сеть устройств на основе блокчейна
С помощью блокчейна можно создать огромную распределенную сеть, узлами которой будут устройства. Работу каждого узла можно четко отследить, поэтому в зависимости от предоставленных вычислительных мощностей участнику сети делается выплата. Каждый узел сети будет характеризоваться собственным рейтингом, предоставляемыми для вычислений мощностями и их ценой.
Общий алгоритм работы подобной платформы предельно прост. Сначала контролирующим центром составляется список задач. Участники сети получают доступ к задачам или их частям в соответствии с их вычислительными мощностями и рейтингом. Результат вычислений проходит проверку контролирующим центром или другими участниками сети. Производятся выплаты. Обработанные данные возвращаются заказчику, где проходят дополнительные проверки. В случае успеха исполнителю производится выплата. Происходит переход к следующей задаче. Рейтинг пользователя строится на основе успешности выполнения задач и произведения платежей.
Подобная платформа имеет огромный потенциал для снижения издержек и увеличения производительности в таких областях, как научные исследования, машинное обучение и рендеринг графики в несколько раз.
Схематичные представления различных типов сетей
Можно сделать вывод, что в сфере распределённых вычислений блокчейн имеет очень большое значение и крупные перспективы. Поскольку блокчейн позволяет создать децентрализованную инфраструктуру, она может приблизить данные к их производителям и потребителям, тогда как централизованные облачные вычисления и центры обработки данных, как правило, расположены в отдаленных районах.
Спрос на вычисления будет продолжать расти по мере развития сопутствующих технологий. Будут ли облачные сервисы масштабироваться, чтобы удовлетворить требованиям ресурсов, затрат и скорости,еще не известно, но блокчейн предлагает выгодную альтернативу, может дать новые возможности и преуспеть в тех случаях, когда существующие технологии уже не смогут предложить ничего интересного.
Применение блокчейна в области информационной безопасности веб-систем
С точки зрения информационной безопасности, блокчейн — это технология, которая помогает шифровать все действия, выполняемые с файлом или объектом, в хеш. Фактически, это не совсем шифрованием, но оно не может быть отменено, изменено и или вскрыто простыми способами, в то же время все манипуляции с зашифрованными блоками остаются полностью прозрачными: всегда известно, какие транзакции были выполнены, когда и кем. Такой подход к обеспечению безопасности данных открывает новые возможности в области безопасности веб-приложений.
Недостатком популярных сегодня средств общения (социальных сетей и мессенджеров) является централизация хранимых данных и не всегда надежное сквозное шифрование, используемое ими повсеместно, это ставит под угрозу защищенность данных, с помощью которых часто можно идентифицировать личность человека, отправляющего сообщение, его электронную почту и другие данные.
Блокчейн решает эту проблему, избавляя пользователя от необходимости постоянного использования личных данных для авторизации в системах, а компании от необходимости поиска надежного хранилища и организации его защиты. Все данные будут случайным образом разбиты на небольшие кусочки (чанки) и распределены по пользователям всей системы. Отдельный пользователь не сможет извлечь из отдельного чанка никакой информации, а злоумышленник не сможет собрать все чанки воедино.
Децентрализация хранилища данных делает провайдеров данных менее уязвимыми для централизованных атак, так же позволят предприятиям обеспечить безопасность коммерческих данных гораздо эффективнее и снизить затраты на хранение информации. В случае внутреннего нарушения протокола блокчейн позволит безошибочно узнать источник опасности и изолировать его.
Блокчейн предоставляет множество возможностей для обнаружения и предотвращения хакерских атак на веб-сайты. Признаки DDoS-атак сохраняются в блоки, и при повторном обнаружении подобных атак доступ злоумышленнику будет ограничен, такой подход уже используют PayPal, Twitter, Spotify и другие крупные компании.
У существующей системы DNS-серверов тоже есть проблемы с защищенностью информации, потому что они хранят ключи доступа в централизованном хранилище и часто почти полностью полагаются на кеширование. Эту проблему можно решить с помощью блокчейна, используя распределенную сеть ключей и ключевых узлов-серверов. В конечном счете, блокчейн защитит серверы от хакерских атак и сделает их практически недоступными для злоумышленников, а также снизит риски отказа в обслуживании в результате высокой нагрузки на централизованный сервер или нарушения целостности кеша.
Блокчейн — самое перспективное изобретение в области кибербезопасности последнего десятилетия. Вероятно, это произведет революцию существующих систем кибербезопасности, обеспечит гораздо более безопасный интернет на долгие годы и, в любом случае, запустит новый цикл эволюции индустрии.