Статті

Через прикру помилку криптоплатформа втратила майже 200 мільйонів доларів

Децентралізована фінансова платформа Compound переплатила $ 192 млн. в токенах своїм клієнтам через помилку програміста довжиною в один символ. Засновник платформи вимагає повернути необгрунтовано високу винагороду під загрозою здати недобросовісних користувачів американським податківцям.

Перебір з винагородою

Криптоплатформа Compound помилково виплатила своїм користувачам в цілому близько $ 162 млн. Помилку викликав банальний баг, що затесався в коді смарт-контракту платформи. Засновник платформи практично відразу звернувся до користувачів з проханням повернути кошти, пригрозивши скаргою до податкової.

Compound є децентралізованою платформою на базі блокчейна Ethereum, яка видає позики і дозволяє заробляти відсоток з вкладених в загальну казну коштів. Всі операції, включаючи виплату винагороди, здійснюються у вигляді токенів COMP. Розрахунок розміру винагороди та його видача здійснюються автоматично за допомогою смарт-контракту.

Як повідомив у своєму Twitter засновник платформи Compound Роберт Лешнер (Robert Leshner), в середу, 29 вересня 2021 р в процесі оновлення платформи сталася технічна помилка, яка призвела до нарахування вкладникам невиправдано високих винагород.

У четвер, 30 вересня 2021 р Лешнер написав, що баг привів до автоматичного розподілу зайвих 280 тис. токенів COMP серед користувачів платформи. З огляду на ціну токена на рівні $ 330, загальна сума помилково виплачених коштів в той день склала $ 92,6 млн в доларовому еквіваленті.

Кінець? Ні, початок

Оскільки пул винагород містить кінцеве число токенів, очікувалося, що система на зможе роздати понад ліміту в 280 тис. штук. Однак, як повідомив в розмові з CNBC Мудіт Гупта (Mudit Gupta), розробник криптообмінника SushiSwap, в дійсності фонд винагород безперервно зростає, збільшуючись на 0,5 токена кожні 15 секунд.

Для того, щоб додати нову порцію коштів до загального пулу винагород, в системі, яка управляє виплатами, необхідно викликати спеціальну функцію drip, що і сталося в неділю. 3 жовтня 2021 р результаті до розподілу було запропоновано ще приблизно 202,5 тис. токенів. Таким чином, в Compound зіткнулися з ризиком втрати 490 тис. токенів на загальну суму в $ 162 млн.

Варто відзначити, що подія безпосередньо не торкнулося коштів користувачів, наданих активів і позикових активів. “Користувачі можуть не турбуватися про своїх кошти; єдиний ризик полягає в тому, що ви (або інший користувач) могли отримати невиправдано велику кількість токенів COMP”, – поспішив заспокоїти учасників платформи Лешнер.

Прохання, схоже на загрозу

Засновник фінплатформи звернувся до людей, що отримали виплати з проханням повернути зайві кошти. В якості нагороди за порядність Лешнер запропонував користувачам залишити собі 10% від придбаних токенів. Тим, хто не погодиться повернути токени на таких умовах, він пригрозив проблемами з Податковою службою США (IRS), якій в разі непокори будуть передані дані недобросовісних користувачів Compound. Це означає, що їм надалі доведеться задекларувати винагороду як дохід і сплатити відповідні податки, але вже не в криптоактивах, а в доларі.

Роберт Лешнер через Twitter зажадав повернути зайве

Подібна постановка питання в цілому викликала негативну реакцію користувачів. Деякі з них визнали прохання погано завуальованою загрозою. Проте, за словами Лешнера, вже 3 жовтня користувачами платформи було повернуто близько 117 тис. токенів або $ 38,7 млн.

Примітно, що згідно обговоренню в Discord-чаті платформи, помилково видані токени не з’являються в облікового запису кожного користувача автоматично. Для того, щоб їх забрати, потрібно виконати певні операції вручну. Як зазначає видання The Register, деякі учасники платформи зробили це – за станом на 30 вересня в блокчейні Compound була присутня транзакція на суму в приблизно $ 29 млн.

Баг довжиною в один символ

За словами Мудіта Гупти, “атракціон нечуваної щедрості” з роздачею зайвих токенов став можливим через допущену програмістами Compound помилку в коді смарт-контракту, який розподіляє фонд винагороди між учасниками платформи.

В одній з функцій смарт-контракту, яка обчислює розмір винагороди, розробник використав оператор порівняння «більше» (>) замість необхідного в даній ситуації оператора «більше або дорівнює» (> =).

Мудіт Гупта демонструє фрагмент коду, що містить помилку (рядок 1217)

Примітно, що розробники не можуть звернути процес назад і відкотити роздачу зайвих токенів. Управлінням Compound займається його спільнота, внесення змін до протоколу вимагає голосування його учасників. Причому будь-яка ініціатива розглядається не менше тижня.

Таким чином, Лешнеру і колегам залишається тільки чекати і сподіватися на те, що учасники децентралізованої фінансової платформи проявлять порядність і повернуть велику частину коштів, тим самим згладивши негативні наслідки помилки довжиною в один символ, яка могла обійтися Compound в $ 162 млн.

У липні 2021 р ми вже писали про помилку програмістів Google, через яку безліч власників хромбуків позбулися можливості увійти під своїм обліковим записом в Chrome OS. Причиною, як видно, тоді стала помилка в функції розшифровки вмісту облікового запису Google, а саме в запису умовного виразу if-else: замість оператора «логічного І» програміст використовував оператор «побітового І».

У серпні 2021 р кіберзлочинець зламав криптоплатформу Poly Network викрав у її клієнтів більше $ 610 млн, але потім добровільно повернув всі гроші. За свою порядність таємничий хакер отримав нагороду в розмірі $ 500 тис. І запрошення на роботу в пограбовану ним компанію.


Читай нас в Google News | Telegram | Facebook | Twitter

Back to top button