Безопасность Блокчейн Технологии

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

Содержание

#1. Общие сведения
#2. Техническое описание
#3. Что внутри блока
#4. Как блоки связаны друг с другом
#5. Блок генезиса
#6. Транзакция блокчейна
#7. Контроль доступа
#8. Централизованные
#9. Децентрализованные
#10. Консорциумные

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

Общие сведения

Блокчейн — это архитектура для построения баз данных, способная, помимо хранения информации, служить источником «истины». Это дает уверенность в том, что информация в системе подлинная и не может быть изменена без согласия всех заинтересованных лиц, что исключает возможность нежелательных и мошеннических действий.

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

  • распределительный реестр;
  • криптографическое шифрование;
  • алгоритм консенсуса.
Сложное взаимодействие этих характеристик — то, что защищает блокчейн от внешних угроз и решает так называемую «Задачу византийских генералов». Это криптологическая сверхзадача, успешное решение которой должно обеспечить устойчивость системы в условиях внутренней конкуренции и вероятного «предательства» ее участников.

Техническое описание

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

В блокчейн-сети есть два типа участников:

  1. Полные ноды (валидаторы или майнеры). Участники (узлы), которые проверяют подлинность данных, сопоставляя записи новых транзакций с предыдущими.
  2. Простые ноды (они же обычные участники, пользователи). Обычные участники осуществляют финансовые или другие операции, например перевод денег. Запись об операции (сумма, адрес получателя, комиссия) направляется в блокчейн сети, где она уже считается транзакцией.
В ходе своей деятельности валидаторы формируют новые блоки из накопленной очереди транзакций, совершаемых пользователями. Блок представляет собой агрегированный набор данных, контейнер, который объединяет транзакции для включения в распределительный реестр. Данные собираются и обрабатываются для размещения в блоке с помощью процесса, называемого майнингом. Скорость создания блока и количество записей транзакций, которые он может содержать, зависит от конкретного блокчейна.

Из блоков система формирует упорядоченную «назад» структуру. Блок в такой структуре может быть идентифицирован с использованием криптографического хеша (также известного как цифровой отпечаток) — алгоритма (секретного ключа, или хеш-ключа) для шифрования данных с помощью криптографии. Расшифровывают данные с помощью этого же ключа или другого, также сгенерированного с помощью криптографии. Таким образом, все данные могут быть связаны через структуру связанного списка.

Безопасность Блокчейн Технологии иллюстрация

Визуальная иллюстрация блокчейна — «цепочки» блоков

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

Безопасность Блокчейн Технологии связи блоков


Последовательность хешей, как правило, создает единую цепочку блоков, которая тянется к самому первому блоку из когда-либо созданных — блоку генезиса. Блок генезиса неизменен в любом блокчейне и является фундаментом для «источника истины» сети.

Безопасность Блокчейн Технологии визуализация

Визуализация блокчейна в виде стопки блоков привела к тому, что программисты начали использовать термин «высота» для обозначения зрелости цепочки

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

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

Что внутри блока

Блок состоит из заголовка (Head), содержащего метаданные. Далее идет длинный список транзакций (Payload), который занимает большую часть всего объема блока. Так, на старте блок Биткоина мог вместить более 500 транзакций, поскольку он был объемом 80 байт (сейчас размер больше), а транзакции требовали по 250 байт.

Безопасность Блокчейн Технологии разделение блоков

Визуализации разделения блока на заголовок и данные транзакции

Содержание блоков, которые были присоединены к цепочке, невозможно изменить или удалить. Вообще, любое изменение данных (например, о переводах криптомонет в сети Биткоин) в блокчейне невозможно в принципе. Система позволяет лишь добавлять новые блоки, которые суммируют итоговый «баланс» информации. Это важная особенность блокчейна, обеспечивающая безопасность истории активов, например, истории транзакций в сети Биткоина.

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

Как блоки связаны друг с другом

Безопасность Блокчейн Технологии содержание
Содержание блока
Заголовок блока содержит следующую информацию:
  • хеш заголовка блока;
  • хеш родительского блока;
  • хеш всех транзакций, записанных в блоке;
  • дата и время создания блока;
  • параметры bits и nonce;
  • версия блока.
