Назад

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

Работа каждого блокчейна основана на алгоритме майнинга. Например, SHA256 — это безопасный хэш алгоритм BTC, который отвечает за обработку входных данных, будь это текст, набор чисел или файлы любых размеров. То, что получается в результате обработки называется «хэш». И он всегда имеет одинаковую длину в машинном коде, а именно 256 бит. 

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

Но как устроено взаимодействие в блокчейне? Давайте представим двух участников: Алису и Боба. Оба владеют BTC. Однако Боб, по доброте душевной, хочет отправить Алисе пару монет. Для этого Бобу нужно оставить сообщение с транзакцией, которую предстоит обработать майнерам сети. Само сообщение, помимо открытого адреса Алисы и суммы переводимых BTC, содержит цифровую подпись и открытый ключ Боба. Последние служат доказательством подтверждения владельца и его желания отправить монеты.

Когда майнеры видят, что транзакция актуальна и подтверждена, они помещают ее в блок к остальному множеству таких же транзакций. Начинается попытка майнинга, то есть размещение блока по алгоритму SHA-256. Чтобы размещение считалось действительным, ему необходимо начинаться с N-ого количества нулей. Однако это количество зависит от так называемой «сложности сети», которая определяется вычислительной мощностью местной сети. 

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

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

Самый надежный блокчейн — блокчейн с самой длинной цепочкой блоков. Майнеры предпочитают доверять блокчейну, располагающему большей вычислительной мощностью. Ведь если кто-то попытается изменить транзакцию в предыдущем блоке, выходной хэш изменится для всех остальных без исключения. Иными словами, подобное изменение вынуждает хитрых майнеров переделывать всю добытую цепь блоков, чтобы убедить других в правильности блокчейна. На это понадобиться более 50% вычислительной мощности сети, а располагать такими ресурсами весьма проблематично. Данную сетевую атаку, то есть попытку вмешаться в работу, также называют атакой 51%