Що таке Transaction Replacement Attack?
Transaction Replacement Attack це коли хтось надсилає криптоплатіж, а потім швидко розсилає іншу версію тієї самої транзакції з зміненими деталями ще до її підтвердження. Мета обманути того, хто прийняв перший непідтверджений платіж. Уявіть, що ви пообіцяли оплату на касі, а потім повертаєтесь, щоб підмінити купюри поки касир не дивиться.
Якщо транзакція відображається як очікувальна, її можна вважати оплаченою. Не зовсім так. Поки майнер не включив її до блоку, можуть відбутися підміни і Transaction Replacement Attack може змінити результат.
Як працює Transaction Replacement Attack
Короткий опис крок за кроком, уїдучи на прикладі простого моменту оформлення покупки.
- Крок 1: Зловмисник надсилає вам платіж з низькою комісією. Ви бачите його як очікувальний і вважаєте справу зробленою.
- Крок 2: До підтвердження зловмисник створює нову транзакцію, що витрачає ті самі кошти, часто через Replace by Fee (RBF) або перевідною повторною відправкою з тим самим nonce на акаунтних ланцюгах.
- Крок 3: Нова версія пропонує вищу комісію і стає привабливішою для майнерів, тож її додають в блок, а перша версія відхиляється.
- Крок 4: Це простіше зробити під час високого завантаження мережі, коли майнери віддають пріоритет вищим комісіям.
- Крок 5: Ви віддаєте товар або послугу за непідтверджений платіж і виявляєтеся без оплати, коли мережа підтверджує підмінену транзакцію.
Ось і весь трюк. Просто, трохи підступно і можна цьому завадити.
Чому Transaction Replacement Attack важливий
Ось чому це має значення, незалежно від того, керуєте ви оплатою або просто пересилаєте монети знайомому.
- Перевага: Механізми заміни дозволяють чесним користувачам прискорювати завислі платежі шляхом підняття комісії, що корисно коли потрібно швидке підтвердження.
- Погляд: Ті самі інструменти, які допомагають вам, можуть бути використані проти вас якщо ви довіряєте непідтвердженому платежу за товари або доступ.
- Де трапляється: Це побачите в точках продажу, під час чеканення NFT, в позабіржових угодах і будь-де, де приймають непідтверджені транзакції.
Користуйтеся криптовалютним гаманцем, який чітко позначає замінні транзакції і показує кількість підтверджень. Для оплат вимагайте кілька підтверджень перед тим як віддавати щось важливе.
Ключові ознаки Transaction Replacement Attack
Що вирізняє це явище, простою мовою:
- Час: Відбувається до підтвердження, поки транзакція ще перебуває в мемпулі.
- Заохочення: Вища комісія або кращі умови спонукають майнерів чи валідаторів включити заміну замість оригіналу.
- Сигнали: Деякі транзакції позначені як замінні, а в акаунтних ланцюгах допускаються заміни з тим самим nonce.
- Мішень: Продавці або партнери, які приймають непідтверджені платежі, найбільш уразливі.
Варіації
Та сама схема, трохи різні механіки в залежності від ланцюга.
- RBF: Відправник позначає платіж як замінний і потім транслює версію з вищою комісією, яка змінює вихід або отримувача.
- Nonce swap: В акаунтних ланцюгах користувач повторно відправляє транзакцію з тим самим nonce і вищим газом, що скасовує або змінює початковий намір.
- Трюк з поверненням: Відправник спочатку платить продавцю, а потім замінює очікувальний платіж на такий, що відправляє кошти назад на адресу під його контролем.
Не вважайте платіж остаточним, поки ваш вузол не позначить транзакцію як завершену. Transaction Replacement Attack втрачає силу після належних підтверджень.
Приклад
Кав’ярня приймає очікувальний платіж за латте, покупець відразу транслює заміну з вищою комісією, яка відправляє кошти кудись ще, а бариста пізніше розуміє, що покупець зловживав можливістю заміни.
Цікавинка
Підняття комісії було введене, щоб допомогти чесним користувачам витягнути завислі транзакції, задовго до того як це стало способом ошукування. Як і багато технічних рішень, все залежить від того, у чиїх руках ключі.
Підсумок
Коротко: не відправляйте товари за сумнівним платежем. Почекайте одне або два підтвердження, а потім заспокойтесь.