Хеш заголовка блока — это то, что связывает предыдущий блок с последующим в цепочке блокчейна. Он записывается в следующий блок как хеш-код в заголовок родительского блока. Еще в заголовке хранится хеш-код транзакций текущего блока. Он рассчитывается с помощью алгоритма, известного как дерево Меркла или бинарное дерево хешей (Merkle tree).

Безопасность Блокчейн Технологии дерево Меркла


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

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

Работает это так:

  1. Сначала подсчитываются хеши всех транзакций.
  2. Затем считается сумма всех хешей пар транзакций.
  3. Далее считаются хеши от суммы полученных пар хешей и так далее по той же схеме, пока не будет получен один-единственный хеш, который и будет хешем транзакций в блоке.
Именно заголовки позволяют отслеживать целостность содержания самих блоков.

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

С < address 1> отправитель < N> биткоинов на < address 2>

В компьютерном коде транзакция, записанная в блок блокчейна, несколько сложнее, поскольку протокол Биткоина оперирует такими понятиями, как Входы (Inputs или In) и Выходы (Outputs или Out).

В цифровой валюте новые транзакции через Входы (один или несколько) ссылаются на Выходы (один или несколько) предыдущих транзакций и формируют Выходы (также один или несколько) для использования уже в следующих транзакциях.

Безопасность Блокчейн Технологии транзакция

Транзакция C имеет ссылки на две входные транзакции — A и B. В результате на входе в транзакцию С мы имеем 0.008 BTC (0.005 + 0.003), которые разделены на два выхода: на первый адрес отправляется 0.003 BTC, а на второй 0.004 BTC. Остаток (0.001 BTC) — комиссия майнера

Блок генезиса

Первый блок в blockchain называется блоком генезиса. В сети Биткоин такой блок был создан в 2009 году, он является общим прародителем всех блоков в данной экосистеме. Это означает, что если вы выберете любой блок и проследите цепочку назад во времени, то в конечном итоге придете к блоку генезиса. Каждая цепочка блокчейна всегда начинается по крайней мере из одного блока, и так как блок генезиса закодирован статически в клиентском программном обеспечении любого блокчейна (это его исходная точка), то он не может быть модифицирован.

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

Безопасность Блокчейн Технологии код

Или так (если использовать базовый клиент Bitcoin Core с командной строкой Windows):

Безопасность Блокчейн Технологии

Интересный факт. Блок генезиса Биткоина содержит скрытое сообщение: «Таймс 03 / Янв / 2009 Министр экономики на рубеже второго раунда в спасении банков». Это символическое сообщение, которое содержит ссылку на заголовок британской газеты The Times. Это отсылка к важности создания надежной, безопасной и независимой монетарной системы, вроде Биткоина, которая будет «гаванью» стабильности во времена финансовых кризисов. Данное сообщение было заложено в первый блок Сатоши Накамото, создателя Биткоина.

Безопасность Блокчейн Технологии Satoshi Nakamoto


Помимо послания Сатоши, в блокчейне есть и другие послания. Обычно это шуточные или рекламные тексты, но бывают и исключения: послание Нельсону Манделе, ссылки на порнографический контент, криминальные сайты в даркнете и даже молитва майнера.

Транзакция блокчейна

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

Безопасность Блокчейн Технологии подписи


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

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

Контроль доступа

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

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

В зависимости от того, кто может стать полной нодой, блокчейны делят на три разновидности: централизованные (частные), децентрализованные (публичные) и разделенные (консорциумы).

Безопасность Блокчейн Технологии подходы к построению


Централизованные

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

Примеры: Hyperledger — блокчейн для закрытых корпоративных решений, Multichain — платформа для частных блокчейнов.

Особенности:

  • конфиденциальнее и намного быстрее публичных сетей;
  • минимальные транзакционные издержки;
  • простое подтверждение транзакций.

Децентрализованные

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

Примеры: Bitcoin, Litecoin, Ethereum.

Особенности:

  • минимальные комиссии;
  • максимальная скорость.

Консорциумные

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

Примеры: R3 CEV LLC — финансы, EWF — энергетика, B3i — страхование.

Особенности:

  • работоспособность системы поддерживают обычные пользователи;
  • трудно взломать, так как нужно взять под контроль 51% узлов;
  • нет нужды в центральных структурах — гарантах.

Оцените (1 голосов - 5 из 5)
Спасибо!