В основе технологии блокчейн лежит криптография — наука о методах обеспечения конфиденциальности информации и сохранения ее подлинности. Говоря простыми словами, это наука о шифровании данных (наука о криптосистемах).
Сегодня мы расскажем о ключевых понятиях криптографии, на которых строится блокчейн, и о главном элементе этой системы — хэш-функции.
Главной задачей криптографии является защита данных от изменения и несанкционированного доступа к ним в процессе их хранения и передачи от отправителя к получателю. Это достигается путем использования следующих элементов в системе хранения, обработки и обмена информацией:
Все коммуникации внутри сети блокчейн функционируют по принципам криптографии, то есть подлинность внесения любых изменений в базу данных проверяется, подделка невозможна, все отправители и получатели информации идентифицируются, несанкционированное добавление нового блока в сеть невозможно.
Криптографическая хэш-функция преобразует данные в буквенное или цифровое выражение, формируя строку букв или цифр, которая называется хэшем и имеет ограниченную длину. Так, хэш криптовалюты биткоин содержит 64 символа.
Трудно представить, что любой объем данных можно вместить в такую относительно короткую строку, но именно в этом и заключается уникальность хэш-функции. Например, хэш слова «пес» имеет такой вид:
cd6357efdd966de8c0cb2f876cc89ec74ce35f0968e11743987084bd42fb8944
Но и целый абзац из 5-6 строк будет умещаться в строчке точно такой же длины, но с иным набором символов.
Чтобы блокчейн работал, должно все время происходить его обновление — добавление записей о новых транзакциях в сети. Именно в процессе добавления в систему новой информации она становится наиболее уязвимой для атак. Но благодаря строгой иерархии в блокчейне гарантируется подлинность всех записей и их защита от несанкционированного изменения.
Использование хэш-функции гарантирует неизменность уже существующей цепочки транзакций. Новый блок ссылается на хэш предыдущего.
Благодаря хэшам общее состояние блокчейна (все когда-либо проведенные операции в сети) можно выразить всего одним числом — хэшем нового блока. За счет этого обеспечивается неизменность и стабильность работы блокчейна.
Для функционирования сети блокчейн в ней должны создаваться все новые и новые блоки. Для добавления нового блока сеть должна прийти к консенсусу. Для этого майнеры предлагают свои версии блоков, они проходят верификацию, и сеть выбирает блок, который становится следующим элементом реестра. Но многие майнеры предлагают одинаковые блоки. Тогда каким же образом выбирается тот блок, который станет следующим звеном цепи?
Все очень просто: компьютеры в сети соревнуются в своеобразной хэш-игре, перебирая множество вариантов значения «нонс» (nonce). Это число дающее определенный хэш в комбинации с предыдущими данными при вводе в хэш-функцию.
При нахождении правильного значения, его добавлении в блокчейн и вводе в хэш-функцию формируется рандомный хэш — так называемое «решение задачи». Вычисливший его компьютер получает «приз» — криптовалюту биткоин.
Таким образом поддерживается консенсус в сети блокчейн и предотвращаются хакерские атаки. Все хэши абсолютно уникальны, и только в ходе нахождения правильного значения нонс в комбинации с верными, ранее верифицированными данными получается новый хэш, решающий уравнение.
Если данные искажены, решить задачу невозможно. На этом основан принцип блокчейна и механизм безопасности хранения данных в нем.
Сейчас практически невозможно взломать систему, работа которой построена на использовании криптографической хэш-функции. Для этого потребуются запредельные вычислительные мощности и огромное количество времени на решение задачи. С добавлением каждого нового элемента в системе, ее устойчивость к атакам растет. Технология блокчейн по уровню надежности многократно превосходит все другие системы защиты информации.
С чего начать майнинг криптовалюты
Как сделать Mining-ферму
Технология Blockchain и ее влияние на нас