


Изменяемость транзакций — важное понятие в сфере криптовалют, особенно в сети Bitcoin. В материале подробно рассматриваются механизмы изменяемости, причины, виды атак, реальные кейсы, влияние на криптовалютную экосистему и варианты решения проблемы.
Изменяемость транзакций — возможность изменить уникальный идентификатор (TXID) транзакции до её подтверждения в блоке сети Bitcoin. Подобное изменение не затрагивает основные параметры — отправителя, получателя или сумму. Модифицируется только цифровой отпечаток или хэш, индивидуально идентифицирующий транзакцию в блокчейне.
Проблема возникает из-за способа подписания транзакций в Bitcoin. Цифровая подпись охватывает большую часть данных, однако отдельные части, например поле scriptSig во входе, не защищены подписью. Благодаря этому остаётся возможность внести незначительные изменения в структуру транзакции, которые изменяют её хэш и, следовательно, TXID.
Существуют несколько факторов, способствующих изменяемости транзакций:
Схема цифровой подписи: используемая технология не охватывает все данные транзакции, что открывает возможности для модификаций.
Гибкость отдельных полей: определённые поля можно представить по-разному, что позволяет изменять TXID без нарушения корректности самой транзакции.
Действия третьих лиц: до подтверждения транзакции сторонние участники способны модифицировать изменяемые части данных без потери валидности.
Атаки на изменяемость могут проявляться по-разному:
Искажение данных: изменение несущественных частей транзакции с целью вызвать путаницу.
Дублирование счетов: копирование платежных счетов для обмана пользователей или сервисов и повторной оплаты одного и того же счета.
Манипуляция комиссией: корректировка транзакции для изменения размера комиссии.
Изменение TXID: модификация идентификатора для создания ложного впечатления о статусе транзакции.
Двойное расходование: создание видимости отдельных независимых транзакций за счёт изменения данных.
В 2014 году крупнейшая криптобиржа столкнулась с реальным случаем изменяемости: она приостановила вывод средств и объявила о банкротстве после потери существенного объёма Bitcoin. Злоумышленники воспользовались изменяемостью, чтобы изменить транзакции до подписания и хэширования, что вызвало сбои в работе платформы и повторные выводы, исчерпавшие резервы биржи.
Изменяемость транзакций оказывает заметное влияние на функционирование сети Bitcoin:
Влияние на работу бирж и масштабируемость сети: приводят к задержкам транзакций и ограничению пропускной способности.
Задержка подтверждений: системы, основанные на конкретных TXID, могут не распознать изменённые идентификаторы, что негативно отражается на пользовательском опыте.
Угрозы мошенничества и двойного расходования: уязвимость открывает возможности для криптодефолта и путаницы в статусе операций.
Для борьбы с изменяемостью транзакций реализованы и предложены следующие меры:
Segregated Witness (SegWit): отделяет свидетельские данные (подписи) от основной информации транзакции, предотвращая изменение TXID.
Schnorr signatures: обеспечивают подтверждение транзакций Bitcoin без цифровых идентификаторов.
Merkelized Abstract Syntax Trees (MAST): технология, расширяющая скрипты, снижая комиссии и повышая масштабируемость.
Изменяемость транзакций — сложная задача, влияющая на безопасность и обработку операций в сети Bitcoin и индустрии криптовалют в целом. Современные решения и технологические разработки в области блокчейна нацелены на устранение подобных уязвимостей. По мере развития рынка криптовалют понимание и минимизация изменяемости становятся ключевыми для обеспечения надёжности и эффективности цифровых транзакций.
Изменяемость транзакций — уязвимость части криптовалют, позволяющая изменять идентификаторы транзакций без изменения их содержания, что потенциально приводит к атакам двойного расходования.
Используйте программное обеспечение кошелька или блокчейн-эксплорер. Хэш — уникальный идентификатор транзакции, обычно отображается в деталях операции.
Нет, хэш транзакции не подлежит обратной операции. После внесения в блокчейн он становится постоянным уникальным идентификатором.
Правило 51% подразумевает ситуацию, когда одна сторона контролирует более половины мощности консенсуса сети, что даёт ей возможность манипулировать транзакциями и блоками. Крупные сети более защищены, а малые — более уязвимы.











