Что такое ковкость транзакций? Баг, исправленный SegWit

2026-07-20

Что такое ковкость транзакций? Баг, исправленный SegWit

Ковкость транзакций (transaction malleability) — это возможность изменить идентификатор биткоин-транзакции, не меняя того, что она делает. Звучит безобидно, но однажды это ломало реальные системы и стало объяснением одного из крупнейших крахов в крипто. Разберём, чем была ковкость, почему создавала проблемы, как SegWit её исправил и почему её стоит понимать сегодня.

Чем была ковкость

У каждой биткоин-транзакции есть ID, или txid, — это хеш её данных. Проблема в том, что в исходном дизайне этот хеш охватывал и подпись, разрешающую трату. Подпись можно перекодировать чуть иначе, оставаясь валидной, так что третья сторона могла её изменить и получить транзакцию с тем же действием — те же монеты тому же получателю — но с другим txid. Платёж не менялся; менялась лишь его личность.

Почему создавала проблемы

Ковкость транзакций коротко: что это, причина, ущерб, исправление SegWit и как сейчас.

Многие системы отслеживали платёж по txid, и именно это ковкость могла сломать. Если сервис отправил вывод, а кто-то изменил txid до подтверждения, сервис мог искать исходный ID, не найти его и ошибочно решить, что платёж не прошёл, — а затем отправить снова. Японская биржа Mt. Gox указала на ковкость при крахе в феврале 2014 года, хотя многие считают это скорее оправданием, чем единственной причиной.

Исправление SegWit

Исправлением стал Segregated Witness, или SegWit, активированный в 2017 году. SegWit отделяет данные подписи, называемые witness, от остальной транзакции и убирает их из расчёта txid. Поскольку идентификатор теперь считается только из основных полей транзакции, смена подписи больше не меняет txid. Это закрыло дыру ковкости для обновлённых транзакций и в качестве бонуса освободило место для большего объёма данных в каждом блоке.

Почему это всё ещё важно

Ковкость сейчас в основном история, но её понимание кое-что объясняет. Именно поэтому современные ID транзакций стабильны и на них можно полагаться, и это убрало преграду для систем второго уровня: сеть Lightning, сцепляющая транзакции, нуждалась в неизменяемых txid, чтобы работать. Так что исправление тонкого бага заодно помогло раскрыть более быстрые и дешёвые биткоин-платежи вне основной цепи.

Итог

Ковкость транзакций позволяла менять ID биткоин-транзакции, не меняя сам платёж, сбивая с толку любую систему, что доверяла ID слишком рано. SegWit решил это в 2017 году, убрав подписи из расчёта ID, и попутно дал жизнь сети Lightning. Сегодня это решённая проблема, но яркий пример того, как мелкая деталь дизайна может иметь непропорционально большие последствия. Чтобы продолжать изучать основы, следите за материалами Bitbase Academy.

Дисклеймер: эта статья — образовательный материал Bitbase Academy, только для информационных целей. Она не является инвестиционным, торговым, налоговым или финансовым советом. Криптоактивы волатильны — оценивайте риски самостоятельно. Написано в июне 2026 года; сверяйтесь с актуальной официальной информацией.

Источники

[1] Wikipedia, "Transaction malleability problem" wikipedia.org

[2] Bitcoin.com, "What Is Bitcoin SegWit? Segregated Witness Explained" bitcoin.com

[3] Bitcoin Improvement Proposals, "BIP-141: Segregated Witness" github.com