Методы обеспечения высоконадежной обработки информации в децентрализованных приложениях | Статья в сборнике международной научной конференции

Отправьте статью сегодня! Журнал выйдет 4 мая, печатный экземпляр отправим 8 мая.

Опубликовать статью в журнале

Библиографическое описание:

Балашова, И. Ю. Методы обеспечения высоконадежной обработки информации в децентрализованных приложениях / И. Ю. Балашова, Е. Н. Прошкина. — Текст : непосредственный // Технические науки: традиции и инновации : материалы III Междунар. науч. конф. (г. Казань, март 2018 г.). — Казань : Молодой ученый, 2018. — С. 1-3. — URL: https://moluch.ru/conf/tech/archive/287/13639/ (дата обращения: 25.04.2024).



Выделены характеристики децентрализованных приложений, проведен анализ их функционирования. Рассмотрены методы обеспечения надежности и безопасности использования децентрализованных приложений.

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

Децентрализованные приложения — это новая форма организации и новая разновидность программного обеспечения, основанная на использовании распределенного реестра и технологии блокчейн. Распределенный реестр представляет собой децентрализованную базу данных, которая содержит информацию о всех транзакциях, проведенных участниками системы. Уникальной особенностью является то, что идентичные копии реестра «распределяются» между несколькими серверами размещения и хранения информации (хостами), которые проводят проверку транзакций, написанных в виде «пакетов», посредством согласованного процесса. После проверки «пакеты» блокируются криптографическим «хэшем» или буквенно-цифровой строкой фиксированного размера, которая позволяет хостам проверять входящие данные, но не дает возможности восстанавливать данные [1, стр. 35]. Технологии распределенного реестра позволяют производить транзакцию анонимно, мгновенно и без участия специализированных посредников. Использование данной технологии минимизирует вероятность возникновения мошенничества, поскольку позволяет отследить историю происхождения активов и историю транзакций в рамках единого источника достоверных данных. Блокчейн — это технология распределенного реестра, основанная на постоянно продлеваемой цепочке записей. Одно из главных преимуществ блокчейна по сравнению с другими технологиями распределенного реестра — интеграция обработки данных, обеспечение корректности и безопасности в единый протокол, реализуемый алгоритмически и минимизирующий человеческий фактор. Любая транзакция в блокчейне — это информация, которая впоследствии проверяется независимыми участниками, собирается в блоки и встраивается в глобальную историю транзакций [1, с. 39]. Поскольку каждый участник сети хранит копию блокчейн, и все предыдущие транзакции постоянно переоцениваются до того, как можно будет добавить дополнение, чрезвычайно сложно изменить или удалить данные в цепочке блоков. Всякий раз, когда участник хочет добавить актив или транзакцию в блокчейн, все остальные участники сети запускают алгоритм оценки для проверки транзакции. Если большинство узлов согласны с тем, что транзакция действительна, актив или транзакция будут разрешены и записаны в блокчейн. Таким образом, по блокам транзакций можно отследить верность каждой сделки.

Указанные характеристики распределенного реестра и блокчейна послужили отправной точкой для создания нового типа программного обеспечения, получившего название «децентрализованные приложения» [2, стр. 13]. Чтобы приложение считалось децентрализованным, оно должно соответствовать следующим критериям:

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

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

3. Стимулирование. Приложение должно использовать токены/цифровые активы, чтобы вознаграждать своих сторонников сети.

4. Протокол. Приложение должно генерировать токены согласно стандартному криптографическому алгоритму, выступающему как доказательство значений узлов в распространяемом приложении (например, алгоритм proof-of-work).

