Закрыть

Что такое блок Биткоина и за что отвечает его размер

В закладки
Аудио
Что такое блок Биткоина и за что отвечает его размер
Содержание

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

Что такое Биткоин блок?

Блок - это информация о транзакциях в сети Биткоина. Его можно представить себе в виде страницы в бухгалтерской книге (блокчейне). Страницы нельзя "вырвать" - записи заносятся в блокчейн навечно.

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

Забавный момент: сразу после запуска сети Биткоина в 2009 году размер его блоков составлял 36 мегабайтов. 14 июля 2010 года он был уменьшен до одного мегабайта.

Блок Биткоин: почему его размер так важен?

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

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

В начале 2013 года блоки Биткоина были заполнены в среднем на 125 килобайт. К маю 2015 года этот показатель уже вырос до 425 килобайт, при этом блоки стабильно заполнялись полностью несколько раз в день. То есть транзакций пользователей было достаточно.

Биткоин блоки: как они формируются?

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

Для попадания блока в blockchain требуется найти параметр хеша заголовка, показатель которого ниже заданного предела. Цель майнера - подобрать верные входные данные путем перебора вариантов. Для решения задачи применяется мощное оборудование - видеокарты, ASIC-чипы.

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

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

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

Из чего состоят блоки биткоин: структура

Как отмечалось, блок состоит из заголовка и перечня операций.

Свойства заголовка:

  1. Hash - хеш (алгоритм SHA-256). Этот hash носит случайный характер, поэтому время его определения легко предсказать. Хешированию подлежит только заголовок, а к операциям в криптовалютной цепи это не относится. Количество транзакций не оказывает значительного воздействия на расчёт хеша.
  2. Prev_block - свойство хеша прошлого блока в цепи блокчейн. Наличие такой характеристики повышает надежность сети и усложняет ее подделку. Если внести правки в один, придётся переделывать остальные.
  3. Version - версия блочной схемы (сегодня она одна - 1).
  4. Time - uint32_t - свойство, характеризующее период, за который создаётся очередной блок. По замыслу создателя Bitcoin, последний элемент цепи будет добыт в 2106 году.
  5. Mrkl_root - перечень хешей операций. Суть в том, что хеш блока находится в прямой взаимосвязи с операциями в сети. Цель - защита цепи от подделки. Непосредственное вычисление при большом числе операций занимает много времени. Вот почему сначала хешируются операции в цепи, а далее хеши применяются для расчета хешей. Необходимость таких действий объясняется следующей разницей - обновление хеша транзакции происходит после добавления к элементу цепи новой операции. Вычисление хеша заголовка происходит чаще - до 3-5 тысяч в секунду.
  6. Bits - главный параметр, сокращённый вариант значения хеша. Следующий элемент признается сетью и добавляется к цепи в том случае, если его хеш не превышает параметр bits. От этого параметра зависит сложность добычи нового блока. Обновление числа осуществляется с периодичностью раз в 14 дней.
    Принцип расчета прост. Сначала вычисляется объем созданных блоков за 14 дней, после чего полученное число сравнивается с эталонным значением. Как отмечалось, на создание одного уходит 10 минут. С ростом блоков сложность возрастает и наоборот. Система подстраивается под количество участников и общую мощность подключенного оборудования.
  7. N_tx - число операций в перечне.
  8. Nonce - параметр, который подбирается до момента, пока значение хеша не будет ниже bits. Для того, чтобы новый хеш имел отличия от прошлого, должен различаться хоть один из параметров. Версия неизменна, хеш прошлого блока обновляется с появлением нового элемента цепи, список хешей меняется при включении в него новой транзакции, время обновляется каждую пару секунд, а целевой параметр - раз в 14 дней. Чтобы не ожидать обновления любого из перечисленных свойств, существует параметр nonce.
  9. Size - величина блока (измеряется в байтах).

Следующий элемент блока - операции в криптовалютной сети. Они имеют вид перечня, который формирует блок и становится составляющей цепи. Каждый пункт списка (транзакция) показывает отправителя и получателя перевода.

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

Список транзакций реализуется с помощью таких свойств:

  1. Hash - параметр, указывающий на хеш операции. Это значит, что хеширование транзакции происходит два раза - при расчёте хеша операции, а после при расчёте хеша. В блокчейне работает принцип взаимосвязи элементов цепи. Это значит, что хеш нового блока ссылается на хеш идущего перед ним элемента цепи. По аналогичному алгоритму построена и система транзакций. Если заменить проведенную операцию и сохранить при этом хеш, разрушатся остальные хеши, а сама цепь будет отклонена пользователями сети.
  2. Vout_sz - число адресов, куда переводятся средства (может колебаться от одного и больше).
  3. Vin_sz - число прошлых операций, в которых средства перечисляются новым получателям (от 1 и больше).
  4. Ver - версия (пока неизменна - 1).
  5. Size - объем операции (единица измерения - Байты). Формат - JSON.
  6. Loch_time - свойство, которое пока не применяется и равно нулю. Суть замысла в том, чтобы выполнять операции с отсрочкой по времени. В результате они подключаются не к идущему в данный момент блоку, а к будущему или через один элемент. В свойстве Loch_time показывается число элементов цепи, которые требуется игнорировать перед включением транзакции. Потенциально опция может применяться в ситуации, когда требуется отмена операции и ее переподпись.
  7. In - свойство, в состав которого входит перечень входов транзакции. Здесь применяются выходы прошлых операций, о которых упоминалось ранее (prev_out). Все выходы имеют индивидуальные свойства, а именно - Hash (хеш прошлой операции), n (порядковый номер операции) и scriptSig. Отправитель обязан доказать, что переводит личные средства. Это происходит путём указания общедоступного ключа прошлой операции, а также включения частного ключа (подписи ECDSA). Этого достаточно, чтобы доказать акт применения собственных денег.
  8. Out - перечень выходов. Как и ранее, здесь имеются определенные свойства - Value и ScriptPubKey. Первое включает в себя объём средств, направляемых адресату. Информация берётся из прошлых операций, поэтому общее число не может быть больше итоговой суммы уже выполненных транзакций. Свойство Valuo прописывается в наномонетах (это делается, чтобы исключить появление дробей). Второе свойство представляет собой определенный сценарий. Он состоит из хеша общедоступного ключа и оператора языка. Суть - изучение транзакции и подтверждение ее валидности.

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

