Если вы имеете дело с криптовалютой, то наверняка в какой-то момент соприкасались с блокчейном. Блокчейны также применимы в управлении цепочками поставок, логистике, проверке личности и ряде других областей, поэтому вы могли использовать эту технологию, даже если не занимаетесь криптографией. Но какие данные хранят блокчейны? И если эти блокчейны общедоступны, стоит ли вам беспокоиться о том, что на них написано?
Краткий обзор технологии блокчейн
Прежде чем мы обсудим данные, хранящиеся в блокчейнах, мы должны сначала объяснить, что такое блокчейн простыми словами, чтобы мы знали, с какой технологией мы имеем дело.
Блокчейны лучше всего представить в виде виртуальных цепочек блоков, отсюда и название. Каждый блок хранит данные с помощью хэширования, криптографического метода. Это не позволяет незаконным лицам использовать данные блокчейна. Как только емкость одного блока достигнута и подтверждено присоединение к цепочке, начинается подтверждение другого блока, будь то через
доказательство работы, доказательство долиили другой механизм консенсуса.Блоки различаются по размеру, а это означает, что количество информации, которое они могут хранить, различается. Блок биткойнов, например, имеет размер всего 1 МБ. То же самое касается Litecoin и Dogecoin. Биткойн Кэш, однако, имеет гораздо больший размер блока — 32 МБ, что означает, что в каждом блоке может храниться больше транзакций.
Большие блоки обычно уступают место более быстрым транзакциям и более низким комиссиям, но сегодня мы не будем вдаваться в этот элемент технологии блокчейна. Вместо этого давайте начнем с того, какие данные хранятся в блокчейне.
Какие данные хранит блок?
Конкретный тип данных, которые будет хранить данный блок, может различаться в зависимости от цели и характера блокчейна. Но давайте воспользуемся биткойном, одним из самых популярных блокчейнов в мире, чтобы получить хорошее представление о хранении блокчейна.
Биткойн-блоки добываются с помощью механизма консенсуса Proof-of-Work, при котором майнеры используют специализированное оборудование для решения сложных вычислительных задач. На данный момент было добыто более 760 000 биткойн-блоков, при этом ежедневно в обращение попадает около 900 биткойнов. Каждый блок вводит в обращение 6,25 BTC, что соответствует вознаграждению, которое может получить майнер или майнинговый пул, который добывает блок.
Биткойн приближается к своему лимит предложения 21 миллион BTC. После достижения этого предела добыча BTC больше невозможна. Но поскольку биткойн-транзакции продолжают выполняться, блоки необходимо будет продолжать добавлять в блокчейн, чтобы поддерживать неизменяемый реестр.
Данные внутри блока биткойнов хэшируются с использованием криптографического алгоритма хеширования SHA-256. Разные криптовалюты используют разные алгоритмы хэширования. Ethereum, например, использует Ethash. Многие правительства также используют SHA-256 для хеширования данных.
Биткойн-блок состоит из нескольких разных разделов. Начнем с заголовка блока.
Заголовок блока
Заголовок блока Биткойн хранит следующие данные:
- Время транзакции
- одноразовый номер
- Биты
- hashMerklRoot
- hashPrevBlock
- Версия
время транзакции содержит метку времени, представляющую время, когда произошла транзакция. Блоки хранят транзакции в хронологическом порядке.
одноразовый номер (сокращенно от «число, используемое только один раз») играет очень важную роль в процессе доказательства работоспособности. Это число, которого должен достичь майнер, решая вычислительные задачи. Если майнер решает одноразовый номер, он может успешно добыть блок. Со временем добывать блоки становится все труднее и труднее, поскольку сложность майнинга биткойнов (т. е. насколько сложно добывать блок) возрастает.
Далее у нас есть биты. Это поле также относится к Биткойну. сложность майнинга, так как он содержит саму трудность. Это может увеличиваться или уменьшаться с течением времени. Если сложность увеличивается, майнер должен использовать больше хэш-мощности для майнинга блока. Если он уменьшается, майнер может использовать меньше. Конечно, майнеры предпочитают более низкую сложность, так как это экономит энергию и время. В общем, если количество майнеров увеличивается, сложность увеличивается вместе с ним.
hashMerklRoot связан с корнем Меркла. Это математический метод, используемый для подтверждения информации в дереве Меркла, которое по сути является структурой хранения данных. Деревья Меркла используют криптографию для хранения данных, при этом hashMerklRoot представляет собой хэш всех хэшей транзакций, хранящихся в данном блоке.
hashPrevBlock, как следует из названия, относится к 256-битному хешу предыдущего блока. Каждый биткойн-блок в цепочке содержит хэш предыдущего блока.
Наконец, у вас есть версия. Это поле просто относится к используемой версии протокола Биткойн. Протокол Биткойн, используемый сегодня, не совсем такой же, как тот, который использовался, когда Биткойн был впервые запущен в 2008 году. Время от времени производятся обновления для улучшения определенных частей сети. Самая последняя версия протокола — 70015, представленная в 2017 году. Это обновление предоставило возможность запрещать недействительные компактные блоки в цепочке.
Остаток биткойн-блока
Но дело не останавливается на заголовке. В каждом блоке биткойнов хранятся и другие виды данных, в том числе:
- Размер блока
- Счетчик транзакций
- Магическое число
- Транзакции
Начнем с размер блока. Это поле накладывает ограничение на объем данных, которые могут храниться в блоке. Как указывалось ранее, ограничение размера блока Биткойн составляет 1 МБ, но это меняется от крипто к крипто.
счетчик транзакций просто подсчитывает количество транзакций, зарегистрированных в данном блоке биткойнов. Не существует постоянного количества транзакций, которые хранятся в блоках, поскольку каждая транзакция может иметь разный размер. Но в среднем каждый биткойн-блок содержит от 1500 до 2000 транзакций, плюс-минус несколько сотен с каждой стороны.
магическое число имеет постоянное значение 0xD9B4BEF9 и определяет тип файла и структуру, используемые в блоке. Магические числа также служат идентификатором сети для каждого блока. Это постоянное значение было установлено Сатоши Накамото при создании Биткойна.
поле транзакций перечисляет все транзакции, включенные в любой биткойн-блок (в отличие от поля счетчика транзакций, в котором указывается количество транзакций в блоке). Как мы уже говорили, количество транзакций, хранящихся в блоке, не может превышать емкость в 1 МБ.
Хранит ли блокчейн ваши личные данные?
Ваше имя, контактные данные, платежная информация и другие личные данные не хранятся в блокчейне. Единственные данные, которые относятся к вам, — это адрес вашего общедоступного кошелька. В большинстве случаев это абсолютно безобидно. Но более сложные инструменты отслеживания, используемые государственными учреждениями и другими аналитиками блокчейна, могут раскрыть вашу личность через ваш адрес, если они достаточно постараются.
Большинство криптовалют имеют псевдонимы и прослеживается до степени. Вот почему некоторые предпочитают монеты конфиденциальности, такие как ZCash и Monero, поскольку они могут скрывать адрес своего кошелька при торговле этими активами.
Данные блокчейна играют большую роль в сети
Без блочных данных не было бы возможности записывать и отслеживать транзакции, что по своей сути является важной частью технологии блокчейн. Предоставление неизменного реестра обеспечивает безопасность и прозрачность, позволяя пользователям проверять различные виды информации в сети, такие как суммы транзакций,