Что такое блок в криптовалюте
Что такое блок Биткоина и за что отвечает его размер
Количество обрабатываемых транзакций в сети Биткоина зависит от одного важно параметра — размера блока. Блоки являются главной составляющей цепочки блокчейна, в которой есть информация о переводах BTC вообще за всю историю Биткоина. И хотя главные свойства блоков были заданы ещё анонимным создателем криптовалюты Сатоши Накамото, дебаты о целесообразности ограничений об их размере не утихают даже сегодня.
Что такое блок в Биткоине?
Блок — это информация о транзакциях в сети Биткоина. Каждый блок можно представить себе в виде страницы в бухгалтерской книге (блокчейне). В случае с криптовалютами страницы нельзя «вырвать» — блоки заносятся в блокчейн навечно.
Представьте, что бухгалтер записал все транзакции за последние десять минут в бухгалтерскую книгу, прошил её и поставил печать. Теперь страницу не получится вырвать, ведь все заметят нехватку данных и не захотят пользоваться такой книгой.
Забавный момент: сразу после запуска сети Биткоина в 2009 году размер его блоков составлял 36 мегабайтов. 14 июля 2010 года он был уменьшен до одного мегабайта.
Почему размер блока так важен?
Согласно замыслу создателя криптовалюты Сатоши Накамото, бухгалтерская книга пополняется новыми страницами раз в 10 минут. Иногда немного быстрее, иногда чуть медленнее, но в среднем это именно 10 минут. Размер каждой страницы (блока) ограничен, то есть количество записываемых туда транзакций тоже ограничено. В итоге у нас есть два лимита: на число транзакций в блоке и периодичность его нахождения.
Если желающих отправить биткоины будет слишком много, блоки заполняются очень быстро, и образуется очередь на попадание в них. Говоря умными словами, увеличивается мемпул — очередь из переводов в сети Биткоина, которые ждут подтверждения. Это приводит к росту комиссий за транзакций, ведь кто больше заплатит, тот быстрее попадёт в блок и проведёт перевод.
В начале 2013 года блоки Биткоина были заполнены в среднем на 125 килобайтов. К маю 2015 года этот показатель уже вырос до 425 килобайт, при этом блоки стабильно заполнялись полностью несколько раз в день. То есть транзакций пользователей было достаточно.
Зачем нужно расширять блоки?
За несколько лет существования Биткоина предложение увеличить размер блока звучало десятки раз. Сторонники этого действия считают, что только так BTC сможет выдержать огромную нагрузку при распространении во всём мире. С увеличенными блоками в сети криптовалюты будет проводиться больше транзакций за тот же период времени, то есть ей сможет пользоваться больше людей.
4 мая 2015 года главный научный сотрудник Bitcoin Foundation Гэвин Андресен опубликовал статью, которую в оригинале можно найти по запросу «Why increasing the max block size is urgent». В ней разработчик заявил, что увеличение размера блока — необходимая мера для Биткоина.
Если количество транзакций будет действительно огромным, сеть криптовалюты станет слишком загруженной и непродуктивной. В конце концов люди перестанут использовать Биткоин, потому что время проведения каждого перевода монет вырастет в разы.
Чуть позже Андресен заявил, что займётся разработкой аналогичного клиента Bitcoin XT, первая версия которого была выпущена в декабре 2014 года ещё одним критиком размера блока Биткоина Майком Хёрном.
В июне 2015 года руководства крупнейших китайских пулов для добычи криптовалюты F2pool, BTCChina, Antpool, Huobi и BW подписались под предложением увеличить блок Биткоина из-за растущего количества транзакций. В этом же месяце Андресен опубликовал предложение по улучшению Биткоина (BIP — Bitcoin Improvement Proposal) 101. В нём разработчик предложил отказаться от фиксированного ограничения на максимальный размер блока и перейти на новую модель, в котором лимит будет расти с предсказуемой скоростью.
Что было в BIP 101?
BIP 101 предполагал увеличение размера блока до 8 мегабайтов с 11 января 2016 года. Затем лимит должен был удваиваться каждые 730 дней вплоть до января 2036 года.
Считалось, что благодаря увеличению блока до 8 мегабайтов Биткоин сможет обрабатывать до 24 транзакций в секунду. BIP 101 понравился многим криптоэнтузиастам и крупным майнинговым пулам. И всё же у нововведения были противники. Создатель Bittorrent Брам Коуэн заявил, что столь резкие изменения в протоколе криптовалюты противоречат её главной идее.
16 августа 2015 года BIP 101 был интегрирован в код Bitcoin XT. И хотя апгрейд поддерживался многими, его интеграция не смогла придать популярности альтернативному клиенту Биткоина.
Какие предложения по увеличению размера блока понравились комьюнити?
Bitcoin XT, Bitcoin Unlimited, Bitcoin Classic и Segwit2x были популярными инициативами в 2016 году, однако ни одна из них не привела к расширению лимита блока Биткоина.
В январе 2016 года было решено отказаться от поддержки BIP 101 в Bitcoin XT и просто перейти на единовременное увеличение размера блоков до 2 мегабайтов. Это привело к серьёзному падению интереса к Bitcoin XT. К январю 2017 года менее 30 нод (узлов) в сети клиента поддерживались майнерами. Ещё год назад их количество превышало 650 единиц.
Через месяц был создан Bitcoin Classic путём форка оригинального Биткоина. Инициатива получила поддержку от Coinbase, Bitstamp, Circle, Роджера Вера и Гэвина Андресена. К сожалению, в 2017 году майнеры Bitcoin Classic не смогли достичь консенсуса по поводу очередного форка, после чего создатели криптовалюты решили прекратить её разработку, высказав свою поддержку Bitcoin Cash.
Примерно в одно время с созданием Bitcoin Classic консорциум крупнейших майнинговых пулов, кошельков и бирж Bitcoin Roundtable обсудил планы в отношении протокола Segregated Witness. Речь шла об увеличении размера блока оригинального Биткоина до 2 мегабайтов.
Что такое SegWit?
Segregated Witness или SegWit это улучшение, в котором размер блока освобождается за счёт выноса данных о подписях транзакций во внешний блок, именуемый «отдельным свидетелем». Именно так переводится словосочетание «Segregated Witness». Благодаря этому в один блок можно вместить почти в четыре раза больше транзакций.
31 марта 2017 года было предложено ввести SegWit путём софтфорка, за ним должен был состояться хардфорк SegWit2x для расширения размера блока до 2 мегабайтов. Детали апгрейда были обсуждены во время нью-йоркского соглашения, в котором приняли участие 58 крупнейших владельцев узлов сети Биткоина. Сообщается, что на тот момент они контролировали 83.28 процента мощности всех вычислительных устройств для добычи криптовалюты.
SegWit был принят в августе 2017 года, а вот по SegWit2x майнерам так и не удалось достичь консенсуса — апгрейд был отменён за несколько дней до его предполагаемой интеграции.
Почему разделился блокчейн Биткоина?
Консенсус в комьюнити по поводу «правильного размера блока» так и не был достигнут. В августе 2017 года состоялся хардфорк криптовалюты, который привёл к разделению её блокчейна.
1 августа 2017 года под эгидой Роджера Вера был создан Bitcoin Cash. В форке Биткоина размер блока был увеличен до 8 мегабайтов, при этом интеграция Segregated Witness была отклонена. В мае 2018 Bitcoin Cash прошёл через новый хардфорк, в ходе которого блоки вовсе были увеличены до 32 мегабайтов. Правда, эта инициатива так и не сделала альткоин популярнее оригинального Биткоина. Да и смысла в ней не было. Как оказалось, майнеры BCash всё так же используют блоки на 2 мегабайта, ведь в большем объёме нет смысла.
Заглядывайте в чаш крипточат миллиардеров. Там обсудим все подробности.
Как работает блок в блокчейне Биткойн?
В этом руководстве мы расскажем о принципах работы ключевых компонентов отдельных блоков блокчейна, составляющего сеть Биткойн.
Резюме
Транзакции сети блокчейн состоят из последовательных групп данных, которые упакованы вместе в «блоки», связанные линейно. Каждый блок также содержит набор данных транзакции, которые обрабатываются после завершения блока.
Отдельные блоки, составляющие большую цепочку блоков (блокчейн), содержат важную информацию для функционирования сети. Каждый новый блок содержит криптографически проверяемые данные о транзакциях, а также числовой запрос, который необходимо выполнить, чтобы текущий блок был одобрен и добавлен в блокчейн.
Здесь мы исследуем структуру блока в блокчейне Биткойн и соответствующие роли его отдельных компонентов.
Введение в биткойн-блоки
Сеть Биткойн поддерживает распределенный публичный реестр, в котором регистрируются права собственности и транзакции всех Биткойнов (BTC), собственного цифрового актива сети Биткойн.
Каждый блок также должен содержать определенную конкретную информацию, чтобы быть распознанным сетью и впоследствии должным образом проверяться и добавляться в блокчейн.
Общая структура блока Биткойн всегда включает в себя следующие элементы:
Заголовок блока и данные транзакции представляют две основные категории данных в любом данном блоке, к тому же, они разбиты на отдельные компоненты, которые мы обсудим более подробно для лучшего понимания процесса генерирования блока.
Заголовки блоков BTC и майнинг
Сеть Биткойн в основном полагается на децентрализованную сеть узлов, которые поддерживают распределенный публичный реестр всех транзакций Биткойнов. Сетевые узлы также могут участвовать в процессе, называемом майнингом, который защищает сеть и гарантирует подлинность новых блоков и транзакций, которые они содержат.
Майнеры несут ответственность за запись новых блоков в блокчейн, поэтому их роль в проверке целостности информации, содержащейся в предлагаемом блоке, имеет первостепенное значение.
Время создания блока Биткойнов составляет десять минут (в среднем), поэтому каждый час в блокчейн Биткойн записывается около шести новых блоков.
Заголовок блока содержит 80 байтов криптографически проверяемой информации:
Биткойн-майнеры соревнуются за решение ресурсоемкой задачи Proof-of-Work (PoW). Головоломка требует взятия всех сетевых транзакций, а также информации из предыдущего блока (то есть его заголовка блока), и их «хеширования» с использованием алгоритма SHA-256.
Первому майнеру, который решит эту головоломку, разрешается создать новый блок, а взамен он получает вознаграждение в виде недавно выпущенных в обращение BTC.
Майнер должен взять эти данные и угадать число, называемое «nonce», которое при вводе в хэш SHA-256 будет генерировать один вывод, который соответствует другому выводу, установленному протоколом Биткойн.
Майнинг сводится к тому, чтобы как можно быстрее угадать «nonce». Если майнер достигает указанного порогового значения вывода, он будет транслировать новый блок (который включает их одноразовый номер) другим майнерам в сети, чтобы они могли сами хешировать его и проверить предложенное решение.
Высота блока Биткойн измеряет, сколько блоков предшествовало ему в протоколе Биткойн. Например, следующее сокращение вдвое блока Биткойн (вознаграждений за майнинг) произойдет на высоте блока 840 000 в 2024 году.
Другими словами, эта веха произойдет, когда количество блоков Биткойн, записанных в протокол с момента возникновения блока в 2009 году, будет равно 840 000.
Данные транзакции в блоке Биткойнов
Первая транзакция, содержащаяся в каждом новом блоке, известна как транзакция генерации или транзакция Coinbase (не путать с Coinbase – площадкой торговли криптовалютой) и отвечает за генерацию новых BTC как часть вознаграждения за блок для успешного майнера.
Эта первоначальная транзакция четко указывает, какие биткойн-адреса имеют право на получение вознаграждения за блок.
В то время как традиционные транзакции Биткойнов содержат как входы, так и выходы, транзакция генерации создает новые Биткойны из самого протокола.
Остальная часть данных транзакции блока включает в себя адреса отправителей и получателей, количества BTC в каждой сделке, подписи приватного ключа, разрешающие отправку BTC, а также временные метки, которые криптографически подтверждают точное время совершения каждой транзакции.
Как упоминалось ранее, размер блока Биткойнов исторически ограничивался 1 МБ данных. Однако сеть Биткойн также поддерживает функцию под названием «Segregated Witness» (SegWit).
Для каждой отдельной транзакции включены следующие данные:
Отправители транслируют данные своих транзакций в сеть, а майнеры, соревнующиеся за создание новых блоков Биткойнов, заинтересованы в добавлении отдельных транзакций в свои блоки из-за включенных комиссий за транзакции.
Будущее производства биткойн-блоков
Реализация технологии блокчейн в Биткойне основана на относительно простой, но элегантной системе чеканки новых блоков и поддержания сетевой безопасности.
Хотя это конкретное исследование анатомии блока специфично для блокчейна Биткойн, многие другие сети PoW используют очень похожую структуру данных блока блокчейна.
Эти сети могут иметь некоторые различия, такие как имеют разные размеры блоков или время блокировки, но их общие системы майнеров, блоков и архитектура блокчейна в целом одинаковы.