Как выглядят bitcoin блоки: пример

С учетом приведенной выше информации можно привести пример блока Биткоина:

  1. Hash(хеш): 00000000000008c21dbf4715d5da1a288061faa21e930dd8df6ae25c8b56d868.
  2. Previous block (прошлый блок): 000000000000056a7dcf273f627c2a17c55ffe1937a6ef2bc467d9c524312da2.
  3. Difficulty (сложность): 1 690 895.803053. Bits - 1a09ec04.
  4. Transactions (транзакции): 185.
  5. Total BTC (общее число Биткоинов): 4251.63216934.
  6. Size (размер): 58.914 kilobytes.
  7. Merkle root (список хешей): 98c5d975bf556f0344770eee7ab31688a2c108223c14sea908ff99b0ab8fe947.
  8. Nonce: 3723463451.

В качестве аналогии можно сравнить обычные банковские транзакции с операциями в сети Биткоин.

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

С помощью чего можно сделать обзор блоков Биткоин?

Рассмотрим популярныйобозреватель блоков - blockchain.com. Сайт имеет русскоязычный интерфейс и понятную структуру. Перейти в обозреватель можно следуя пути: Данные - Проводник, или нажать на окошко поиска.

В строке поиска необходимо прописать данные, информацию о которых вы хотите узнать:

  1. Адрес Биткоина.
  2. Txid транзакции.
  3. Высота (номер).

Например, вы хотте получить информацию о биткойн-адресе: 1PfGzi59sW7eDtHuRBKaFV7QyuRkdY3pA2. Нужно скопировать его и вставить окно поиска. В соседнем поле выбрать криптовалюту Bitcoin и нажать "Поиск".

Появится страница с полной информацией:

  • Текущий баланс.
  • Число транзакций, Txid и суммы.
  • Адрес отправителя или получателя транзакции.

При переводе криптовалюты с кошельков и криптобирж, при обмене между людьми и в других случаях предоставляется TXID (TxHash). Это и есть идентификатор транзакции, по которому можно отследить был ли совершен перевод, подтверждена или нет операция, узнать адрес отправителя и точную сумму перевода. Это очень важная информация и необходимо знать, как и где посмотреть статус биткоин-транзакции.

Для этого указываем TXID в окне обозревателя:

Появится информация:

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

На примере ниже, транзакция имеет одно подтверждение (нужно как минимум 6):

Для просмотра сведений о блоке нужно указать в блокчейн-обозревателе его высоту (номер). Отобразятся следующие данные:

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

Другие мониторинги, которые позволят узнать все про блоки BTC

  1. https://localbitcoinschain.com/ - обозреватель от биржи LocalBitcoins. Поддерживаются Segwit и Bech32 адреса.
  2. https://bitinfocharts.com/ru/bitcoin/ - удобный сервис с графиками.
  3. https://coin-cap.pro/ru/blockexplorer/ - позволяет легко и быстро сделать обзор блоков Биткоин.
  4. https://live.blockcypher.com/ - принцип получения данных не отличается от других ресурсов: вводим адрес, идентификатор транзакции, блок и получаем показатели блокчейн-сети. Например:

Общие вопросы про биткоин блоки

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

Какое количество блоков биткоин может быть в сети?

Максимального количества не существует, блоки просто продолжают добавляться в конец цепочки со средней скоростью:

Монета

Время блока

Bitcoin

10м 52с

Ethereum

13.42с

Bitcoin Cash

9м 46с

Litecoin

2 м 32 с

Tron

3c

BitcoinSV

9м 38с

Dash

2 м 38 с

Zcash

1 м 15 с

Ethereum Classic

13.15c

Будут ли создаваться Bitcoin блоки, когда все монеты одной криптовалюты будут сгенерированы?

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

В сети Биткоин сколько блоков на данный момент?

Эту информацию можно найти в любом обозревателе. На момент написания статьи 23 июня 2021 года в 11.00 по МСК в сети было 688 566 блоков.

Предыдущая статья Понравилась статья? 0 Следующая статья
Комментарии: 0
Оставить комментарий
Сервис подписки в данный момент находится в завершающей стадии разработки. Регулярная отправка новостных материалов на Ваш email начнется в ближайшее время. Повторная подписка не потребуется.
Добавить еще