Майнеры наблюдают за транслируемыми транзакциями. Как только они обнаруживают транзакцию, то добавляют ее в свой пул[10] неподтвержденных транзакций. В то же время майнеры должны выполнить определенную работу. Все это полностью автоматизировано и происходит в фоновом режиме с молниеносной скоростью. Работа, которую они должны выполнить, – это вычисление сложных криптографических значений, которые можно сделать только путем повторения. Это похоже на сборку пазла. Каждый получает пазл с определенным количеством кусочков, и кто первым собирает пазл, тот побеждает. Кусочки пазла – это транзакции, которые не только состоят из нескольких фиксированных точек, но и содержат множество переменных. Например, один кусочек – это последняя часть пазла, которая была собрана первой. Каждый майнер использует тот же самый кусочек пазла для новой попытки. Затем майнеры выбирают транзакции, которые они хотят включить в этот пазл, и пытаются собрать его. Поскольку большинство блокчейн-систем разрешают только определенное количество транзакций на блок, майнеры должны выбирать транзакции. Скорее всего, они выбирают транзакции с самым высоким вознаграждением, которое они могут получить, если они выиграют.
Существует много возможностей, поэтому шансы того, что разные майнеры собирают разные пазлы (блоки), очень высоки. Блоки-пазлы структурированы таким образом, что они не могут быть собраны без добавления так называемого числа
Как находить блоки?
[РЕЖИМ БОТАНА]
Фактически майнеру удалось вычислить несколько криптографических алгоритмов SHA256, угадывая рандомный вход для фиксированного выхода.
[РЕЖИМ БОТАНА ВЫКЛЮЧЕН]
Как только майнер найдет правильное решение, он передает этот блок нескольким другим узлам и другим майнерам, которые изучают блок-пазл, убеждаются, что он правильный, и только затем пересылают его дальше.
Как вы знаете по собственному опыту, требуются лишь секунды, чтобы посмотреть на пазл и убедиться, верно он собран или нет. Однако для его сборки требуется несколько минут, часов или даже дней. Если вы когда-нибудь с ужасом смотрели на пазл из тысячи элементов, то знаете, что я имею в виду. То же самое относится и к криптографии с блокчейном; для создания блока-пазла требуется всего лишь один майнер и всего несколько миллисекунд, чтобы проверить, верен ли чей-то блок-пазл и будет ли он принят в качестве следующего блока в блокчейне.
Как блоки соединяются в блокчейне?
Готовый блок нумеруется посредством временной метки. Майнер, который нашел блок, получает транзакционные сборы за все транзакции, включенные в блок, а также получает награду сверх этого. В случае Биткоина это вышеупомянутые 12,5 биткоина за блок (однако со временем их становится все меньше и меньше). Если транзакция является частью этого блока, то она подтверждается в первый раз. В течение нескольких миллисекунд многие тысячи или даже миллионы майнеров копируют этот блок и начинают майнинг на новом блоке, используя последний кусочек пазла последнего блока, добавляя новые кусочки и пытаясь найти число
[ВАЖНО]
Выражаясь криптографически, все блоки соединены вместе в цепь – таким образом формируется блокчейн.
Первый блок в блокчейне – это генезис-блок (genesis block). В системе Биткоин он был создан Сатоши Накамото 3 января 2009 года. Сегодня у нас есть сотни тысяч блоков поверх него – все они соединены вместе с помощью криптографии. Вы не можете изменить какой-либо блок в середине, так как он уничтожит всю дальнейшую цепочку блоков. Это очень важно для понимания неизменности блокчейна. Если вы хотите изменить прошлое, вам придется отменить все следующие блоки (пазлы) и начать с нуля. Если вы просто измените одну транзакцию (кусочек пазла), то этот пазл (блок) и, следовательно, все следующие пазлы (блоки) изменятся.
Почти во всех случаях требуется больше усилий, чтобы изменить блокчейн, чем получить от него изменения.