Что такое размер блока биткоин

Каким должен быть размер биткоин-блока?

Содержание статьи:

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

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

Как менялся размер блока биткоина и его форков

Когда Сатоши Накамото в 2008 году создал биткоин, он не вводил ограничений по размеру блока. Их не было до 2010 года, именно тогда был установлен лимит в 1 МБ. В то время особых споров о размерах блоков не было, но в течение следующих пяти лет эта проблема становилась всё более актуальной, поскольку объём биткоин-транзакций начал расти.

После различных предложений в августе 2017 года биткоин-сообщество решило увеличить размер блока до 2 МБ. В ноябре 2017 года было представлено обновление протокола SegWit , что позволяло более эффективно обрабатывать подписи и освобождать пространство блока. Иногда заявляется, что SegWit дает биткоину «вес блока» в 4 МБ, но большинство стандартных транзакций не могут превышать 2 МБ.

В любом случае, добавление SegWit привело к созданию форка Bitcoin Cash с повышением лимита до 8 МБ. Впоследствии в мае 2018 размер был повышен до 32 МБ, в результате чего в ноябре 2018 года прошёл ещё один хардфорк с появлением новой криптовалюты Bitcoin SV. Новая монета ввела ограничения на уровне 128 МБ, а в июле этого года этот лимит был поднят до 2 ГБ.

Большие блоки обеспечивают лучшую производительность?

Хотя все три блокчейна имеют разные ограничения по размеру блока, биткоин, Bitcoin Cash и Bitcoin SV производят по одному новому блоку примерно каждые 10 минут. Bitcoin Cash и Bitcoin SV имеют почти нулевую комиссию, что говорит о том, что пользователям не нужно конкурировать за быстроту включения своих транзакций в будущие блоки.

Однако высокая производительность форков может объясняться низким спросом, а не большими размерами блоков. Bitcoin Cash и Bitcoin SV редко достигают полной емкости блоков, в обычные дни их средний размер блоков значительно ниже, чем у биткоина. Кроме того, как показано ниже, оба блокчейна имеют гораздо меньшие объемы транзакций, чем у биткоина.

Конечно, есть и отличные показатели. Стресс-тесты Bitcoin Cash показывают, что его сеть способна обрабатывать большой объём транзакций и большие блоки. В этом месяце был добыт блок размером 14 МБ, содержащий 73 000 транзакций. Тем временем Coin Geek продемонстрировал, что на Bitcoin SV можно добывать 128 МБ-блоки, хотя на практике такие большие блоки труднее распространять по сети.

Если Bitcoin Cash и BSV когда-либо начнут последовательно обрабатывать полные блоки, их ограничения по размеру должны улучшить их производительность. Следует отметить, что этим блокчейнам не нужно привлекать больше транзакций для заполнения своих блоков. Например, Bitcoin SV стремится хранить большие медиа-файлы ончейн (является ли эта функция реально необходимой, это отдельный разговор).

Вредят ли большие блоки безопасности и децентрализации?

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

Также возможно, что некоторые сети не смогут успеть обработать большие блоки. Например, в апреле BitMEX обнаружил «reorg» в Bitcoin SV. Это означало, что майнеры Bitcoin SV не смогли распространить и проверить большие блоки до добычи другого блока. Злоумышленники не воспользовались этой уязвимостью, но так или иначе это поставило безопасность под угрозу.

Читайте также:  Производительность 1070 для майнинга

Ещё одна проблема, как пояснили в SFOX — это сетевые атаки типа «отказ в обслуживании» (DOS). Если мошенники создают большие блоки, они могут вызвать очереди и задержки. Конечно, злоумышленники могут предпринять попытку DOS-атаки, также отправив большой объём небольших транзакций. В конечном счёте, биткоин применяет множество мер против DOS-атак, и размеры блоков являются лишь одним из аспектов.

Как ещё обеспечивается масштабируемость

Размеры блоков могут быть актуальной и волнующей темой в биткоин-сообществах, но они не являются проблемой для всех блокчейнов. Ethereum, к примеру, использует лимит «газа» вместо ограничений размера блока. У сети ETH были свои проблемы с задержками транзакций и перегрузками, но лимиты газа сети не столь спорные, как размеры блоков, так как их можно относительно легко настраивать.

Даже когда речь идёт о биткоине и связанных с ним блокчейнах, предпринимаются и другие усилия по масштабируемости. Решения второго уровня, например, Lightning Network, могут использоваться для выполнения офчейн-транзакций. Функции масштабирования ончейн, такие как Xthinner, Graphene и Compact Blocks, также уменьшают потребность в больших блоках у биткоина и связанных с ним блокчейнах.

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

Источник

Что такое размер блока биткоин

Понравилась статья? Поделись:

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

Содержание

Строение блока [ править ]

Поле Описание Размер
Magic no. Значение всегда равно 0xD9B4BEF9 4 байта
Размер блока (blocksize) Число последующих байтов, оставшихся до конца блока 4 байта
Заголовок блока (blockheader) Состоит из 6-ти компонентов 80 байтов
Счётчик транзакций (transaction counter) Положительное целое число VI = VarInt 1-9 байтов
Транзакции (transactions) Список транзакций Множество транзакций

Что такое блок? [ править ]

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

