Forklog
April 12, 2026 11:15 AM UTC

В механизме майнинга биткоина обнаружили ошибку нулевого дня 

С момента запуска в алгоритме майнинга биткоина находилась вычислительная ошибка, которая позволяла добывать блоки с крайне высокой скоростью. Об этом рассказал исследователь Лоик Морель. Satoshi s'est trompé.Il y a un bug dans le minage de Bitcoin depuis le tout premier jour. C'est une simple erreur de calcul de Satoshi qui pourrait être exploitée pour miner des blocs à une vitesse délirante. C'est un des bugs que le BIP-0054 (en discussion) résout. Je vous… pic.twitter.com/GurNv3qKrZ— Loïc Morel (@Loic_Pandul) April 11, 2026 Согласно публикации, неисправность связана с механизмом корректировки сложности.  Каждые 2016 блоков (примерно раз две недели) узлы пересчитывают целевой показатель таким образом, чтобы появлялся один блок каждые 10 минут, независимо от вычислительной мощности майнеров. Для этой корректировки узлы измеряют продолжительность последнего периода, сравнивают целевым значением (2016 x 600 = 1 209 600 секунд), а затем соответствующим образом изменяют сложность.  «Именно в этих расчетах кроется ошибка. Для измерения тайминга блоков в прошедшем периоде узел сравнивает метку времени первого блока периода с меткой времени последнего. Инстинктивно это кажется логичным, но на самом деле это ошибка, поскольку между первым и последним блоками периода всего 2015 интервалов, а не 2016», — объяснил Морель.  Если обозначить t0 как метку времени первого блока, а t2015 как метку последнего, узел вычисляет прошедшее время как T = t2015 - t0. Таким образом получается 2015 интервалов (от t0 до t1 > от t1 до t2 > ... > от t2014 до t2015).  Для получаения 2016 интервалов необходимо использовать другую формулу: T = t2015 - t-1, где t-1 — метка времени последнего блока предыдущего периода.  Это называется ошибкой «смещения на одну единицу». Данный баг вносит погрешность примерно в 0,05% в сторону слегка завышенной сложности.  Однако настоящая проблема кроется в другом. Недочет приводит к тому, что периоды корректировки не перекрываются — временная метка последнего блока одного периода не учитывается при расчете следующего. Манипуляция временем Данный разрыв делает возможной атаку «искривления времени». Ее принцип заключается в следующем: Майнер, который контролировал большую часть вычислительной мощности, начал установку минимально допустимых временных меток для всех блоков за период (кроме последнего). В последнем блоке периода он искусственно назначает максимально допустимую временную метку. После завершения периода корректируется сложность. Из-за манипуляций злоумышленника с метками, измеренный период длился дольше, чем на самом деле. В итоге сложность снижается. Атакующий повторяет аналогичную манипуляцию в следующем периоде. Поскольку периоды не перекрываются, первый блок второго периода атаки может иметь временную метку, относящуюся к далекому прошлому, в то время как предыдущий блок имеет временную метку в будущем. Этот разрыв увеличивается от периода к периоду. Повторяя процесс несколько раз, злоумышленник теоретически может снизить сложность майнинга до уровня, при котором создается до шести блоков в секунду (вместо одного каждые 10 минут).  «Последствия были бы ужасными: временные блокировки бесполезны, сеть перегружена, число реорганизаций увеличилось, а подтверждения транзакций потеряли ценность. Все это позволило бы злоумышленнику собирать вознаграждение за блокировку в бешеном темпе», — добавил исследователь. Атака была бы невозможна, если первый и последний блок двух последовательных периодов совпадали. Как исправить эту ошибку? Морель отметил, что исправить проблему можно с помощью софтфорка в рамках BIP-0054. Инициатива подразумевает, что первый блок нового периода сложности имеет временную метку, которая не превышает временную метку последнего блока предыдущего периода более чем на два часа.  Это ограничение восстанавливает «некоторую форму непрерывности» между периодами, предотвращает манипулирование временными промежутками и делает невыполнимой атаку «искажения времени». Напомним, в феврале партнер Castle Island Ventures Ник Картер спрогнозировал «корпоративный захват» биткоина из-за квантовой угрозы. 

ChartModo Newsletter
阅读免责声明 : 此处提供的所有内容我们的网站,超链接网站,相关应用程序,论坛,博客,社交媒体帐户和其他平台(“网站”)仅供您提供一般信息,从第三方采购。 我们不对与我们的内容有任何形式的保证,包括但不限于准确性和更新性。 我们提供的内容中没有任何内容构成财务建议,法律建议或任何其他形式的建议,以满足您对任何目的的特定依赖。 任何使用或依赖我们的内容完全由您自行承担风险和自由裁量权。 在依赖它们之前,您应该进行自己的研究,审查,分析和验证我们的内容。 交易是一项高风险的活动,可能导致重大损失,因此请在做出任何决定之前咨询您的财务顾问。 我们网站上的任何内容均不构成招揽或要约