‘Stale’ блок напомнил о подтверждении транзакций биткойн

Simon Chandler
| 1 min read

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

Источник: iStock/simarik

«Биткойн устарел». Небезызвестный программист Джон Макафи описывает оригинальную, первую криптовалюту, как «true Shitcoin» (англ. «настоящий отстой»). И как назло, недавно опять проявилась проблема stale блок.

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

Некоторые считают, что факт отбрасывания stale блоков является неопровержимым доказательством того, что биткойн не неизменен. И учитывая недавний stale блок, обнаруженный BitMex, в результате которого возникла ситуация двойного расхода 3 долларов США, – это все лишь укрепило уверенность критиков в низкой жизнеспособности цифровой валютной системы биткойн.

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

Stale блок

BitMex Researchнаписали твит 27 января о том, что они обнаружили stale блок в блокчейн биткойна.

Разработчик Эрик Уолл объяснил, что это означает, что два узла цепи (которые могут даже находится в абсолютно разных частях света) могут одновременно делать расчет для одного следующего блока.

«Каждый узел биткойна имеет свою собственную, локальную копию блокчейн. Это же касается каждого майнера, – поделился Эрик Уолл (Eric Wall ) с Cryptonews.com. – Когда два майнера находят два одинаковых блока одновременно, эти блоки отправляются через всю планету. И на короткий промежуток времени (где-то минут 10) может появится несоответствие в сети о том, какой блок был найдет первым».

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

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

Что касается «orphan» блока, разработчик биткойн Бэн Вусли (Ben Woosley) объяснил Cryptonews.com: «По сути, он отбрасывается в пользу цепочки, в которой по-прежнему добывается больше блоков. В биткойн действующая цепочка всегда является «самой трудоспособной», и поэтому каждый добытый блок «скрывает» предыдущие блоки под своей работой».

«Наивный» взгляд на неизменность

Некоторые люди использовали факт создания и отказа от stale блок для подкрепления своего мнения о том, что биткойн на самом деле не неизменен. К примеру, Джон Адлер (John Adler), самопровозглашенный «скептик блокчейн» и сооснователь Fuel Labs, утверждал в Twitter, что неизменность должна быть абсолютной, в противном случае это не неизменность.

Источник: John Adler, twitter.com

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

«Неизменность биткоина заключается в растущем количестве необходимых подтверждений, делающих отмену транзакции трудной задачей, – поделился разработчик Bitcoin Core, Брайан Бишоп (Bryan Bishop). – В какой-то момент это становится настолько сложным, что выполнить отмену становится невозможным. Этот момент происходит, когда блок сокрыт не одним, а многими блоками».

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

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

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

Насколько много подтверждений?

Николас Дорьер (Nicolas Dorier) сказал: «Говоря технически, вы не можете упоминать о законченности. Говоря практически, вы это делаете».

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

«Биржи традиционно ждут 6 подтверждений, – говорит Дорьер. – Если бы я был биржей, я бы принял 2 подтверждения (для биткойнов)».

Уолл рисует похожую картину, отмечая, что риск подтверждения одного блока уже давно всем известны.

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

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

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