0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Блок Биткоина — что это такое и как он устроен?

  1. Как формируется блок Bitcoin
  2. Структура блока Биткоина — заголовок
  3. Структура блока Биткоина — транзакции
  4. Пример блока Биткоина
  5. Характеристики блока Биткоин
  6. Премия за блок

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

Как формируется блок Bitcoin?

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

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

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

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

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

Структура блока Биткоина — заголовок

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

    Hash — хеш (алгоритм SHA-256). Этот hash носит случайный характер, поэтому время его определения легко предсказать. Стоит отметить, что хешированию подлежит только заголовок, а к операциям в криптовалютной цепи это не относится. Количество транзакций не оказывает значительного воздействия на расчёт хеша.

Prev_block — свойство хеша прошлого блока в цепи блокчейн. Наличие такой характеристики повышает надёжность сети и усложняет ее подделку. Если внести правки в один блок, придётся переделывать остальные.

Version — версия блочной схемы (сегодня она одна — 1).

Time — uint32_t — свойство, характеризующее период, за который создаётся очередной блок. По замыслу создателя Bitcoin, последний элемент цепи будет добыт в 2106 году.

Mrkl_root — перечень хешей операций. Суть в том, что хеш блока находится в прямой взаимосвязи с операциями в сети. Цель — защита цепи от подделки. Непосредственное вычисление при большом числе операций занимает много времени. Вот почему сначала хешируются операции в цепи, а далее хеши применяются для расчета хешей блока. Необходимость таких действий объясняется следующей разницей — обновление хеша транзакции происходит после добавления к элементу цепи новой операции. Вычисление хеша заголовка происходит чаще — до 3–5 тысяч в секунду.

Bits — главный параметр блока, сокращённый вариант значения хеша. Следующий элемент признаётся сетью и добавляется к цепи в том случае, если его хеш не превышает параметр bits. От этого параметра зависит сложность добычи нового блока. Обновление числа осуществляется с периодичность раз в 14 дней.
Принцип расчёта прост. Сначала вычисляется объём созданных блоков за 14 дней, после чего полученное число сравнивается с эталонным значением. Как отмечалось, на создание блока уходит 10 минут. С ростом блоков сложность возрастает и наоборот. В результате система подстраивается под количество участников и общую мощность подключенного оборудования.

N_tx — число операций в перечне.

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

Читать еще:  Как сделать пучок

Структура блока Биткоина — транзакции

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

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

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

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

Vout_sz — число адресов, куда переводятся средства (может колебаться от одного и больше).

Vin_sz — число прошлых операций, в которых средства перечисляются новым получателям (от 1 и больше).

Ver — версия (пока неизменна — 1).

Size — объём операции (единица измерения — Байты). Формат — JSON.

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

In — свойство, в состав которого входит перечень входов транзакции. Здесь применяются выходы прошлых операций, о которых упоминалось ранее (prev_out). Все выходы имеют индивидуальные свойства, а именно — Hash (хеш прошлой операции), n (порядковый номер операции) и scriptSig. Отправитель обязан доказать, что переводит личные средства. Это происходит путём указания общедоступного ключа прошлой операции, а также включения частного ключа (подписи ECDSA). Этого достаточно, чтобы доказать акт применения собственных денег.

  • Out — перечень выходов. Как и ранее, здесь имеются определенные свойства — Value и ScriptPubKey. Первое включает в себя объём средств, направляемых адресату. Информация берётся из прошлых операций, поэтому общее число не может быть больше итоговой суммы уже выполненных транзакций. Свойство Valuo прописывается с наномонетах (это делается, чтобы исключить появление дробей). Второе свойство представляет собой определенный сценарий. Он состоит из хеша общедоступного ключа и оператора языка. Суть — изучение транзакции и подтверждение её валидности.
  • Общий объём средств на входе операции с криптовалютой идентичен с числом монет на выходе. Раз в 4 года происходит снижение вознаграждения вдвое, что стабилизирует число криптовалюты в обороте. Если вдруг появится мошенник, который подставит блок и присвоит 100 монет, то новый не приживётся в цепи из-за отторжения честными участниками сети. Вот почему чем больше пользователей, тем надёжнее система.

    Пример блока Биткоина

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

    Previous block (прошлый блок): 000000000000056a7dcf273f627c2a17c55ffe1937a6ef2bc467d9c524312da2.

    Difficulty (сложность): 1 690 895.803053. Bits — 1a09ec04.

    Transactions (транзакции): 185.

    Total BTC (общее число Биткоинов): 4251.63216934.

    Size (размер): 58.914 kilobytes.

    Merkle root (список хешей): 98c5d975bf556f0344770eee7ab31688a2c108223c14sea908ff99b0ab8fe947.

    Характеристики блока Биткоин

    Главные характеристики блока Bitcoin:

      Добыча блока происходит с периодичностью раз в 10 минут.

    Каждый блок способен хранить не более одного мегабайта информации. Этот лимит прописан в коде криптовалюты, но пропускная способность остаётся высокой. После оптимизации планируется увеличить объем данных до 2 Мб. Для примера Bitcoin Cash имеет объём, равный 8 Мб.

    В один блок, имеющий размер 1 мегабайт вмещается до 3–5 тысяч операций, в которых участвуют два кошелька с ограниченным числом выходов и входов. На текущий момент пропускная способность сети — семь операций за 1 секунду. С ростом числа пользователей дефицит этого показателя всё более заметен, что и привело к появлению Bitcoin Cash.

  • Число операций, которые входят в один блок, снижается по нескольким причинам — проведение транзакции с большим числом адресов (актуально для пулов), а также применение компаниями цепи clockchain для отправки информации или содержания реестра.
  • Что такое блок Биткоина и за что отвечает его размер

    Количество обрабатываемых транзакций в сети Биткоина зависит от одного важно параметра — размера блока. Блоки являются главной составляющей цепочки блокчейна, в которой есть информация о переводах 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 мегабайта, ведь в большем объёме нет смысла.

    Заглядывайте в чаш крипточат миллиардеров. Там обсудим все подробности.

    Дмитрий Кузюк

    Трейдер c 2016 года, финансист. В данный момент заканчивает с получением степени бакалавра по банковскому делу. С 2017 году активно инвестирует в новые ICO-проекты, в 2019 экспериментировал с дебютными IEO-проектами от Binance и отразил свой опыт в серии статей на 2Биткоина.

    Карьеру журналиста начал с ниши технологий: в том числе обозревал смартфоны и приложения. К команде 2Биткоина присоединился в 2018 году. С тех пор освещает происходящее в мире криптовалют и готовит публикации для новичков. Читателям особенно запомнилась подборка статей “Трейдинг для начинающих”, в которой Дима разобрал базовые понятия трейдинга и показал, как их применяют профессионалы.

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

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

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

    Содержание

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

    Что такое блок? [ ]

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

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

    Сложность [ ]

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

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

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

    Источники:

    http://tehnoobzor.com/cryptolife/bitcoin/2006-blok-bitkoina-chto-eto-takoe-i-kak-on-ustroen.html
    http://2bitcoins.ru/chto-takoe-blok-bitkoina/
    http://ru.bitcoinwiki.org/wiki/%D0%91%D0%BB%D0%BE%D0%BA

    Ссылка на основную публикацию
    Статьи c упоминанием слов:

    Adblock
    detector