Так как за нахождение блока выдается награда в 12.5 BTC, блок так же содержит Bitcoin-адрес, на который отправлена награда. Запись об этой транзакции называется – generation transaction, т.е. транзакция создания Bitcoin, в списке транзакций блока она всегда находится на 1м месте. Bitcoin транзакции транслируются на всю сеть отправителем – узлы собирают информацию о них и, руководствуясь определенными условиями, включают их в найденный блок.

Сложность [ править ]

Сложность задачи регулируется сетью Bitcoin таким образом, чтобы, в среднем, находилось 6 блоков в час (1 блок в 10 минут). Каждые 2016 блоков (примерно каждые 2 недели) в сети меняется сложность – каждый Bitcoin клиент сравнивает, насколько быстрее (медленнее) находились блоки по сравнению со стандартными значениями и, на основании этих данных, происходит регуляция сложности в большую (меньшую) сторону.

Форк [ править ]

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

Читайте также:  Богуславский правовое регулирование иностранных инвестиций

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

Источник

Размер блока: что нужно знать о грядущих изменениях в протоколе Bitcoin

На протяжении последнего года вы вероятно что-то слышали об интенсивном обсуждении текущего ограничения размера блока в блокчейне Bitcoin, а может и сами принимали в нем участие. Дискуссия в последнее время проходит все масштабнее и оживленнее, особенно после того, как около полугода назад главный разработчик кода Биткойна Гэвин Андресен обратился к сообществу с предложением увеличить максимальный размер блока, заложенный в алгоритм в данный момент. Давайте разберемся подробнее, о чем речь и попробуем понять, что ждет биткойн с технической стороны.

Что случилось?

Для начала обозначим некоторые ключевые моменты:

  1. Сегодня майнеры добывают в среднем один блок каждые 10 минут;
  2. В каждом блоке может храниться максимум 1 Мб данных;
  3. Такое ограничение заложено в код биткойна, но пропускная способность сети этим не ограничивается;
  4. В блок размером 1 Мб можно вместить данные примерно о 3-5 тысячах простых транзакций (между двумя кошельками с небольшим количеством входов и выходов), то есть сеть в данный момент пропускает в среднем 7 транзакций в секунду. Для сегодняшнего количества пользователей это не критично, но для будущего массового использования очень мало;
  5. Количество транзакций, которые вмещаются в один блок, сокращается, во-первых, за счет многоадресных транзакций — например, рассылка пулами вознаграждения майнерам. А во-вторых, за счет того, что некоторые компании используют цепочку блоков биткойна для передачи данных или поддержания реестра (компания Factom, проект Counterparty, биржа Nasdaq). Именно о таком нефинансовом применении цепочки блоков в последнее время столько разговоров.

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

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

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

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

Зачем было ограничиваться всего 1 мегабайтом?

В 2010 году о биткойне написали на популярном айтишном сайте Slashdot.org, благодаря чему на едва появившуюся технологию обратило внимание множество пользователей. Однако среди них оказались и не самые добропорядочные, и сеть биткойна начала подвергаться многочисленным атакам. Создатель биткойна Сатоши Накамото и другие разработчики из сообщества быстро на это среагировали и внесли несколько поправок в протокол, чтобы сделать его более устойчивым. Одной из этих поправок как раз стало решение установить предел размера блока в 1 Мб.

В 2010 году, когда о биткойне впервые написал Slashdot и курс биткойна начал расти, Сатоши применил несколько быстрых решений для защиты от разного рода DOS-атак. Одним из них стало уменьшение предельного размера блока до одного мегабайта.

Читайте также:  Почему биткоин стал падать

До этого ограничения не было, но в действительности размер блока не мог превышать 32 Мб – максимального размера сообщения в протоколе p2p. С самого начала подразумевалось, что предел размера блока нужно будет повышать, когда для обработки всего объема транзакций будет необходимость в больших блоках.

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

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

Один из ведущих разработчиков Майк Херн опубликовал письмо от Сатоши конца 2010 года, в котором он рассуждал о размере блока.

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

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

Увеличиваем размер блока. Как быть?

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

Изначально Гэвин Андресен предложил такое решение, которое потребовало бы хардфока лишь один раз — с автоматическим увеличением размера блока в заданные временные интервалы. Однако, его предложение было встречено шквалом критики как от других разработчиков, так и от многих участников сообщества, в следствие чего он согласился на компромиссное временное решение.

Сейчас он предлагает увеличить размер блока до 20 Мб в качестве временной меры, чтобы дать разработчикам больше времени для поиска окончательного решения. Тем не менее, и такое предложение было встречено критически некоторыми разработчиками и биржами, в частности китайскими BTCChina и Huobi. Часть из них уже согласны на менее значительное увеличение максимального размера блока — возможно до 8, а не 20 Мб.

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

Также не забывайте, что для майнеров более выгодны маленькие блоки, так как они быстрее распространяются в сети, а значит, у майнера (пула) будет больше шансов стать тем, кто «добудет» блок и получит вознаграждение. Поэтому, скорее всего, майнеры также будут предлагать собственные размеры блока или модифицировать собственные клиенты Bitcoin, с учетом соотношения своих рисков и прибылей.

Нужно ли начинать паниковать?

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

Источник

Оцените статью