Аналитики биржи криптодеривативов BitMEX в среду поделились любопытным наблюдением о том, что в блокчейне биткоина был замечем так называемый «stale-блок», то есть полностью действительный блок, который не был включен в финальную версию блокчейна.
«Складывается впечатление, что было замечено небольшое повторное расходование на сумму около 0,00062063 BTC ($21). Транзакция в проигравшей цепи отправила 0,00062063 BTC на адрес 1D6aebVY5DbS1v7rNTnX2xeYcfWM3os1va, а транзакция в победившей цепи, израсходовавшая такое же число входов, отправила только 0,00014499 BTC на этот адрес», – написала биржа.
На своем специализированном портале для отслеживания подобных инцидентов ForkMonitor она пишет, что «множество блоков было выпущено на высоте 666833». Часом позднее транзакцию в несостоявшемся блоке BitMEX связала с операцией RBF, когда неподтвержденная биткоин-транзакция заменяется другой с более высокой комиссией. На ForkMonitor, однако, говорится:
«Никаких замен комиссий обнаружено не было».
Использованные BitMEX выражения и технический характер произошедшего породили волну слухов о том, что в блокчейне биткоина действительно состоялось повторное расходование транзакции.
«По всей видимости, в BTC произошло настоящее повторное расходование. Не RBF, а настоящее повторное расходование. Всего 22 доллара… Но это могло быть 22 миллионами», – написал сторонник криптовалюты Bitcoin SV Эли Афрам.
Подтверждение этой информации стало бы разрушительной новостью для биткоина, так как еще в оригинальном white paper Сатоши Накамото заявлял о решении проблемы повторного расходования, которая ограничивала продвижение проектов цифровых валют до него.
Информацию о предполагаемом повторном расходовании в блокчейне биткоина подхватили крупнейшие мировые финансовые СМИ. Так, Business Insider выпустил материал под заголовком «Биткоин падает на 10% после отчета, предполагающего возможное проявление критической уязвимости в криптовалюте под названием “повторное расходование”».
Макростратег Марк Кадмор в блоге Bloomberg Market Live опубликовал предупреждение о том, что у «биткоина может быть серьезная проблема».
«Биткоин падает на 7% за сессию на фоне сообщений о потенциальном повторном расходовании», – написал он, добавив, что информация не была «независимо подтверждена», но стала бы «катаклизмом для криптовалюты, так как в этом и заключается та самая проблема, которую она должна решать».
Нужно отдать Кадмору должное, потому что спустя несколько часов он признал, что никакого повторного расходования не было.
«Хотя движение курса было резко негативным, тот факт, что биткоин все еще торгуется выше $30 000, развенчивает идею о его взломе каким-либо образом. Как отметил один из читателей, он бы “уже был близок к нулю”, если бы это было правдой», – добавил Кадмор.
BitMEX, со своей стороны, написала:
«Было две конфликтующих транзакции, каждая в одной из двух конкурирующих цепей. Видимая ситуация с “повторным расходованием” была быстро решена в пределах одного блока. Приносим извинения, если наши формулировки оказались вводящими в заблуждение. В следующий раз мы будем стараться лучше».
Что произошло на самом деле?
Лучше, чем кто-либо еще, произошедшее способен объяснить известный эксперт по биткоину Андреас Антонопулос.
«FUD на тему того, что “повторное расходование сломало биткоин”, распространялся несознательным изданием», – отметил он.
Так, Антонопулос поясняет, что в блокчейне произошла реорганизация – обычное явление, составляющее часть нормального функционирования биткоина. Это результат децентрализованного консенсуса по модели Proof-of-Work и происходит во всех PoW-цепях.
Два блока были добыты почти одновременно. Они конкурировали за одну высоту в блокчейне, то есть имели одного родителя и пытались продлить цепь на одинаковый порядковый номер. В долгосрочной перспективе может быть принят только один из них. Возможны ситуации, когда разные ноды и майнеры видят один или другой блок первым и считают его победителем. Это также одна из характеристик нормального функционирования децентрализованного алгоритма консенсуса.
Со временем, в среднем через 10 минут, выходит следующий блок, который имеет родителем один из двух конкурирующих блоков. Какой? Который добывший новый блок майнер увидел первым и посчитал победителем. Новый блок продолжает цепь, решая проблему. Из двух изначально конкурировавших блоков один является родителем нового блока, а второй – завершающим в более короткой цепи.
Подобные реорганизации глубиной в один блок в среднем происходят раз в пару недель и являются следствием использования децентрализованного алгоритма PoW. Реорганизации на два блока происходят реже – возможно, несколько раз в год. Реорганизации в три блока встречаются крайне редко. Антонопулос таких не припоминает.
Во время реорганизации есть вероятность того, что кто-то попытается осуществить повторное расходование. Тем не менее, это не будет повторным расходованием с перспективы всего блокчейна. В конечном итоге засчитывается только одно расходование, поэтому повторное расходование не происходит. В этом заключается весь смысл консенсуса по методу PoW.
С перспективы получателя ситуация может выглядеть иначе. Он может увидеть транзакцию, которая, предположительно, имеет одно подтверждение (она включена в блок), а потом эта транзакция исчезает вместе с отклонением блока. Поэтому большинство сервисов для зачисления депозита запрашивает больше одного подтверждения.
Сатоши предлагал отталкиваться от шести подтверждений, чтобы считать транзакцию завершенной. Он даже подсчитал вероятность отвержения блока в зависимости от числа подтверждений. Это единственный математический расчет, встречающийся в white paper биткоина.
Антонопулос, со своей стороны, заявляет, что число подтверждений всегда должно зависеть от суммы транзакции. Так, продавая автомобиль за $11 000, он посчитал достаточным дождаться трех подтверждений. Одновременно он допускает, что мог бы продать дом вообще без подтверждений транзакции, если бы ее отправляли его знакомые, которых он при необходимости смог бы найти. При этом во время обмена криптовалют он предпочитает опираться на шесть подтверждений, так как не сможет вернуть деньги, если что-то пойдет не так.
Во время последней реорганизации транзакция на $22 оказалась в двух конкурирующих блоках. Мы не знаем почему или кто. Но в этом нет ничего невозможного. Это часть протокола. Многие приняли бы транзакцию на $22 с одним подтверждением. В худшем случае они потеряли бы что-то, что отдали за эти $22 немедленно и безвозвратно. Многие поставщики кредитных карт не требуют предоставления подписи на суммы меньше $25 по той же причине: хотя такую транзакцию без подписи можно оспорить, она не стоит дополнительных затрат времени. Такая же модель риска применима и к биткоину.
Мы даже не знаем, потерял ли получатель транзакции деньги. Он мог ждать двух подтверждений и до этого момента не исполнять свои обязательства. Антонопулос считает ситуацию, когда кто-то принял бы транзакцию на $22 млн с одним подтверждением, как предполагал сторонник Bitcoin SV, абсолютно невозможной.
«Ничего странного или выходящего за рамки алгоритма консенсуса не произошло. Биткоин продолжает работать именно так, как должен. Произошла только плохая “журналистика”, если ее можно так назвать. На вспузыренном рынке слухи могут обогнуть весь земной шар, прежде чем будет развенчаны. Считайте, что они развенчаны», – заключает Антонопулос.
Источник: mining-cryptocurrency.ru