
Одна перебудова блоку ethereum призвела до призупинення обмінів THORChain, що стосувалися 10 блокчейнів. Найбільш здивувальне? Все почалося з депозиту 10 ETH, який ніколи не досяг сховища. Ось що відбулося. 1️⃣ Депозит виявлено Користувач надіслав 10 ETH до сховища THORChain. Транзакція з’явилася в одному з блоків ethereum, і THORChain зареєстрував цей депозит. 2️⃣ Перебудова блоку ethereum Ethereum замінив початковий блок, видаливши депозит із канонічного ланцюга. Але THORChain вже врахував ці кошти. 3️⃣ Неправильний повернення коштів Обмін не виконав умову ліміту ціни, що спричинило повернення коштів. THORChain надіслав 10 ETH користувачеві, хоча його сховище ніколи не отримувало відповідного депозиту. 4️⃣ Невідкладне призупинення Система перевірки платоспроможності THORChain виявила дефіцит і призупинила обміни. Пізніше користувач повернув додаткові 10 ETH. Отже, що саме пішло не так з технічної точки зору? Ключова проблема полягала у різниці між спостереженням транзакції та наявністю достатнього підтвердження того, що вона залишиться в канонічній історії ethereum. Транзакція, яка з’являється в блоку, не означає, що цей блок не може бути перебудований. Саме тут @ethlabs_org запропонувала цікавий розв’язок: Fast Confirmation Rule (FCR) ethereum. Замість простого очікування довільної кількості блоків, FCR аналізує атестації валидаторів ethereum, щоб визначити, чи має блок достатню підтримку. Вона може забезпечити сильне підтвердження приблизно за 15–30 секунд, значно раніше, ніж повна фінальність консенсусу ethereum. Але FCR не є абсолютною фінальністю. Її гарантії все ще залежать від припущень щодо мережі та валидаторів. Важливі розрізнення: • Спостережена транзакція ≠ Фінальна транзакція • Підтвердження блоку ≠ Підтвердження на основі атестацій валидаторів • Швидке підтвердження ≠ Консенсусна фінальність Для крос-чейн інфраструктури отримання депозиту — лише одна частина процесу. Так само важливо перевірити, чи транзакція у джерельному ланцюзі достатньо безпечна, перш ніж виводити кошти. Саме це робить цей інцидент таким корисним прикладом того, чому не слід плутати підтвердження та фінальність.

