Майнинг

Что происходит, когда два майнера находят блок в одну и ту же секунду? Как проходит «гонка за сиротами»

Почему два майнера могут «выиграть» одновременно

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

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

Ни один из блоков не является «неправильным», поскольку оба удовлетворяют всем правилам протокола; единственное, что их разделяет, — это время и то, какие узлы случайно узнали о каком из них первыми. Примерно половина сети в итоге добывает на основе одного кандидата, остальная часть — на основе другого, и у Биткойна на короткое время появляются две честные, одновременные версии самого себя.

Как на самом деле разрешается ничья

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

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

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

Случай марта 2026 года: когда подбрасывание монеты повторилось

Именно это и произошло 24 марта 2026 года. После того как Antpool и Foundry USA с интервалом в двенадцать секунд выпустили каждая свою версию блока 941 881, ViaBTC продолжила цепочку AntPool блоком 941 882, а Foundry, работая со своим собственным типом, также продолжила свою версию. На протяжении одного блока сеть действительно была поделена пополам между двумя действительными цепочками. Затем Foundry вырвалась вперед, добыв подряд блоки с 941 883 по 941 886 (шесть последовательных блоков на своей ветке), пока её цепочка не стала, по словам одного из разработчиков Биткойна, следившего за событием, «самой весомой с большим отрывом».

Все узлы перешли на версию Foundry, а блоки, добытые AntPool и ViaBTC, оказались «сиротами»; их майнеры лишились вознаграждения за блок и комиссий за эту работу, хотя сами транзакции вернулись в мемпул и вскоре после этого были подтверждены заново.

Схема реорганизации при одновременном добывании двух блоков.

Аналитик Биткойна b10c, который первым публично обратил внимание на это событие, назвал его «довольно редким случаем форка/реорганизации с двумя блоками между Foundry и AntPool+ViaBTC». «Редкое» — это верно, но это событие также привлекло внимание к менее приятной тенденции: для пула, который уже контролирует значительную долю хешрейта сети, соединить шесть блоков подряд проще, чем для других. В освещении этого события отмечалось, что сокращение маржи вытесняет мелких майнеров и приводит к концентрации хеш-мощности в меньшем числе крупных пулов.

Более концентрированная сеть не делает гонку за один блок более распространённой, но она заметно повышает шансы пула с хорошими ресурсами на победу в любой конкретной гонке (и на объединение последующих блоков, завершающих её) по сравнению с шансами мелкого майнера.

Контролёры хешрейта, основные субъекты, зарегистрировано 16 июля 2026 года.

Обычная версия скучна, и в этом-то и суть

Реорганизации из двух блоков — это исключение; лежащее в их основе условие гонки — нет. Если взять реальные временные метки блоков непосредственно с mempool.space за три дня до реорганизации (высоты от 941 452 до 941 887), 40 из 435 интервалов между последовательными блоками (около 9,2 %) пришлись на период в 60 секунд друг от друга, включая одну пару с разницей всего в 5 секунд. Каждый из этих случаев, когда разница была минимальной, — это момент, когда в сети существовала настоящая ситуация гонки, пусть даже кратковременная.

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

Источник

Добавить комментарий

Кнопка «Наверх»
  • bitcoinBitcoin (BTC) $ 64,350.00
  • ethereumEthereum (ETH) $ 1,913.74
  • tetherTether (USDT) $ 0.999232
  • usd-coinUSDC (USDC) $ 0.999888
  • tronTRON (TRX) $ 0.325809
  • dogecoinDogecoin (DOGE) $ 0.070718
  • leo-tokenLEO Token (LEO) $ 9.78
  • zcashZcash (ZEC) $ 461.31
  • moneroMonero (XMR) $ 347.87
  • chainlinkChainlink (LINK) $ 8.42
  • cardanoCardano (ADA) $ 0.164242
  • stellarStellar (XLM) $ 0.173331
  • daiDai (DAI) $ 1.00
  • bitcoin-cashBitcoin Cash (BCH) $ 212.41
  • litecoinLitecoin (LTC) $ 45.12
  • hedera-hashgraphHedera (HBAR) $ 0.068255
  • crypto-com-chainCronos (CRO) $ 0.054892
  • okbOKB (OKB) $ 84.64
  • ethereum-classicEthereum Classic (ETC) $ 6.68
  • kucoin-sharesKuCoin (KCS) $ 6.70
  • algorandAlgorand (ALGO) $ 0.079503
  • cosmosCosmos Hub (ATOM) $ 1.29
  • true-usdTrueUSD (TUSD) $ 0.996033
  • dashDash (DASH) $ 30.60
  • vechainVeChain (VET) $ 0.004510
  • tezosTezos (XTZ) $ 0.205140
  • decredDecred (DCR) $ 11.73
  • iotaIOTA (IOTA) $ 0.031875
  • neoNEO (NEO) $ 1.86
  • basic-attention-tokenBasic Attention (BAT) $ 0.068468
  • qtumQtum (QTUM) $ 0.648389
  • 0x0x Protocol (ZRX) $ 0.078850
  • ravencoinRavencoin (RVN) $ 0.003467
  • ontologyOntology (ONT) $ 0.038042
  • paxos-standardPax Dollar (USDP) $ 0.999683
  • iconICON (ICX) $ 0.021064
  • wavesWaves (WAVES) $ 0.219500
  • liskLisk (LSK) $ 0.071989
  • bitcoin-diamondBitcoin Diamond (BCD) $ 0.061182
  • huobi-tokenHuobi (HT) $ 0.078194
  • monacoinMonaCoin (MONA) $ 0.067856
Закрыть
Закрыть