Блок

Материал из Decimal Wiki
Перейти к навигации Перейти к поиску

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

Когда новая транзакция происходит в блокчейне, она собирается в блоке вместе с другими транзакциями, которые произошли в том же промежутке времени. Затем блок проверяется и добавляется к существующей цепочке блоков.

Как работают блоки в блокчейне

Основная статья: Блокчейн

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

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

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

Как работают блоки?

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

Блок содержит самую последнюю информацию о том, что произошло в сети с точки зрения транзакций, когда она завершается.

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

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

Типы блоков

Существует 3 типа блоков, которые можно найти в блокчейне. В частности, мы говорим о генезисных блоках, действительных блоках и блоках-сиротах. Давайте рассмотрим каждый из них подробнее.

Генезис-блок

Блок genesis получил своё название, в частности, потому, что это первый блок, созданный в блокчейне.

Первый из генезис-блоков, добытый Сатоши Накамото, дал начало Bitcoin, и положил начало блокчейну и криптовалюте в 2009 году.

Это очень важный блок, потому что он закладывает фундамент для других блоков, которые будут созданы на его основе. Это — начало истории блокчейна и его транзакций.

Таким образом, генезис-блок становится краеугольным камнем в сети. Как мы уже видели, блоки всегда указывают на предшественника; поэтому, когда создаётся новый блокчейн, необходим определённый блок, который не указывает ни на что, но служит якорем, с которого всё начинается.

Поскольку это особый блок, и он не похож на остальные блоки, генезис-блок называют «блоком 0».

С генезисным блоком Bitcoin связана некая тайна. Созданные в нём 50 BTC не могут быть потрачены. Неизвестно, является ли это сознательным решением создателя или ошибкой в коде, которая делает невозможным использование этих биткойнов.

Мы можем наблюдать, что оригинальный клиент Bitcoin не считает создание этих 50 BTC действительной транзакцией. В коде этого генезис-блока также есть URL, при попытке посещения которого выдается сообщение об ошибке.

К сожалению, мы не можем узнать больше, потому что Сатоши исчез вскоре после того, как Bitcoin был представлен общественности. Существуют только недоказуемые теории, поэтому этот блок окутан тайной, что делает его ещё более интересным.

Действительный блок

Действительные блоки — это все те блоки, которые были добыты и добавлены в блокчейн. Чтобы блок был действительным, майнер должен выполнить определенный объём работы, результаты которой будут приняты остальными узлами в сети блокчейна.

Каждый узел имеет свою версию блокчейна (полную копию кода), которая обычно идентична версиям других узлов во всей сети. Когда майнер добывает новый блок, он передаёт его другим узлам, которые проверяют его правильность и добавляют его в общий массив данных, после чего делятся обновлённой информацией с другими узлами.

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

Каждый действительный блок содержит определённое количество транзакций, которое зависит от размера блока конкретной цепи. В случае с биткойном, каждый действующий блок содержит в среднем 2 100 транзакций.

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

Именно это заставляет каждый новый блок добавлять больше безопасности к предыдущим блокам, а значит, и к вашим транзакциям.

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

Помимо транзакций, блок содержит корень Меркла, время, параметр «nonce» и специальную транзакцию, называемую «coinbase».

Блоки-сироты

Блоки-сироты — это блоки, которые не являются частью цепочки.

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

Технология блокчейн работает таким образом, что сеть всегда приходит к консенсусу о том, что самая длинная цепочка является правильной, а остальные отбрасываются.

Когда два майнера одновременно находят блок и передают его остальной сети, одни узлы фиксируют один блок, а другие — другой, называемый форком. Майнеры начнут добычу на одном из них, пока наконец не будет найден новый блок. Тогда именно та цепочка, где появился дополнительный блок, и будет принята всей сетью как действительная.

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

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

Эта проблема известна как атака 51 %, и о ней не стоит беспокоиться, если интересующая вас криптовалюта достаточно популярна. В целом, чем больше майнеров участвует в сети, тем сложнее осуществить нечто подобное, поскольку мошеннику потребуется большое количество вычислительной мощности, чтобы провернуть свою аферу.

См. также