1
Stand with Ukraine and Donate here
logo

Как работает блокчейн?

Как

База каждого блокчейна строится на конкретном алгоритме майнинга, эту цепь блоков формирующего. Для наглядности, рассмотрим один из самых известных вариантов – Биткоин. Образующий его цепь алгоритм называется «SHA-256». Или «Secure hash algorithm 256 bits». Изначальные данные могут быть любыми – текстом, последовательностью цифр, файлами разного размера и разрешения. Но в процессе работы алгоритма они все трансформируются в определённый «хэш», размер которого всегда один и тот же – 256 бит.

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

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

Рассмотрим конкретный пример работы этого алгоритма

Допустим, есть два человека – Семён и Николая. И Семён собирается перевести своему знакомому 5 биткоинов. Для этого от передаёт сообщение о транзакции всем майнерам сети Биткоин. В этом сообщении содержатся данные о публичном адресе Николая, на которые осуществляется перевод, о сумме перевода, о личной цифровой подписи Семёна и о его открытом ключе. Что важно – цифровая подпись формируется на основе закрытого ключа Семёна, поэтому каждый участник сети может быть уверен, что запрос исходит именно от него. И что именно ему принадлежат биткоины, о которых идёт речь.

Убедившись, что транзакция реальна (это важный момент, но о нём – чуть позже), майнеры помещают данную информацию в блок, вместе с другими подобными данными о транзакциях. И начинают майнить – то есть – реализовывать алгоритм «SHA-256» и высчитывать хэш. Полученный результат обязательно должен содержать некоторое количество нулей в своём начале. Оно определяется общей «сложностью» сети, напрямую зависящей от её мощности. Непостоянной величины, зависящей от количества участников и их вычислительных мощностей.

И для того, чтобы получить в процессе выполнения алгоритма нужное количество нулей, участникам сети приходится добавлять к изначальным данным так называемые «nonce number». Куски двоичного кода, получаемые в процессе PoW - майнинга. Но это добавление меняет итоговый хэш, поэтому майнерам приходится подбирать такую комбинацию «nonce number», чтобы получить нужный.

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

Наибольшим доверием пользуются самые длинные цепочки блоков. То есть – с самой большой проделанной вычислительной работой. И если кто-то решит изменить хотя бы один блок цепочки – это повлияет на весь дальнейший отрезок, поскольку в изменяемом блоке изменится хэш, а из-за этого придётся всё пересчитывать заново. Что реально, но требует более 50 процентов вычислительной мощности всей сети. Поэтому целенаправленные хакерские атаки, направленные на изменение содержания блоков, называют «51% атаками» - этой мощности достаточно, чтобы создать новую цепочку с якобы «достоверной» проделанной работой.

Существует и другой критерий достоверности – так называемый Proof-of-Stake (PoS) или «подтверждение доли владения». Он не настолько требователен к вычислительным мощностям и используемой электроэнергии, поэтому позволяет масштабировать цепочки для большего количества активных участников. Более подробно об этом – в соответственной статье.

Вот примерно так и работает сеть блокчейн-Биткоин. Другие сети могут использовать несколько иные принципы, но в целом – суть остаётся такой же.