В основе функционирования децентрализованного приложения лежат следующие механизмы:

  1. Механизм установления консенсуса. Существует два алгоритма, с помощью которых децентрализованное приложение может установить консенсус: proof-of-work (POW) и proof of stake (POS). При использовании алгоритма proof-of-work решение о внесении изменений в децентрализованное приложение делается на основе объема работы, которую делает каждая из заинтересованных сторон, способствующих функционированию приложения. Данный подход реализован, например, в Bitcoin и Ethereum. При использовании алгоритма proof-of-stake решение о внесении изменений в в децентрализованное приложение делается на основе процента владения, которое имеют заинтересованные стороны. Так, на механизме POS основано приложение Omni Protocol. Два механизма могут использоваться параллельно, как в случае с Peercoin. Такое сочетание позволяет децентрализованному приложению быть более устойчивыми к атаке 51 %.
  2. Механизм распространения токенов. Существуют три распространенных механизма, с помощью которых децентрализованное приложение распространяет свои токены: майнинг, фандрайзинг и коллаборация. При майнинге токены распределяются между теми, кто способствует лучшей работе децентрализованного приложения. Такой механизм реализован в Bitcoin. При фандрайзинге токены распределяются между теми людьми, которые финансируют начальное развитие децентрализованного приложения (Master Protocol). При механизме коллаборации токены генерируются с помощью предопределенного механизма и доступны только для развития децентрализованного приложения.

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

1. Децентрализованные приложения, которые построены на своем собственном блокчейне (Bitcoin, Litecoin и др.).

2. Децентрализованные приложения, которые используют блокчейн децентрализованных приложений первого вида. Децентрализованные приложения данного типа представляют собой протоколы, которые генерируют токены, необходимые для их функционирования. Так, Omni Protocol является примером второго типа децентрализованных приложений.

3. Децентрализованные приложения, которые используют протокол второго типа децентрализованных приложений. Например, SAFE Network использует Omni Protocol для выпуска криптовалюты Safecoins.

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

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

Неизменяемость и конечность транзакций в децентрализованных приложениях достигается при помощи разделения транзакций в блоки, упорядоченные во времени, и расчете криптографической хэш-функции для каждого из блоков. Неизменяемость транзакций сводится к обеспечению неизменяемости заголовков блоков. Неизменяемости заголовков блоков можно достичь многими способами, включая доказательство работы (используемое, например, в биткойне), подтверждение доли (например, как в Nxt) или делегированное подтверждение доли (например, как в BitShares). Организация транзакций в блоки делает возможным эффективное доказательство того, что определенная транзакция входит в блокчейн; для этого используется упрощенное подтверждение платежей (англ. simplified payment verification, SPV). Такое доказательство состоит из списка заголовков блоков, начиная от первого блока и закачивая блоком, в который входит транзакция, а также самой транзакции и соответствующей хэш-ветви.

Использование блокчейн-технологии способствуют обеспечению надежности и безопасности информационных технологий, позволяя предотвратить целый спектр различных атак. Среди них — атаки типа man-in-the-middle (MITM), которые представляют собой шифрованные соединения (например, HTTPS и TLS) для защиты каналов и опираются на инфраструктуру сертификации открытых ключей (PKI) и удостоверяющие центры (CA). Каждый участник сети имеет пару открытый-закрытый ключ. Когда пользователь хочет установить безопасное соединение (зайти на сайт), он запрашивает открытый ключ ресурса у сертификационного центра и шифрует данные перед отправкой. Чтобы расшифровать данные, сайт использует свой закрытый ключ. Надежность системы зависит от того, насколько хорошо защищен удостоверяющий центр. В результате атаки типа MITM выполняется рассылка поддельных открытых ключей, к которым у хакеров есть соответствующие закрытые ключи, и с их помощью выполняется расшифровка передаваемой информации. Однако в системе, основанной на блокчейне, MITM не реализуема. Когда пользователь публикует открытый ключ в блокчейн, об этом «узнают» все узлы. Эта информация записывается в блок, и криптография блокчейна защищает целостность реестра. Так, например, компания Pomcor представила проект, который применяет блокчейн для хранения хешей выданных и отозванных сертификатов. Такой подход дает пользователям возможность проверить аутентичность сертификатов, что оптимизирует доступ к сети.

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

Целью распределенных сетевых атак (DDoS-атак) является ограничение пропускной способности сетевого ресурса. Отказ от центральных DNS-серверов и реализация системы, в которой пары «имя — IP-адрес» регистрируются в блокчейне и распределяются по всем узлам, позволяет обеспечить прозрачность и защищенность данных одновременно. Использование технологии блокчейн также исключит сетевые издержки, связанные с чтением DNS.

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

