Содержание
Нередко люди воспринимают блокчейн как что-то сложное для понимания. На самом деле основная идея технологии проста. Чтобы разобраться с принципом работы блокчейна, следует начать с криптографии.
В материале мы на примерах покажем как с помощью криптографических алгоритмов шифруются данные. После прочтения вы станете лучше понимать как устроен блокчейн, в чем его уникальность и почему он считается анонимным.
Благодаря алгоритмам шифрования, технология блокчейн считается наиболее безопасной разновидностью одноранговых сетей. Для начала разберемся, зачем в блокчейне что-то шифровать.
В традиционной архитектуре «клиент-сервер» за безопасность отвечает сервер. Он выполняет следующие функции:
Так как в блокчейне сервера отсутствуют, то для этих целей применяют криптографию. Криптографические алгоритмы шифрования позволяют выполнять описанные функции без постороннего вмешательства.
Криптография — совокупность алгоритмов шифрования информации для обеспечения аутентификации, конфиденциальности и целостности данных.
Криптография была известна задолго до появления блокчейна. Чтобы понять, как алгоритмы шифрования выполняют функции сервера, рассмотрим реальный исторический пример.
В середине 1650-х голландский ученый Христиан Гюйгенс обнаружил кольца Сатурна. Он не был уверен в правильности своих наблюдений, поэтому решил все перепроверить. Пока он занимался проверкой, его могли опередить другие ученые. Поэтому в одной из своих работ ученый написал сообщение:
aaaaaaacccccdeeeeeghiiiiiiillllmmnnnnnnnnnooooppqrrstttttuuuuu
Позже Христиан Гюйгенс перепроверил все данные и был готов рассказать об открытии. Он раскрыл, что в шифре содержались буквы исходной фразы, расставленные по алфавиту. Сама фраза была следующей:
Annulo cingitur, tenui plano, nusquam cohaerente, ad eclipticam inclinato
«Окружен кольцом тонким, плоским, нигде не подвешенным, наклоненным к эклиптике»
Расстановка букв по алфавиту — один из алгоритмов шифрования. Гюйгенсу удалось зафиксировать свое открытие и не выдавать его конкурентам. Другими словами, алгоритм заменил сервер: сохранил данные в конфиденциальности без сторонней помощи.
В приведенном примере важно выбрать правильный алгоритм шифрования. Криптография отвечает на вопрос, какой использовать алгоритм шифрования для той или иной цели.
Давайте представим себя на месте разработчиков блокчейна. Нам нужно найти идеальный алгоритм шифрования для того, чтобы осуществлять функции сервера в блокчейне. Сформулируем критерии:
Это односторонние функции. Самый простой пример такой функции — умножение. Если мы знаем только ответ, то не можем однозначно сказать какие два числа были умножены. Например, число 6 может быть произведением разных чисел: 6 и 1, 2 и 3, 12 и 0,5 или даже 47,2440945 и 0,127.
Это хеш-функции. Они преобразуют сообщения в хеши. Информацию в таком виде можно удобно и безопасно использовать в программировании.
Сообщение может быть любого типа: текст, изображение, видео или звук. Чтобы с сообщением можно было проводить математические операции, его записывают в виде двоичного кода.
Хеш может состоять как из букв, так и из цифр. Какие цифры и буквы будут в хеше, а также сколько их будет, зависит от конкретной хеш-функции. Рассмотрим подробнее наиболее известную — SHA-256.
Она известна тем, что используется в блокчейне биткоина. SHA означает «безопасный алгоритм хеширования», а число 256 — объем кэша в битах.
Работа хеш-функции SHA-256 напоминает создание отпечатков пальцев. Чтобы идентифицировать человека, не надо знать всю информацию о нем. Достаточно знать отпечаток его пальца. SHA-256 вычисляет такой «отпечаток» у текстов, видео, картинок, музыки и любого вида информации.
Если не углубляться в технические детали, алгоритм работы можно описать следующим образом:
Попробовать закодировать текст и посмотреть как работает хеш-функция можно онлайн. Для примера закодируем два сообщения: «Maff.io» и «maff.io». SHA-256 популярна, в том числе потому, что кодирует сообщения моментально.
Первое, что бросается в глаза, то как сильно отличаются хеши. Даже небольшое изменение в сообщении меняет хеш настолько сильно, что невозможно заметить сходства между новым и старым значением. Хеш-функция SHA-256 гарантирует, что невозможно изменить сообщение, не меняя хеша.
Второе, на что следует обратить внимание — набор из букв и цифр в хеше. На самом деле это одно 64-значное число, просто записанное в шестнадцатеричной системе счисления. Чтобы найти два разных сообщения с одинаковым хешем, придется перебирать их миллионы лет.
Таким образом, если два сообщения имеют одинаковый хеш, то можно быть уверенным, что они одинаковые. Вот почему алгоритмы с хеш-функциями считаются таким надежным.
Без хеш-функций существование блокчейна было бы невозможно. Блокчейн уникален тем, что гарантирует неизменность и анонимность хранимых данных. Это означает, что любые данные проверяются на подлинность, но при этом их никто не может увидеть. То есть, это если ломбард проверял золото, которое лежит в закрытом сейфе. Теперь покажем как в этом помогают хеш-функции.
Блокчейн регулярно обновляет данные, добавляя записи об изменениях — «транзакции». Именно при обновлении транзакционной информации любая система уязвима для атаки. Банки сглаживают этот риск с помощью строгого контроля за правами доступа пользователей. У блокчейна нет централизованного органа контроля, поэтому в работу вступают криптографические хеш-функции.
Транзакции и их хеши помещаются в блоки. Хеш в каждом новом блоке зависит от хеша в предыдущем. Таким образом, все когда-либо выполненные транзакции можно выразить одним числом — хешем последнего блока. Изменив даже одну транзакцию, изменятся все последующие хеши по цепочке и такая версия блокчейна будет считаться недействительной.
На использовании хеш-функций базируется весь принцип работы блокчейна. Хеши делают каждый блок похожим на деталь пазла. Изменить деталь незаметно не получится — целостность всего пазла нарушится. Аналогично и в блокчейне. Если изменится один блок, то придется методом перебора восстанавливать все последующие блоки. Чтобы осуществить такой перебор, не хватит никаких вычислительных мощностей.
В статье мы рассказали о том, что криптографические алгоритмы шифрования применяются для обеспечения безопасности в блокчейне. Подробно рассмотрели использование хеш-функций и показали, что они являются основой технологии блокчейн.
Данный сайт использует cookies.
Показать комментарии
Хорошо контент. С благодарностью.