Статьи по теме: «Информационная безопасность»
Технология блокчейн с точки зрения информационной безопасности. Часть 1
Содержание:
Введение
Блокчейн является одним из видов более широкого класса технологий хранения и синхронизации данных – распределенного реестра (англ. DLT – Distributed Ledger Technology). Ключевое свойство всего класса технологий распределенного реестра – отсутствие централизованного управления. Каждый узел распределенной системы (состоящий из сопутствующего программного обеспечения и собственно реестра) делает записи в своей версии реестра независимо от других узлов и синхронизируется с ними в рамках одноранговой сети. Особенностью блокчейна как вида распределенного реестра является то, что записи соединяются в инкрементальную цепочку блоков с использованием криптографических алгоритмов, отсюда и его название (англ. blockchain, цепочка блоков).
Помимо хеш-функций важную роль в блокчейне выполняет набор математических правил и функций, называемый алгоритмом консенсуса. Основной задачей алгоритма консенсуса является генерация и синхронизация цепи блоков у всех участников сети. База данных блокчейна хранится у неограниченного количества участников блокчейн-сети в специальных узлах сети (называемыми узлами консенсуса или узлами майнинга). При этом участники сети заранее неизвестны и могут подключаться или отключаться в любой момент. Алгоритм консенсуса обеспечивает достижение общего соглашения о текущем состоянии базы данных всеми участниками сети. Работа по группировке новых транзакций в блоки и вычислению хеш-функций для защиты цепи блоков выполняется также узлами консенсуса, как правило, получающими за это вознаграждение в виде цифрового актива (например, криптовалюты). Все эти особенности, включая экономические мотивационные механизмы для участников блокчейн-сетей, привели к созданию специализированных алгоритмов консенсуса, отличных от консенсусов распределенных систем, использовавшихся до появления блокчейна.
Сочетание свойств распределенного реестра с блочной структурой данных, основанной на криптографической связанности, позволяет блокчейну эффективно реализовывать два из трех ключевых аспектов информационной безопасности – целостность и доступность информации. В силу децентрализованной топологии и криптографических механизмов, злоумышленные манипуляции информацией становятся крайне дорогостоящими и затруднительными, а сама информация остается доступной для всех участников при значительных изменениях в размерах блокчейн-сети. Однако традиционная модель децентрализованной публичной блокчейн-сети, обеспечивающей прозрачность и устойчивость к цензуре, в силу своей архитектуры и идеологии не позволяет обеспечить третий аспект ИБ – конфиденциальность данных. По этой причине, а также из-за проблем масштабируемости, появилась модель приватного блокчейна.
Приватный или частный блокчейн в первую очередь отличается моделью обеспечения доступа к сети, при которой право вносить изменения в реестр есть у строго определенных участников. Кроме того, обычно ограничен доступ на чтение записей реестра. Приватный блокчейн идеологически отличается от публичного. В такой сети появляется оператор, и она уже не может быть децентрализованной, только распределенной. Тем не менее приватный блокчейн позволяет обеспечивать конфиденциальность записей, так как теперь доступ предоставляется согласно политикам безопасности. Такие сети получают все большее распространение как инфраструктура для корпоративных и государственных задач.
Существует модель гибридного блокчейна, совмещающая оба подхода. При ней записи из приватной сети или их метаданные могут дополнительно храниться в публичном блокчейне, обеспечивая дополнительную отказоустойчивость всего реестра.
С точки зрения безопасности блокчейн стоит оценивать не как самостоятельную технологию, а как инфраструктурный слой для конкретного сценария – базу данных для корпоративной информационной системы, среду исполнения децентрализованного приложения или смарт-контракта и т.д. Анализ многочисленных инцидентов ИБ, связанных с блокчейн-решениями, показывает, что часто самой уязвимой частью является не блокчейн-сеть, а смежные компоненты и информационные системы. Далее в статье будут рассмотрены наиболее интересные и актуальные векторы атак на блокчейн-решения, а также особенности реализации базовых принципов безопасности.
Глава 1. Публичный блокчейн
История публичного блокчейна неразрывно связана с криптовалютами. В целом как технологическое явление блокчейн обрел популярность благодаря первой криптовалюте Биткоин (англ. Bitcoin). Являясь базовым сценарием, сформировавшим технологию в ее текущем виде, криптовалюты и сопутствующие финансовые инструменты продолжают активно развивать технологию и решать архитектурные ограничения первых реализаций. С другой стороны, капитал всегда привлекает значительное внимание злоумышленников, и публичные блокчейн-сети, генерирующие и обслуживающие цифровые активы, постоянно подвергаются разнообразным атакам.
Самые распространенные атаки напрямую не воздействуют на блокчейн-сети. Они нацелены на хищение активов, доступ к которым обеспечивается с помощью приватного ключа. Перед тем как разбирать этот вид угроз, необходимо описать принцип владения цифровым активом, в частности, криптовалютой.
Безопасное хранение приватного ключа как основа защиты цифровых активов
Каждая транзакция (например, перевод криптовалюты из одного кошелька в другой) внутри блока подписывается ассиметричной электронной подписью (далее — ЭП). Этот дополнительный криптографический слой необходим в публичной сети, где участники анонимны и не доверяют друг другу.
Использование асимметричного механизма в цифровой подписи отличается от традиционного асимметричного шифрования. Подписание производится закрытым или приватным ключом, а проверка подписи — открытым или публичным ключом (проверить подпись транзакции может любой участник). Значение открытого ключа вычисляется на основе закрытого ключа, а вот обратное преобразование требует пока практически неосуществимого объема вычислений.
Приватный ключ генерируется пользователем, и обеспечивает доступ к адресу в блокчейне, на котором может хранится цифровой актив. Зная значение приватного ключа, пользователь фактически владеет и может распоряжаться цифровым активом, закрепленным за ним. Публичный ключ используется как адрес блока или кошелька, а также в качестве проверки подлинности подписи информации в других блоках другими участниками сети. С некоторым допущением можно сказать, что пара публичного и приватного ключа и являются блокчейн-кошельком.
С учетом этой специфики надежное хранение приватного ключа является основой безопасных операций с криптовалютой и другими активами. Наиболее распространенным инструментом хранения являются так называемые «горячие» кошельки — подключенные к интернету приложения для хранения приватных ключей и операций с цифровыми активами. Существуют различные виды подобных решений (например, полностью облачные кошельки или децентрализованные приложения), но их использование по очевидным причинам связано с повышенным риском. Для их взлома, как и для взлома других пользовательских программ, используются самые распространенные атаки – от фишинга до вредоносного ПО.
Альтернативой является «холодный» кошелек – тип хранения приватных ключей, при котором у среды хранения нет прямого взаимодействия с интернетом и блокчейн-сетью. Значение приватного ключа можно хранить как в виде записи на бумаге или в файле на локальном носителе, так и в специализированном аппаратном кошельке. «Холодный» подход обеспечивает более высокий уровень защиты приватного ключа, но в большинстве случаев не позволяет удобно и быстро совершать операции.
Отдельным видом хранения являются кошельки, принадлежащие централизованным сервисам, занимающимся торговлей и обменом криптовалют. Персональные аккаунты и базы данных пользовательских кошельков бирж регулярно взламываются. Многие биржи заявляют, что держат большую часть активов клиентов на «холодных» кошельках. Тем не менее, только в 2019 году было взломано 12 крупных бирж – суммарно пострадали 510 тысяч учетных записей с хищением криптовалюты на общую сумму около 300 млн долларов.
Вектор атаки, направленный на получение доступа к приватному ключу напрямую не связан с блокчейн-сетью. Тем не менее, степень этого риска пытаются понизить в том числе с помощью архитектуры блокчейн-сети. В частности, набирают популярность децентрализованные сервисы, принципиально отличные от традиционных криптобирж. Они не хранят приватные ключи и персональные данные на своих серверах и выступают в роли посредников для сопоставления заявок на покупку и продажу активов. Пользователь отправляет подписанные торговые команды (ордера), биржа сопоставляет подходящие ордера на покупку и продажу актива, а непосредственно обмен происходит напрямую между участниками торгов.
Дополнительная защита цифровых активов реализуется также с помощью технологии мультиподписи или мультисига (англ. multisignature). Фактически это требование нескольких подписей (Y подписей из X подписантов) для подтверждения транзакции. Участие в процессе подтверждения транзакции нескольких пользователей с хранящимися отдельно приватными ключами значительно увеличивает защиту кошелька. Как правило эта конфигурация в кошельке реализуется с помощью смарт-контрактов, о которых написано далее.
(Не)умные контракты
Умные или смарт-контракты (англ. smart contracts) существенно расширяют возможности блокчейн-сетей, но и создают большое количество новых векторов атак.
Смарт-контрактом называют компьютерный алгоритм, предназначенный для самостоятельного исполнения действия при наступлении определенных условий в блокчейн окружении. Стороны подписывают смарт-контракт методами, аналогичными подписи транзакций и размещают по определённому адресу в блокчейн-сети. Умные контракты легли в основу множества блокчейн проектов и инициатив. На них строились ICO-кампании (англ. Initial Coin Offering) по привлечению инвестиций в новые активы; они лежат в основе децентрализованных автономных организаций DAO (англ. Decentralized Autonomous Organization) и децентрализованных приложений (например, азартных или коллекционных игр). На смарт-контрактах работают популярные сейчас децентрализованные финансовые инструменты DeFi (англ. Decentralized Finance).
В зависимости от блокчейн-сети смарт-контракт может быть разработан либо на специализированном языке программирования (например, язык программирования Solidity, использующийся в самой распространенной платформе для реализации смарт-контрактов Ethereum), либо на языках общего назначения (JavaScript, Golang, Rust и т.д.). Примечательно, что термин “умный контракт” неоднократно подвергался критике, так как фактически это самоисполняющийся код, алгоритмически описывающий конкретные условия. В публичном блокчейне этот код виден всем участникам сети, знающим адрес контракта. Следовательно, любая ошибка в контракте, ведущая к его уязвимости, может быть использована третьей стороной. При этом сторона, отвечающая за корректную работу смарт-контракта часто не может оперативно исправить уязвимость, так как контракт уже находится в неизменном реестре в состоянии исполнения. Эти условия усугубляются тем, что контракты, написанные на Тьюринг-полных языках программирования типа Solidity, не могут быть формально верифицированы (т.е. правильность кода контракта в отношении спецификации не может быть математически доказана и гарантирована). К слову, некоторые блокчейн-проекты дают возможность разрабатывать контракты на не полных по Тьюрингу языках, но даже при таком подходе очень сложно верифицировать инварианты самого блокчейн окружения, в котором исполняется контракт. Тем не менее, некоторые блокчейны, заявляют о возможности нативной формальной верификации.
Один из самых громких инцидентов, связанных с взломом смарт-контрактов произошел в 2016 году. Была проэксплуатирована ошибка в контракте, описывающем работу первого автоматического инвестиционного фонда The DAO в сети Ethereum. Злоумышленники использовали уязвимость в функции, предназначенной для создания дочерних версий проекта, и смогли многократно получить эфир (криптовалюту Ethereum) при исполнении одной транзакции, в итоге получив криптовалюты в эквиваленте более 50 млн долларов. Поскольку смарт-контракты DAO размещались непосредственно в блокчейне Ethereum, инициативной группе, представляющей интересы платформы, пришлось пойти на спорное решение – запустить новую версию всего реестра на основе определенного момента предыдущей версии (так называемый форк). Данная версия позволила откатиться к статусу сети до взлома смарт-контракта The DAO, вернуть инвесторам деньги и исправить уязвимость. При этом были нарушены декларируемые принципы публичного блокчейна – неизменяемость, отсутствие цензуры и децентрализованное управление.
Через год случился другой громкий инцидент, связанный уже с уязвимостью приложения на Ethereum — из-за уязвимости в смарт-контракте мультиподписи кошелька Parity хакер вывел эфир в эквиваленте 30 млн долларов.
Череда этих и более мелких взломов смарт-контрактов, продолжающихся по сей день, делает эту технологию самой незащищенной частью большинства блокчейн-сетей. Ошибки в программировании, логике контракта, специфичное блокчейн окружение, в котором исполняется контракт – все это может стать причиной его уязвимости. Учитывая прозрачную и неизменяемую среду публичных блокчейнов, лучшей защитой остается качественная разработка и тестирование кода контракта до его запуска. На рынке уже существуют специализированные сервисы по аудиту кода умных контрактов. Подобные дополнительные меры защиты могут быть актуальны не только для контрактов, исполняемых в публичных блокчейнах, но и в приватных сетях (подробнее от этом в следующей главе).
Другие вызовы
Архитектура, криптографические функции и алгоритмы консенсуса децентрализованной блокчейн-сети также могут быть потенциально проэксплуатированы, тем самым подвергая угрозе базовый принцип блокчейна – неизменность данных. Ниже перечислены основные виды атак на инфраструктуру публичных блокчейн-сетей. Многие из них существуют пока в теории и обсуждаются как концептуальные.
Концепция, при которой контроль над более 50% ресурсами блокчейн-сети, позволяет создать свой форк, который заменит текущий реестр блокчейна (блоки других участников тогда перестанут подтверждаться) и станет актуальным. При этом можно будет откатить предыдущие транзакции или смарт-контракты или провести «двойную трату» – провести в блокчейне несколько транзакций с использованием одних и тех же цифровых активов. Отдельным подвидом является атака дальнего действия (англ. Long-range attack), смысл которой в том, чтобы начать собирать ложный форк задолго до актуального блока. В некоторых видах консенсуса это будет стоить меньше ресурсов. В зависимости от алгоритма консенсуса, реализация атаки будет отличаться. На текущий момент выделяется две основные группы алгоритмов: на основе доказательства работы (англ. Proof-of-Work) и на основе подтверждения доли (англ. Proof-of-Stake). В случае первого алгоритма (напр., Bitcoin и Ethereum) атакующему требуется завладеть 51% вычислительных ресурсов сети. В случае с Proof-of-Stake (напр., Tezos и Waves), для реализации атаки 51% атакующему требуется завладеть 51% основного актива сети. Стоит отметить, что для развитых и действительно децентрализованных сетей, таких как Bitcoin и Ethereum, подобная атака остается очень дорогостоящей – для ее успешной реализации требуется огромная вычислительная мощность, сравнимая с сотнями суперкомпьютеров. Однако в менее масштабных сетях такие атаки вполне реальны. В частности, летом 2020 года были проведены две атаки 51% на блокчейн Ethereum Classic – форк оригинального Ethereum, произошедший после взлома the DAO в 2016 году.
Атака Сивиллы (англ. Sybil Attack)
Вид атаки в одноранговых сетях, при которой злоумышленник наполняет сеть подконтрольными ему узлами, к которым подключаются узлы других участников. Атакующий окружает узел жертвы так, чтобы иметь контроль над всеми исходящими и входящими транзакциями. В крупных децентрализованных сетях такую атаку реализовать крайне сложно, так как узел участника для подтверждения транзакции выбирает другой узел сети практически случайно. Хотя процесс соединения практически рандомизирован, можно взломать журнал доверенных адресов жертвы – он будет содержать адреса узлов злоумышленника. Атака Сивиллы позволяет отключать других пользователей от сети, наблюдать за их транзакциями или реализовывать «двойную трату».
Взлом подписей и хеш-функций
В блокчейн-сетях используются различные криптографические механизмы, многие из них (например, алгоритмы SHA-256 и ECDSA) считаются крайне стойкими ко взлому текущим поколением вычислительных мощностей. Но появление квантовых компьютеров позволит преодолевать нынешнюю стойкость, и в результате взламывать механизмы, лежащие в основе блокчейна, в первую очередь, ЭП. К слову, уже начинает разрабатываться постквантовая криптография. Например, команда Quantum Resistant Ledger создает блокчейн-систему, криптостойкую к квантовым атакам.
Конечно, это не все виды потенциальных атак на инфраструктуру блокчейн-сетей. Можно отдельно говорить об атаке Р+Epsilon, DDoS атаках и замедлении времени, эксплуатации уязвимостей в ПО узлов сети и других угрозах. Однако большинство из них пока не было реализовано.
Суммируя виды угроз для публичных блокчейн-сетей можно говорить о следующих уязвимых составляющих блокчейн-стека и решений на его базе:
- Интерфейсные компоненты, пользовательские приложения (например, кошельки) и централизованные решения (например, биржи). Взлом этих систем в большинстве случаев приводит к захвату приватного ключа;
- Смарт-контракты;
- Алгоритмы консенсуса;
- Узлы сети;
- Ключи и криптографические функции.
Многие из описанных выше угроз также могут быть актуальны и для приватных блокчейнов, но корпоративные сценарии имеют собственные особенности обеспечения информационной безопасности. Об этом пойдет речь в следующей главе.
Глава 2. Приватный блокчейн и гибридные модели
Публичные блокчейн-сети в целом хорошо себя зарекомендовали в качестве инфраструктуры для электронных платежных систем. По сей день продолжаются попытки адаптировать публичный блокчейн под корпоративные нужды, но для большинства государственных и бизнес-заказчиков публичный блокчейн с его независимостью и открытостью данных по-прежнему является неподходящей концепцией. Именно это привело к появлению приватных блокчейн-сетей с контролем доступа и множества корпоративных блокчейн-проектов на их основе. Рассмотрим основные аспекты безопасности приватных блокчейн-сетей.
Как упоминалось в начале статьи, в приватных блокчейн-сетях контроль доступа обычно распространяется на подключение к сети и чтение данных. Приватный блокчейн как правило распределен (но в силу очевидных причин никогда не децентрализован), а узлы сети расположены в нескольких организациях или офисах одной компании. Рассмотрим такую схему на примере блокчейн-платформы Федеральной налоговой службы Российской Федерации, запущенной в 2020 году. Узлы сети установлены в самой службе, а также во всех банках, подключенных к платформе. Задача решения на первом этапе – автоматизировать процесс обработки документов по заявкам малого и среднего бизнеса на получение льготного кредита в рамках поддержки МСП во время пандемии коронавируса.
Блокчейн в этой системе обеспечивает защиту данных от любых несанкционированных изменений и исключает возможность дублирования заявлений от одной и той же организации. ФНС является оператором сети и выдает разрешения на подключение новых кредитных организаций. Разрешение на чтение данных могут выдаваться участникам, которые непосредственно не участвуют в процессе обработки заявок и кредитования – например, органам власти, осуществляющим наблюдение за процессом.
Очевидно, что приватный блокчейн обеспечивают лучший контроль над инфраструктурой со стороны организации или группы компаний. Это относится как к общим ИТ-аспектам (например, возможность быстро обновить функциональность), так и к аспектам ИБ. Модель угроз для решений, работающих на приватном блокчейне, уже не включает в себя ряд атак, актуальных для публичного блокчейна. Так, несмотря на сравнительно малый размер распределенной блокчейн-сети, атака 51% или атака Сивиллы становятся трудными для выполнения – все узлы находятся под контролем в доверенных зонах. Гипотетически злоумышленник может получить доступ и к подконтрольному узлу, но в таком случае стоимость атаки многократно возрастает из-за необходимости преодоления корпоративного периметра различных организаций и используемых ими средств ИБ.
Контроль доступа является базовой функцией приватной блокчейн-сети, без разрешения оператора сети в ней не появится новый участник. Это обеспечивает доступность информации в классическом понимании ИБ – доступ к информации будут иметь только авторизованные участники.
Другой особенностью приватных сетей является возможность использования алгоритмов консенсуса, адаптированных для доверенной сети. Оптимизируя консенсус с помощью облегченных протоколов взаимодействия между аутентифицированными участниками сети, можно добиться большей пропускной способности и масштабируемости. Пропускная способность блокчейн-сетей и распределенных баз данных измеряется транзакциями в секунду (англ. Transaction per Second). Для сравнения, в публичных сетях на основе алгоритма консенсуса доказательства работы в секунду обрабатываются десятки транзакций, тогда как в алгоритмах быстрого консенсуса это сотни и тысячи транзакций. К ним относятся Byzantine/Crash Fault Tolerance, Raft, консенсус на основе подтверждения полномочий (англ. Proof-of-Authority) и другие. Консенсусы, применяемые в приватных сетях, не подходят для сложных экономических моделей, но обеспечивают целостность и доступность информации за счет быстрой и надежной синхронизации в доверенной сети.
Принципиально по-другому в приватных блокчейнах обстоят дела и с конфиденциальностью данных — это свойство реализовывается с контролем прав чтения записей реестра. Более того, некоторые приватные блокчейн-платформы позволяют использовать дополнительные инструменты защиты данных. Можно представить сценарий, в котором несколько участников приватной блокчейн-сети должны совершить транзакции так, чтобы остальные участники этой сети не могли их видеть, даже в зашифрованном виде.
Различные приватные платформы (например, Hyperledger Fabric, Corda, Waves Enterprise) позволяют обеспечить конфиденциальный обмен данными внутри блокчейн-сети разными способами, в основном за счет взаимодействия приватных баз данных вне блокчейн-сети, с хранением хеш-сумм этих данных в блокчейне. Такой подход к хранению самих данных вне блокчейна (англ. off-chain) может быть дополнительно актуален в силу того, что размер блока ограничен и не подходит для хранения больших объемов данных.
Практический сценарий использования приватного блокчейна – система дистанционного электронного голосования
Рассматривать блокчейн-решение с точки зрения ИБ следует комплексно и исходя из задач информационной системы, работающей на блокчейне. В корпоративных сценариях блокчейн зарекомендовал себя как технология, подходящая для конкретных сценариев – управления цепочками поставок и жизненным циклом товара, финансовых систем и документооборота; токенизации и цифровых активов; расчетов по сделкам в ЖКХ и рынках энергетики; программ лояльности и ряда других сценариев. Каждое из этих применений достойно отдельного разбора с самостоятельным анализом модели угроз. Мы же рассмотрим государственный сценарий применения приватного блокчейна, актуальный на момент написания статьи – в системе дистанционного электронного голосования (далее – ДЭГ). ативные системы ДЭГ на базе блокчейна. Система Департамента информационных технологий г. Москвы использовалась локально в общероссийском голосовании по поправкам к Конституции и в единый день голосования. Система ДЭГ от Ростелекома использовалась в единый день голосования в Курской и Ярославской областях.
Данные системы несколько отличаются архитектурно, но мы опишем общую концепцию на примере последней.
Система ДЭГ от Ростелекома (где используется блокчейн-платформа Waves Enterprise) является программно-техническим комплексом, обеспечивающим взаимодействие участников избирательного процесса в единой информационной среде.
Схема взаимодействия компонентов и участников системы ДЭГ (источник: https://hsto.org/webt/at/pm/kl/atpmklbrax0roe0fbookt0f6ttw.png)
Для включения в список участников дистанционного электронного голосования избирателю необходимо подать заявление на портале Госуслуг. После получения заявления данные избирателя проходят проверку в ЦИК России и загружаются в компонент «Список избирателей» системы ДЭГ. Процесс загрузки сопровождается записью уникальных идентификаторов в блокчейн.
Следующий компонент системы – портал ДЭГ. В период проведения голосования избиратель должен авторизоваться на портале ДЭГ с помощью учетной записи Госуслуг и получить бюллетень. Задача анонимизации голосования ранее идентифицированного пользователя решается благодаря криптографическому алгоритму слепой подписи .
После того как избиратель проголосовал, бюллетень зашифровывается на его устройстве, отправляется и записывается непосредственно в блокчейн-платформу. Чтобы реализовать принцип тайного голосования, приватный ключ, способный расшифровать бюллетень и узнать выбор избирателя, разделен между участниками избирательного процесса – членами комиссий, общественной палаты, операторами серверов подсчета и т.д. Во время подсчета голосов ключ собирается. На этом этапе (начиная с шифрования бюллетеня) используется алгоритм гомоморфного шифрования , благодаря которому записанные в блокчейн бюллетени можно суммировать без расшифрования, а после расшифровки получить итоговое значение по каждому варианту выбора в бюллетенях.
Как видно из примера, приватный блокчейн не является ключевой технологией ИБ, в комплексе есть компоненты (например, ЕСИА или портал ДЭГ) никак не связанные с блокчейном и которые можно проэксплуатировать. Ключевые задачи конфиденциальности и анонимности решаются с помощью криптографического протокола, состоящего из нескольких технологий (слепая подпись, гомоморфное шифрование и т.д.). При этом данный протокол эффективно работает в связке с блокчейн-платформой, которая в целом объединяет компоненты комплекса. В данном примере блокчейн представляет отказоустойчивую инфраструктуру для зашифрованного хранения и обработки голосов и среду для комплексных криптоалгоритмов. Можно представить, что с развитием системы ДЭГ появится возможность устанавливать узлы в центрах прозрачности, что позволит независимым наблюдателям следить за ходом голосования или даже передавать какие-то данные из приватной сети в публичную.
Гибридный блокчейн
Упомянутая выше сеть, в которой приватный блокчейн связан с публичным, а транзакции первого дополнительно валидируются консенсусом последнего, является гибридной. Это упрощает аудит и дополнительно повышает уровень защиты и контроля над процессом у конечных пользователей и сторонних организаций. Такая архитектура переводит доверие к решению формата «черный ящик» из субъективного, когда доверие к системе равно доверию к контролирующей ее организации, в объективное. Этому будет способствовать публичный блокчейн и дополнительная стоимость атаки на внешнюю часть системы.
Когда сами данные из приватной сети нельзя передавать за ее пределы, гибридную архитектуру можно использовать в режиме «якорения». Привязка или «якорение» (англ. anchoring) — это модель, при которой операторы приватного блокчейна отправляют хеш-суммы блоков для включения в поддерживающий публичный блокчейн в формате транзакций-свидетельств.
Привязка приватного блокчейна при помощи поддерживающего публичного блокчейна
Якорение решает проблему диверсификации безопасности разных моделей консенсусов и хорошо работает для приватных блокчейнов, в качестве дополнительного уровня обеспечения целостности информации.
По мнению аналитической компании Gartner, гибридная модель станет приоритетной для реализации корпоративных блокчейн-решений через несколько лет. Такая архитектура позволяет использовать блокчейн максимально приближено к его оригинальной идее – для прозрачного хранения данных (или хотя бы метаданных) в среде, независимой ни от одного из участников.
Описывая текущий уровень безопасности приватных блокчейн-сетей, можно сказать, что ряд инфраструктурных атак, нацеленных на эксплуатацию алгоритмов консенсуса, взлом криптографии или на узлы сети, менее актуален для них. В большинстве случаев инфраструктурный слой находится в защищенном периметре одной или нескольких организаций, и стоимость атаки извне становится слишком высокой. При этом внешние компоненты информационной системы, работающей на блокчейне, могут оставаться уязвимыми, подвергая риску всю систему. В примере с системой голосования успешная DDoS атака на портал ДЭГ может остановить весь процесс ДЭГ.
Также для приватных блокчейн решений остается актуальной проблема безопасности смарт-контрактов. Несмотря на то, что код контракта в случае приватной сети не доступен для просмотра широкому кругу, ошибки в нем могут приводить к серьезным уязвимостям описываемого бизнес-процесса. Компании по кибербезопасности уже адресуют этот риск соответствующими сервисами.
Заключение
Сегодня на территории России активно развиваются различные проекты на базе технологии приватного блокчейна – как в государственном секторе, так и в корпоративном. Использование криптовалюты, как основного сценария публичных блокчейнов ограничено Федеральным законом о цифровых финансовых активах и цифровой валюте (№ 259-ФЗ от 31.07.2020 г.). Тем не менее, публичные блокчейны могут применяться как для корпоративных проектов (например, в гибридной архитектуре), так и для других инициатив. Важно реально оценивать безопасность различных конфигураций этой технологии.
Несмотря на действительно уникальный подход к защищенному хранению и обмену информацией, блокчейн-сети и решения на их основе могут быть уязвимы как для специфичных, так и для традиционных атак. Говоря о построении защищенных блокчейн решений, следует в первую очередь найти ответы на общие и специализированные вопросы информационной безопасности:
- Какова криптостойкость используемых криптографических алгоритмов?
- Как реализована работа с ключами, что произойдет в случае компрометации ключа, есть ли механизмы восстановления / замены ключа?
- Изучены ли атаки на используемые алгоритмы консенсуса?
- Есть ли рекомендации по безопасной настройке блокчейн-платформы?
- Как организован процесс разработки и тестирования блокчейн решения?
- Будет ли проведен независимый аудит смарт-контрактов?
- Как решены вопросы доверия к внешним данным, записываемым в блокчейн?
- Будут ли проведены внешние и внутренние тесты на проникновение во время приемо-сдаточных испытаний?
- Кто в распределенной системе отвечает за ИБ?
- Запланированы ли проверки защищенности узлов сети?
- Будет ли реализован ИБ мониторинг сети и решения?
- Каков план реагирования на инциденты, и кто за него отвечает?
Блокчейн, как и другие виды распределенных реестров, может быть сам использован как решение ИБ. В последнее время появляется все больше проектов по кибербезопасности, основанных на этой технологии – проверка целостности прошивок IoT устройств, защита от DDoS-атак, децентрализованная идентификация и аутентификация, инфраструктура открытых ключей нового поколения и т.д.
В следующей статье будут рассмотрены основные сценарии применения блокчейна в качестве инструмента ИБ.
Автор:
Войтов Матвей, директор по маркетингу корпоративной блокчейн-платформы Waves Enterprise.
Интернет-портал «Безопасность пользователей в сети Интернет» admin@safe-surf.ru https://safe-surf.ru
Блокчейн — что это такое? Описание и подробное руководство
Блокчейн — технология, тесно связанная с криптовалютой, но имеющая более широкие возможности. Простым языком — это цепочка блоков с информацией о транзакциях, которые проводят майнеры или участники биржи. Слово «транзакция» далеко не ново и может быть знакомо читателям. Тем не менее для лучшего понимания термина «блокчейн» нужно углубиться в рассмотрение всех аспектов.
Определение понятия термина блокчейн
Что такое блокчейн?
Рассматривая технологию, нужно вспомнить о часто встречающемся в интернете понятии DLT, или «технологии распределённого реестра», — это и есть блокчейн, представляющий собой особый тип базы данных.
Технологию выделяют из ряда других уникальные свойства. Добавление данных происходит согласно прописанным программой правилам. Код надёжно защищён, и удалить или изменить его после добавления информации невозможно без повреждения всей цепочки.
Структурной единицей данных является блок. Периодически пользователи создают цепочки из блоков, проводя определённые действия — транзакции. Новый блок с информацией добавляется поверх старого и соединён с ним единой информацией. Изучив последний блок, можно точно узнать, что после него ничего нет. Пойдя по виртуальной цепочке данных, пользователь достигнет «генезис-блока». Это начальная структурная единица, с которой стартовала вся цепочка. Первый блок в ней.
Для лучшего понимания можно провести аналогию с таблицей, состоящей из двух колонок. В ячейку, расположенную в первой строке, заносится информация, которую нужно сохранить.
Эта информация преобразуется в идентификатор, состоящий из двух символов. В дальнейшем он станет частью следующей ячейки. В рассматриваемом примере id КР будет использован в первой ячейке второй сроки и преобразуется до вида defKP. Объединение данных в единую цепочку значит, что если первоначально введённые данные изменить (к примеру, до вида abcAA), вся структура претерпит изменения.
Изображение базы данных, в которой каждая запись связана с последующей
Взглянув на 4 строку в таблице, можно увидеть последний идентификатор в цепочке — ТН. Как было сказано выше, предыдущие записи невозможно удалить или изменить. Причина проста — это сразу видно, и пользователи, и система сразу поймут, что была попытка взлома. Она блокируется, а данные легко восстанавливаются до первоначального вида.
К примеру, данные в первой ячейке изменены, но вторая не соединена с ней смысловой информацией, идентификатор не совпадает. ТН — это не просто случайный буквенный набор, а итог, к которому цепочка пришла в результате последовательности взаимосвязанных блоков.
Технология связи блоков
Приведённые для примера идентификаторы, состоящие из двух букв, — это сильно упрощённая аналогия использования хеш-функций блокчейном. Хеширование — это связующее звено всех блоков. Можно сказать, что это своего рода клей, соединяющий их вместе. Вся информация, независимо от размера, пропускается через специальную функцию математического типа — для выполнения хеширования в отрезки одинаковой длины.
Специфика хешей блокчейна крайне интересна: очень сложно обнаружить пару входов с одним выходом. В данном случае применим сценарий, описанный для идентификаторов. Попытка изменить вход приведёт к другому выходу.
Хорошей иллюстрацией вышесказанного станет рассмотрение функции SHA256, применяемой в Биткоине. Пример показывает, что попытка изменить заглавную букву на прописную приводит к получению результата, отличающегося от первоначального.
На момент написания этих строк не было ни одного случая получения одинаковых выходов при работе функции SHA256, что крайне важно для всей технологии блокчейн, ведь это подтверждает её надёжность. Таким образом, фикция позволяет каждому блоку с информацией ссылаться на идущий за ним блок, используя хеш. Попытка взлома путём редактирования информации ранее вышедших блоков будет неизбежно выявлена.
Роль децентрализации в системе блокчейна
Выше с помощью аналогий и примеров была рассмотрена структура блокчейна. Но этого недостаточно, ведь технология представляет собой не только базу данных, пусть даже одну из самых защищённых и уникальных в мире. Это целая система, выстроенная вокруг самой технологии.
Блокчейн — это независимая структура, полезная для нишевых приложений. Но на этом её функция не заканчивается, поскольку с помощью технологии можно осуществлять взаимодействие с незнакомыми людьми. Теория игр и ряд других современных технологий совместно с блокчейном создают никому неподвластный и неконтролируемый ни одним ведомством реестр.
Система имеет определённые алгоритмы действий, которые никто не может изменить. Подробно о правилах будет рассказано ниже. Таким образом, технология создаётся самими участниками, определяющими, как она будет выглядеть в определённый промежуток времени.
Задача византийских генералов
Именно эта задача стала серьёзным вызовом для всей представленной выше системы. Дилемма, описанная в ней ещё в 80-х годах ХХ века, основывается на необходимости координирования действий участниками, изолированными друг от друга. В задаче говорится о генералах византийской армии, окруживших большое селение и решающих вопрос о необходимости штурма. Проблема состоит в удалённости военачальников, и они беседуют посредством передачи сообщений, используя посыльного.
Каждый из командиров отряда должен принять решение о целесообразности штурма или отступления. При этом само поведение — штурм или отвод войск — не является главным. Важно, чтобы предводители армии смогли принять общее решение относительно дальнейшего поведения. В случае решения о штурме только единые действия всей армии могут принести успех. Но как достичь мобильной и своевременной передачи данных от одного генерала к другому?
Конечно, посыльные есть. Но как быть, если одного из них возьмут в плен, и письмо с текстом «штурм будет на рассвете» не достигнет адресата? Как быть, если один из генералов окажется предателем и на самом деле не поведёт свою армию в бой?
Генералы смогут достичь успеха, только скоординировав свои действия.
Важно выработать единую стратегию, позволяющую добиться эффективного взаимодействия. Даже при условии, что некоторые сообщения могут быть перехвачены или один из генералов играет в интересах противника. Конечно, поддержание базы данных не приведёт ни к чьей гибели, тем не менее ситуация с общением между участниками очень похожа. Нет лица, контролирующего технологию и дающего всем участникам «правильные» данные. Таким образом, они должны самостоятельно взаимодействовать между собой.
Все механизмы, применяемые в блокчейне, должны тщательным образом продумываться и проверяться на возможность взлома злоумышленником, а такие вполне могут быть среди пользователей, ведь системы контроля как таковой не существует. Способность системы защитить от взлома имеет название «византийская отказоустойчивость». Ниже будут рассмотрены принципы использования консенсусных алгоритмов для определения устойчивых правил, нарушение которых невозможно.
Причина децентрализации блокчейна
Препятствий для управления технологией из единого центра нет. Сегодня существуют криптовалютные системы, в которых блокчейн централизован. Тем не менее подобный шаг приведёт к созданию обычной громоздкой базы данных. Именно альтернативный вариант с децентрализацией сделал технологию чем-то необычным, имеющим огромный потенциал, который может быть реализован только при полной децентрализации и равенстве возможностей всех участников. Кроме того, именно отсутствие центрального источника управления делает систему неуязвимой от попыток захвата, удаления или взлома.
Использование пиринговой сети
Термин P2P встречался многим пользователям, даже далёким от блокчейна. Это и есть пиринговая сеть. Проводя аналогию с генералами, используемую выше, можно описать сеть как участников общения, находящихся в равных условиях. Здесь нет модератора или администратора, который бы ими руководил. Для связи нужно взаимодействовать напрямую с каждым из участников.
Схематическое изображение централизованной и децентрализованной системы.
Приведённая выше диаграмма наглядно показывает различия между централизованным принципом общения и децентрализованным. В первом случае пользователю А для передачи данных пользователю F нужно отправить их на сервер, только затем они отправятся нужному человеку. Во втором случае цепочка общения минует посредника и осуществляется напрямую.
Традиционная система основывалась на размещении важных данных на сервере. К примеру, получение данных с сайта происходит путём погружения информации с сервера. Но если сайт ломается, то получить с него данные не представляется возможным. Чтобы избежать подобного, можно скачать сайт себе на компьютер.
По факту децентрализованная система блокчейна заключается именно в том, что база данных хранится у каждого из участников в полном объёме. Даже при уходе одного или нескольких пользователей ничего не происходит. Каждый имеет полный объём нужных сведений, а обмен информацией продолжается без ущерба для остальных. В случае добавления новых участников информация поступает всем пользователям, и они просто обновляют свой реестр.
Использование узлов (нодов) блокчейна
Для хранения копий блокчейна используются специально подключаемые к сети машины. Именно их называют нодами, или узлами. Машины способны обмениваться между собой данными. Поскольку обмен осуществляется автоматически, пользователи лишены необходимости вручную вносить нужные коррективы. Обычно для этого нужно запустить специальную программу, и процесс будет автоматизирован.
Стоит обратить внимание, что это каноничное описание узла. Так сказать, чистое. В настоящее время под нодом могут подразумеваться пользователи, выполняющие в сети определённые действия. Кроме того, при описании криптовалюты кошелёк для хранения монет может обозначаться термином «лёгкий узел».
Частные и публичные блокчейны
Не секрет, что первопроходцем в использовании технологии блокчейна был Биткоин. В дальнейшем это позволило создать целую индустрию на её основе. Успех первой криптовой монеты подтолкнул многих к мысли использования блокчейна в других сферах. Сегодня технология используется в различных нефинансовых областях.
Биткоин, который многие могут посчитать обычной виртуальной монетой, — это пример использования технологии публичного блокчейна. Другими словами, осуществляемые операции доступны к просмотру всем участникам. Для присоединения к сети нужно установить программу на компьютер и иметь доступ к интернету. Других требований к участникам не выдвигается.
Тем не менее на этом сфера применения технологии не заканчивается. Есть частные блокчейны. В этом случае система имеет строгие правила, и осуществляемые процессы может видеть только участник, допущенный к сети. Это эксклюзивная сеть, и доступ к блокчейну можно получить, выполнив определённые условия. Возможно, для кого-то подобные ограничения покажутся излишними. На деле в корпоративных условиях использования — это один из лучших вариантов.
Принцип проведения транзакций
Когда Кристине нужно оплатить работу Николая, она может осуществить банковский перевод, для чего нужно поставить банк в известность об этом действии. Для упрощения примера предположим, что они являются пользователями одной финансовой структуры. Банковский служащий проверит информацию о наличии нужной суммы у Кристины и проведёт транзакцию, после чего деньги поступят на счёт Николая. После этого информация в базе данных обновится. К примеру, Кристина — -1000 рублей, Николай — +1000 рублей.
Ситуация с транзакциями в блокчейне практически аналогична. Как было сказано выше, это пусть и сложная, но база данных. Принципиальная разница между технологией и банком — это отсутствие единственной стороны, которая бы обновляла счета и осуществляла проверку. Здесь каждый узел должен сделать эти действия самостоятельно.
Грубо говоря, если Кристина примет решение об отправке 1 биткоина, она должна передать сообщение сети. По истечении определённого времени узлы его увидят, и транзакция будет добавлена в блокчейн, после чего все они будут уведомлены о совершившейся операции. Они обновят свою базу данных, и сеть запомнит, что Кристина переслала 1 монету Николаю. Теперь она не сможет потратить её снова, поскольку в системе уже отображено, что операция выполнена, и монета записана на счёт Николая.
Технология не имеет традиционного понятия о паролях или именах. Владение здесь подтверждается путём применения криптографии с открытым ключом. Чтобы получить 1 биткоин от Кристины, Николаю понадобится приватный ключ. Имеется в виду случайный длинный набор цифр, угадать его невозможно, даже если в распоряжении человека будет несколько столетий. Но сам Николай, введя эту комбинацию цифр, может подтвердить, что средства принадлежат именно ему. Поэтому нельзя говорить этот ключ сторонним лицам.
Для переведения средств — из приватного ключа получается публичный, который даётся человеку, осуществляющему перевод. Получение доступа к приватному ключу через публичный — крайне сложная задача, даже для очень опытного программиста. Публичный адрес через публичный ключ получается путём проведения хеширования.
Чтобы Кристина смогла отправить монету Николаю, он должен передать ей свой публичный адрес. Она создаст транзакцию, в которой говорится об отправке определённого количества средств на публичный адрес пользователя. Чтобы подтвердить право обладания пересылаемыми средствами, он генерирует цифровую подпись, используя свой приватный ключ. Подпись можно сравнить с публичным ключом Кристины, и убедиться в наличии данных средств в её кошельке.
Разработчик технологии блокчейна
Законченный вид технология получила в 2009 году, а стала общественным достоянием с появлением Биткойна — самого популярного на сегодняшний день и первого, кто опробовал на себе блокчейн. Но на её создание Сатоши Накамото (анонимный автор технологии) был вдохновлён более ранними предложениями и уже существующими разработками.
К примеру, речь идёт о криптографии и хеш-функциях, которые существовали до разработки блокчейна минимум несколько десятилетий. Сам блокчейн применялся с начала 90-х годов ХХ века для присвоения документам временных меток с невозможностью последующего изменения.
О сильных и слабых сторонах блокчейна
Грамотно написанный блокчейн способен решить проблему, актуальную для участников разных сфер индустрии: от фермера до финансового менеджера. Традиционная модель «клиент-сервер» во многом проигрывает распределённой сети.
Сильные стороны технологии
В White Paper отмечено самое весомое преимущество Биткоина — это возможность совершения финансовых операций, минуя посредников. Блокчейны, появившиеся после Bitcoin, открыли пользователям возможность передачи разной информации. Отсутствие посредников — это снижение комиссий и рисков для самих участников сделки.
Ранее уже упоминалось, что технология блокчейна открыта для всех желающих принять в ней участие: никаких ограничений для присоединения нет, поскольку сеть не контролируется никем. Для взаимодействия с участниками достаточно подключения к интернету. Высокая устойчивость к цензуре — это ещё одна сильная сторона технологии. Хакеру достаточно провести атаку на сервер, чтобы принести вред сервису с централизованной системой управления, в пиринговой сети подобное невозможно, поскольку каждый узел представляет собой централизованный сервис.
Система Биткойна насчитывает в настоящий момент больше 10 500 узлов во всех уголках планеты. Возможность нанесения ущерба сети подобных масштабов сводится к 0 — даже при условии атаки злоумышленников, обеспеченных по последнему слову техники и имеющих многолетний опыт взлома. Важно учитывать, что приведено только видимое количество узлов. Существует множество невидимых для сети.
Слабые стороны технологии
Несмотря на все преимущества, недостатки у блокчейна есть, и он не станет панацеей от всех существующих проблем. Один из самых очевидных недостатков — это достаточно плохая масштабируемость. Подобное можно сказать не только о технологии блокчейна, но и о любой распределённой сети. Необходимость синхронизации всех участников не позволяет оперативно распределять всю информацию, поскольку узлы просто не будут успевать. Для решения проблемы разработчики специально снижают скорость обновления блокчейна. Это гарантия, что система останется децентрализованной независимо от обстоятельств.
Конечно, пользователь может не понимать принципа работы всех узлов. Для него синхронизация выливается в долгое ожидание проведения транзакций. Нужно помнить об ограниченном размере блока и необходимости ожидания до добавления в блокчейн. Если размер транзакций превышает размер блока, «лишние» будут записаны в следующий блок. То есть снова придётся ждать.
Следующий недостаток — сложность проведения апгрейда. При разработке собственного программного обеспечения можно добавлять новые функции по своему желанию. Сотрудничество или согласие от других пользователей при этом не нужно. Сеть блокчейн — это среда с многомиллионной аудиторией, где всё намного сложнее.
Изменив параметры своего узла в программном обеспечении, пользователь рискует потерять доступ к сети. Это возможно при несовместимости с другими узлами из-за выполненных настроек. Взаимодействие окажется попросту невозможным.
К примеру, пользователь решил увеличить размер блока, но он не сможет отправить его в другой узел, в настройках которого прописан меньший размер. Единственная возможность нововведений — это их одобрение большим количеством участников сети. Прежде чем удастся их внедрить, могут пройти месяцы или даже годы споров и обсуждений.
Принцип работы блокчейна
Добавление блоков в блокчейн
В первой главе было дано достаточно много информации о технологии. Рассмотрены принципы подключения узлов и хранения копий блокчейна. Упомянуто о передаче информации об операциях от одного блока к другому. При этом вопрос о добавлении новых блоков в блокчейн затронут не был.
Нет единого источника информации о необходимых действиях для пользователей. Каждый узел независим, все они равны между собой. Таким образом, должен быть механизм, честно определяющий, кто может создавать блоки. Механизм, наказывающий за обман, но дающий бонусы за честное поведение.
Открытость сети позволяет создать блок любому пользователю. При создании блока пользователь получает вознаграждения. При попытке мошенничества информация распространяется во все узлы. И мошенник теряет все сбережения, которые у него были на момент попытки махинации. Это механизм консенсусного алгоритма, дающий возможность участникам определять, какой из блоков будет доставлен следующим.
Принцип майнинга: доказательство выполненной работы, или PoW
Под консенсусным алгоритмом в большинстве случаев подразумевается добыча монет — майнинг, в котором используется механизм Proof of Work. Для решения установленной протоколом задачи пользователь должен отдать определённое количество вычислительной мощности.
При её выполнении пользователь хеширует задачу и другие данные в блоках. При этом хеш не может превышать определённое число, иначе он недействительный. Прогноз результата невозможен, поэтому майнеры продолжают хеширование, изменяя информацию до получения нужного результата.
Конечно, выполнение задач требует больших мощностей для вычисления. Майнер не может узнать вход в кэш, но ему доступна его проверка путём проведения хеширования. Если блок действителен, пользователь получает вознаграждение, установленное системой. Первым в мире блокчейном, позволяющим добывать монеты за выполненную работу, был Биткойн. Сегодня механизм PoW используют многие блокчейны.
Преимущества механизма Proof of Work:
- Эффективность, проверенная временем: на 2020 год это самый устойчивый консенсусный алгоритм, с помощью которого переведены миллиарды долларов;
- Открытость: установка проверочного узла или добыча монет доступны каждому пользователю;
- Децентрализация: добыча криптовалюты — это соревнование майнеров по созданию блоков. Вычислительная мощность никем не контролируется.
Недостатки механизма Proof of Work:
- Расходы: для добычи монет нужно много электроэнергии;
- Барьер входа повышается: сложность задач повышается пропорционально количеству участников. Это требует наличия мощного оборудования;
- Атаки 51%: децентрализация —это надёжная защита. Но способы получения большей доли вычислительных мощностей существуют, что может подорвать всю безопасность блокчейна.
Принцип стейкинга: доказательство доли владения, или Proof of Stake
Система доказательства выполненной работы позволяет заработать деньги. При этом махинации выльются убытками в виде затрат на электричество и оборудование. Зарабатывать без инвестиций позволяет Proof of Stake — блоки предлагаются валидаторами, а не создаются майнерами.
Новый блок можно создать на обычном компьютере, но под залог оставляется высокий процент средств — процент от монет блокчейна.
Обычно используются блокчейны с DPoS, а не чистые, поскольку в этом случае пользователи могут проводить голосования за узлы, валидирующие блоки. В настоящий момент на PoS в версии ETH 2.0 переходит блокчейн Ethereum.
Преимущества Proof of Stake:
- Экологическая безопасность: меньший углеродный след в сравнении с майнингом. Нет необходимости в хешировании.
- Транзакции проходят быстрее: решать задачи для получения вознаграждения не нужно, что, по мнению некоторых приверженцев PoS, увеличивает пропускную способность сети.
- Стейкинг вознаграждается, начисляются проценты: держатели токенов получают бонусы за обеспечение безопасности. В ряде случаев пользователи могут получать пассивный доход в виде процентов или эйрдропов за резервирование средств.
Недостатки Proof of Stake:
- Слабая изученность протоколов: PoS не тестировали на уровне больших масштабов. Поэтому наличие уязвимостей ещё не определено.
- Плутократия: возможна ситуация, когда большую часть дохода будут получать пользователи с большими активами, поскольку предпочтение отдаётся валидаторам с большими активами.
- Нет личного риска: в PoW пользователь ставит только на один блокчейн. PoS позволяет валидатору осуществлять действия в разных блокчейнах, неся при этом минимальные издержки.
Другие типы консенсусных алгоритмов
Описанные выше PoW и PoS — это наиболее популярные консенсусные алгоритмы. Но на них список не завершается. Есть ряд гибридных вариантов, сочетающих обе системы и методы, кардинально отличающиеся по принципу работы.
Необходимости углубления в их детальное описание нет, достаточно перечислить:
- Delayed Proof of Work — принцип отложенного доказательства выполненной работы.
- Leased Proof of Stake — доказательство арендуется в доле владения.
- Proof of Authority — доказываются полномочия.
- Proof of Burn — доказательство сжигания.
Возможность отмены транзакции в блокчейне
Блокчейн — это стойкая база данных, если смотреть с точки зрения устройства. Поэтому выполнить редактирование или удаление информации после записи практически невозможно. Поэтому перед созданием очередной транзакции нужно тщательно всё проверять.
Этот принцип реализован в Bitcoin и других больших сетях. Но есть другие варианты реализации технологии блокчейна, имеющие основополагающие отличия для достижения консенсуса в сети. К примеру, в некоторых небольших сетях группа участников может получить слишком много власти, позволяющей даже отменять проведённые ранее транзакции.
Понятие масштабируемости блокчейна
В данном случае имеется в виду способность рассматриваемой системы обслуживать спрос, который постоянно растёт. Да, блокчейны обладают рядом преимуществ. К ним относятся: децентрализация, неизменяемость, высокая устойчивость к цензуре. Но при этом есть и определённые недостатки.
Децентрализованная база данных не может работать с такой высокой скоростью, как централизованная, а также обладает меньшей пропускной способностью. Это естественно, ведь огромное количество узлов не должно синхронизироваться с сетью всякий раз при изменении её содержимого. Однако применительно к блокчейну всё обстоит совсем наоборот. Соответственно, масштабируемость остаётся серьёзной проблемой и сегодня.
Некоторые решения касательно устранения недостатков производительности блокчейнов уже реализованы, другие находятся на стадии разработки. Но при этом оптимального подхода до сих пор не существует. Возможно, нужно экспериментировать с разными вариантами для достижения определённых результатов.
Также есть ещё один аспект, который напрямую касается проблемы масштабируемости. Речь идёт о вопросе, действительно ли нужно улучшать производительность блокчейна (ончейн-масштабирование)? Или лучше обеспечить проходимость транзакций без перегрузки основного блокчейна (офчейн)?
Оба представленных варианта отличаются определёнными достоинствами. В первом случае появляется возможность значительно уменьшить размер транзакций. Во втором — можно проводить их за пределами блокчейна, чтобы затем добавлять в сгруппированной форме. Наиболее интересными офчейн-решениями являются платёжные каналы, также сюда можно отнести сайдчейны.
Для чего нужно масштабирование блокчейна
Блокчейны должны быть не менее эффективны, чем централизованные системы. Только так можно добиться возможности конкурировать с ними. Более того, блокчейну нужно обойти их в эффективности. Благодаря этому появится возможность мотивировать пользователей использовать платформы, которые работают на базе данной технологии.
Можно сделать вывод, что использование блокчейнов должно быть более выгодным, эффективным и простым, чем применение традиционных централизованных систем. Но на практике добиться поставленной задачи непросто. Придётся пожертвовать важными свойствами блокчейнов, о которых упоминалось ранее.
Что представляет собой форк блокчейна?
Блокчейны — это те же ПО. Соответственно, их необходимо регулярно обновлять, добавлять новые правила, редактировать те, которые уже существуют. Возможные корректировки может предложить любой человек, что можно объяснить открытым исходным кодом блокчейнов.
При этом следует помнить, что блокчейны представляют собой распределённые сети. То есть при обновлении программного обеспечения огромное количество распределённых по всему миру узлов должны взаимодействовать между собой, чтобы обновиться до новой версии. Но как быть в ситуации, если участники не смогут прийти к общему решению касательно того, какие нужно принять обновления? В данном случае нет единого центра, принимающего решения. Поэтому нужно более подробно остановиться на хард- и софт-форках.
Софт-форки
Если участники сходятся во мнении о том, как будет выглядеть обновление, то дальнейшие действия не потребуют особых усилий. В этой ситуации программное обеспечение будет обновлено с применением обратно совместимых изменений. Иначе говоря, узлы, которые подвергаются обновлению, будут взаимодействовать с необновлёнными. Со временем будет обновлено большинство из них. Данный процесс и называется софт-форком.
Хард-форки
Это не такой простой вариант, как предыдущий. При его использовании новые правила не будут взаимодействовать со старыми. Таким образом, если узел использует новые правила, то не сможет взаимодействовать с тем, который использует устаревшие. В результате блокчейн делится на две части. В первой применяется прошлое программное обеспечение, в другой — новое.
Результатом становится появление двух параллельных сетей, каждая из которых имеет собственный протокол. При реализации форка балансы валюты блокчейна будут скопированы из прежней сети. Поэтому если во время форка баланс находился у пользователя в старом блокчейне, то он будет перенесен в новый.
С какой целью используется блокчейн?
Рассматриваемая технология применяется в разных вариантах. В статье будут рассмотрены основные из них. В дальнейшем на эту тему будет опубликована отдельная статья.
Блокчейн для цепочек поставок
Такие цепочки поставок во многом обуславливают эффективность бизнеса. Они контролируют процесс попадания товаров от производителей к конечным потребителям. При этом скоординировать участников в определённой индустрии — это достаточно сложная задача. Но, несмотря на это, рассматриваемая технология открывает новые уровни прозрачности в ряде сфер деятельности. Многие индустрии нуждаются в интероперабельной системе цепочек поставок, которая будет построена на технологии блокчейна. Только так она будет более надёжной и устойчивой.
Как блокчейн связан с игровой индустрией
Гейм-индустрия сегодня является одной из самых популярных в мире. Поэтому рассматриваемая технология для неё действительно актуальна. Геймеры находятся в значительной зависимости от разработчиков игр. Практически во всех онлайн-играх пользователи вынуждены соблюдать правила разработчиков, которые постоянно меняются. Блокчейн же даёт возможность сделать пространство децентрализованным, обеспечив соответствующее управление и поддержку игр в режиме онлайн.
Наиболее существенной проблемой является то, что игровые предметы представляют собой формальное имущество. Соответственно, невозможно реальное владение, наличие вторичных рынков. При использовании технологии блокчейн игры получают возможность на долгое время стать жизнеспособными. При этом также возможен выпуск игровых предметов, которые будут поставляться в качестве криптотокенов, а значит, они на самом деле будут ценными.
Блокчейн в системе охраны здоровья
Любая система здравоохранения нуждается в надёжном и безопасном хранении медицинской документации. Но такие системы вынуждены использовать традиционные централизованные серверы, в результате чего конфиденциальная информация находится под угрозой взлома. Блокчейн станет оптимальным вариантом для хранения важных медицинских документов, так как он безопасен и прозрачен.
Кроме того, пациенты получат возможность сохранить конфиденциальность личных данных, но при этом предоставлять всю необходимую информацию в соответствующие учреждения, работающие в сфере охраны здоровья. Таким образом, обмен информационными данными значительно ускорится, если все участники подключатся к глобальной базе данных, которая отличается надёжностью и безопасностью.
Блокчейн в системе финансовых транзакций
Людям при отправке денег за рубеж приходится сталкиваться с рядом неудобств, если перевод осуществляется через банк. К основным из них можно отнести наличие ряда посредников, большие комиссии, различные задержки по многим причинам и пр.
При использовании технологии блокчейн и криптовалют посредники не требуются. Соответственно, можно осуществлять транзакции дёшево, быстро и безопасно в любую точку мира. Ниже приведены интересные факты:
- Комиссия за перевод биткоинов на сумму 450 миллионов долларов составила меньше 0,25 центов;
- Комиссия за перевод эфириумов на сумму 180 миллионов долларов составила всего 6 центов. Комиссия за перевод биткоинов на сумму 194 миллиона долларов — 10 центов;
- Комиссия за перевод лайткоинов на сумму 62 миллиона долларов составила 50 центов.
Блокчейн в сфере цифровой идентичности
На данный момент наблюдается особая важность безопасного управления личной информацией в сети Интернет. Сегодня огромное количество личных данных пользователей находится на различных централизованных площадках. Алгоритм машинного обучения анализирует их без согласия владельцев.
Благодаря технологии блокчейна пользователи смогут управлять личными данными по своему усмотрению. Кроме того, они получат возможность передавать их третьим лицам только по своему желанию или при необходимости.
Блокчейн в сфере интернета
Огромное количество устройств подключено на данный момент к Глобальной Сети, и это число будет постоянно увеличиваться. Многие эксперты уверены, что благодаря рассматриваемой технологии появится возможность оптимизировать взаимодействие между ними. Иными словами, автоматизированные межмашинные микроплатежи способны сформировать принципиально новую экономику, которая будет основана на безопасной и надёжной базе данных. При этом она также будет обладать высокой пропускной способностью.
Блокчейн в управленческой системе
Стоит отметить, что распределённые сети обладают возможностью устанавливать и использовать различные правила в виде компьютерного кода. Соответственно, блокчейн способен действовать без посредников в управленческих процессах на любом уровне.
Кроме того, благодаря данной технологии появляется возможность разрешить остро стоящую проблему открытого программного обеспечения. Речь идёт об отсутствии безопасного инструмента распределения финансирования. Управленческий процесс с применением блокчейна обеспечивает принятие решений всеми участниками. Соответственно, текущая политика становится максимально прозрачной.
Блокчейн в благотворительной деятельности
Нередко различные благотворительные организации могут принимать поступающие средства ограниченным количеством методов. Помимо этого, в некоторых случаях определить конечного получателя финансовых средств бывает практически невозможно. По этой причине многие отказываются участвовать в благотворительности.
Технология блокчейна широко используется в «криптофилантропии». Это необходимо для того, чтобы преодолеть указанные выше ограничения. При этом данная технология обеспечивает максимальную прозрачность и сводит к минимуму дополнительные расходы. Всё это позволяет повысить эффективность работы благотворительных организаций и повысить доверие к ним. В качестве примера организации, работающей подобным образом, можно привести Blockchain Charity Foundation.
Блокчейн при спекуляции
Данная сфера считается одной из самых распространённых, где применяется блокчейн. Технология обеспечивает максимально быстрые и удобные транзакции между различными биржами и отлично подходит для самых разных спекулянтов.
Кроме того, блокчейн выступает эффективным механизмом и удобен для тех, кто хочет присоединиться к новейшему классу активов. Многие пользователи уверены, что глобальные спекулятивные рынки будут токенизированы в данной технологии, когда она будет улучшена надлежащим образом.
Краудфандинг на блокчейне
Многие платформы в данной сфере в течение 10 лет создают основу для пиринговой экономики. Подобные сайты действительно успешны и эффективны. Соответственно, это говорит о том, что к разработке продуктов, которая финансируется методом сбора средств, проявляется реальный интерес. Поскольку подобные платформы — это попечители средств, у них есть возможность вычитать их в виде комиссий. Каждая из них имеет собственные правила, которые касаются достижения соглашения между всеми участниками.
Благодаря блокчейну можно создать надёжный и безопасный краудфандинг. В нём все условия соглашения будут определены в компьютерном коде.
Другим вариантом краудфандинга с применением рассматриваемой технологии могут стать первичные биржевые предложения. Сюда же можно отнести предложение токенизированных акций. Продавая токены, инвесторы рассчитывают получить доход в дальнейшем. Об ICO речь не пойдёт, потому что они являются рискованными и ненадёжными.
Применение блокчейна в распределённых файловых системах
Централизованные альтернативы сильно уступают распределённому хранению информации в интернете. Многие данные, которые хранятся на облачных серверах, находятся под угрозой кибератак, поэтому могут быть утеряны. Иногда пользователи сталкиваются с проблемой цензуры в таких серверах.
Пользователи считают, что хранение файлов в блокчейне ничем не отличается от хранения на обычных серверах. Их по-прежнему можно хранить, открывать, загружать. Но при этом принцип действия здесь совсем другой.
При загрузке файла в хранилище блокчейн происходит его распределение. Его копирует несколько узлов. Иногда каждый из них хранит отдельную часть файла. При необходимости пользователь может востребовать их все, чтобы соединить в единый файл.
Все участники предоставляют сети пропускную способность, а также дисковое пространство. Участники поощряются за предоставление данных ресурсов экономическим методом, им же наказываются при нарушении правил.
Подобная сеть чем-то напоминает Биткойн. Но основной задачей сети выступает не поддержание транзакций, а обеспечение устойчивой цензуры и децентрализованное хранение данных.
Многие протоколы уже находятся на пути к более эффективному вебу. К их числу можно отнести, например, InterPlanetary File System. Несмотря на то что IPFS представляет собой протокол и пиринговую сеть, он не является блокчейном в полной мере. Но в данном случае активно используются основные его принципы, направленные на улучшение надёжности, эффективности и безопасности.
https://safe-surf.ru/specialists/article/5278/658923/
https://blog.themarfa.name/blokchiein-chto-eto-takoie-opisaniie-i-podrobnoie-rukovodstvo/