Литература:

  1. Равал С. Децентрализованные приложения. Технология Blockchain в действии. — СПб.: Питер, 2017. — 240 с.
  2. Генкин А. С., Михеев А. А. Блокчейн: Как это работает и что ждет нас завтра. — Москва: Альпина Паблишер, 2018. — 281 с
Основные термины (генерируются автоматически): децентрализованное приложение, приложение, MITM, распределенный реестр, POS, открытый ключ, транзакция, данные, участник сети, открытый исходный код.

Ключевые слова

надежность, обработка информации, безопасность, блокчейн, децентрализованные приложения

Похожие статьи

Использование технологии блокчейн в финансовом секторе

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

Протокол TACACS+ | Статья в журнале «Молодой ученый»

Он является производным от приложения TACACS, используемого в сети передачи данных.

Спецификация протокола не требует для открытия сеанса авторизации открыть сначала сеанс аутентификации.

Транзакционный бизнес: интеграция банков и небанковских...

MHFG, сеть, реестр акционеров, распределенный реестр, проект, пользователь, открытая история трансакций, консорциум, компания, информация, банк, адрес, SWIFT, эта.

Реализация алгоритма RC4 на CBuilder | Статья в журнале...

Именно оттуда исходный код попал на множество сайтов в сети Интернет.

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

Использование blockchain в банковской системе

Blockchain — это технология децентрализованного, публичного

Так, ведомствам необходимо будет предоставлять банкам специальный ключ для шифрования данных.

Информационное агентство РИА Новости/Прайм «Технологию распределенных реестров в 2017 г хотят...

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

Если приложение работает в режиме клиент/сервер, а аутентификационные данные

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

Для атаки типа Man-in-the-Middle злоумышленнику нужен доступ к пакетам, передаваемым по сети.

Восстановление и параллельность как аспекты управления...

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

Реализация алгоритма шифрования RSA на языке...

Реализация Windows-приложения, выполняющего шифрование по... RSA, MISHA, открытый ключ, закрытый ключ, открытый текст, число, односторонняя функция, дешифрование данных, пар чисел, числовой эквивалент.

Анализ применения гомоморфных схем шифрования в алгоритмах...

Но активное внедрение приложений интеллектуального анализа данных и алгоритмов машинного

Исходные данные и результат работы могут быть доступны только клиенту, отправляющему

Открытый ключ, , представляет собой вектор, содержащий два многочлена

Похожие статьи

Использование технологии блокчейн в финансовом секторе

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

Протокол TACACS+ | Статья в журнале «Молодой ученый»

Он является производным от приложения TACACS, используемого в сети передачи данных.

Спецификация протокола не требует для открытия сеанса авторизации открыть сначала сеанс аутентификации.

Транзакционный бизнес: интеграция банков и небанковских...

MHFG, сеть, реестр акционеров, распределенный реестр, проект, пользователь, открытая история трансакций, консорциум, компания, информация, банк, адрес, SWIFT, эта.

Реализация алгоритма RC4 на CBuilder | Статья в журнале...

Именно оттуда исходный код попал на множество сайтов в сети Интернет.

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

Использование blockchain в банковской системе

Blockchain — это технология децентрализованного, публичного

Так, ведомствам необходимо будет предоставлять банкам специальный ключ для шифрования данных.

Информационное агентство РИА Новости/Прайм «Технологию распределенных реестров в 2017 г хотят...

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

Если приложение работает в режиме клиент/сервер, а аутентификационные данные

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

Для атаки типа Man-in-the-Middle злоумышленнику нужен доступ к пакетам, передаваемым по сети.

Восстановление и параллельность как аспекты управления...

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

Реализация алгоритма шифрования RSA на языке...

Реализация Windows-приложения, выполняющего шифрование по... RSA, MISHA, открытый ключ, закрытый ключ, открытый текст, число, односторонняя функция, дешифрование данных, пар чисел, числовой эквивалент.

Анализ применения гомоморфных схем шифрования в алгоритмах...

Но активное внедрение приложений интеллектуального анализа данных и алгоритмов машинного

Исходные данные и результат работы могут быть доступны только клиенту, отправляющему

Открытый ключ, , представляет собой вектор, содержащий два многочлена