Шахрайство зі ставками на NFT і підроблені токени в пропозиціях

2026-09-03

Шахрайство зі ставками на NFT і підроблені токени в пропозиціях

На вашому предметі з'являється пропозиція на 12,5 ETH, тоді як колекція переходить з рук у руки біля 0,5 ETH. Число справжнє в тому сенсі, що хтось справді підписав його в ордер. Чого число не каже, так це в якому токені воно пораховане, і саме це одне поле перетворює угоду, яку ви збираєтеся прийняти, на зовсім іншу угоду.

Шахрайство зі ставками на NFT і підроблені токени в пропозиціях: ключові моменти стисло

Чим насправді є ставка

Ставка, вона ж пропозиція купівлі, — це бік покупця тієї самої конструкції з підписаними ордерами, на боці продавця якої стоять підроблені лістинги. Той, хто ставить, нікуди не надсилає грошей. Він підписує повідомлення, у якому названо предмет, суму, контракт валюти і строк дії, а маркетплейс зберігає цей підпис і показує його рядком на вашій сторінці.

У цей момент у ланцюзі нічого не зрушило. Передача відбувається, коли ви приймаєте, бо саме ваше прийняття — це транзакція, яка виконує ордер: вона надсилає NFT з вашого гаманця і притягує токени того, хто ставив. Надсилаєте її ви, а отже читати ордер — ваша робота, а не робота того, хто підписав.

EIP-712, стандарт Ethereum для хешування та підпису типізованих структурованих даних, дає цим повідомленням читабельну форму. Його написали проти тієї самої ситуації, яку він і описує: підписувані повідомлення — це непрозорий шістнадцятковий рядок, показаний користувачеві майже без контексту про елементи, з яких повідомлення складається. Структурований підпис зробив пропозицію читабельною. Чесною він її не зробив.

Рядок із валютою вирішує, скільки ставка варта

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

Символи токенів нічого не ідентифікують. В ERC-20 і name, і symbol необов'язкові, а стандарт прямо каже, що метод може використовуватися для зручності, але інтерфейси та інші контракти не повинні розраховувати на присутність цих значень. Той, хто розгортає, обирає ці рядки вільно, тож контракт, символ якого читається точно як у контракту обгорнутого ефіру, коштує одного розгортання і може бути викарбуваний у будь-якій кількості, яку захоче його автор.

Пропозиція, номінована в такому токені, не є підробкою і виконалася б рівно так, як написано: ви віддаєте предмет і отримуєте вказану кількість одиниць токена, за яким немає жодного покупця. Тому перевірка тут — це порівняння адрес, і ERC-721 каже те саме про бік предмета, називаючи пару з адреси контракту та token ID глобально унікальним і повністю визначеним ідентифікатором конкретного активу в мережі Ethereum. Особа живе в адресі. Символи — лише етикетки, намальовані поверх неї.

Чому розмір ставки нічого не доводить

Пропозиція у 25 разів вище за рівень, на якому колекція торгувалася, читається як подарунок долі, а стверджує щось значно слабше: скільки одна адреса каже, що заплатила б. Сказати це не коштує нічого. Пропозицію можна скасувати раніше, ніж ви до неї дійдете, і вона спиняється на строку, вписаному в неї.

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

Практична форма цього — ставка, зроблена, щоб її побачили, а не щоб її виконали. Вона закріплює продавця на числі або підтягує увагу до колекції, поки інші предмети цієї колекції продаються в цю увагу. Сприймайте пропозицію як висловлювання однієї адреси про саму себе, а рівень, на якому колекція справді торгується, тримайте як окреме питання.

Пропозиція, яка насправді є запитом на схвалення

Деякі сповіщення про пропозиції зовсім не є пропозиціями. Сторінка існує, щоб поставити перед вами запит на підпис, і просить вона постійний дозвіл на вашу колекцію, а не покупку. ERC-721 визначає setApprovalForAll як увімкнення або вимкнення схвалення для третьої сторони, яку називають оператором, на керування всіма активами того, хто викликає, і оператор із таким дозволом може переміщати кожен предмет колекції, більше ні про що не питаючи: це і є механізм, що стоїть за drainer гаманців.

У валютного боку є своя версія. ERC-2612 додає функцію permit, щоб ліміт можна було виставити підписаним повідомленням, а не транзакцією, яку надсилає власник, причому підписувані дані структуровано за EIP-712. Схвалення токенів, що приходить таким шляхом, не лишає транзакції, яку можна було б помітити в момент підпису, а ERC-20 уже попереджає, що повторний виклик approve перезаписує чинний ліміт новим значенням.

EIP-712 дає вам і те поле, яке відділяє справжній запит від його копії. Його доменний роздільник називає контракт, для якого підпис чинний, а розділ обґрунтування пояснює, що роздільник запобігає колізії в іншому однакових структур, оскільки два застосунки можуть дійти до однакової структури, яка сумісною бути не повинна. Специфікація передбачає, що користувацькі агенти можуть на цій підставі робити захист від фішингу під конкретний контракт. На практиці це означає прочитати перевірний контракт усередині розшифрованого запиту раніше за все, що сторінка написала навколо нього.

Ставки, що приходять повз маркетплейс

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

Звичка, яка це закриває, — заходити на маркетплейс за адресою, збереженою вами самими, і шукати пропозицію там. Пропозиція, яка існує, буде на сторінці вашого предмета. Та, що існує лише в повідомленні, пропозицією не є, а в кінці посилання чекає запит на підпис.

Що рядок пропозиції може і чого не може обіцяти

Що показує рядок Чим це є Що це вирішує
Сума Поле в підписаному ордері Сама по собі нічого
Символ валюти Вільний текст, обраний тим, хто розгортає токен Нічого
Адреса контракту валюти Особу пропонованого активу Що ви насправді отримаєте
Строк дії Поле в підписаному ордері Найпізніший момент виконання, а не найраніший момент відкликання
Запаси того, хто ставить Взагалі не частина ордера Нічого, хоча брак балансу відкотить виконання

Пройдіть середньою колонкою, і закономірність у тому, що кожен рядок, крім одного, — це твердження, а рядок з адресою — це особа. Саме на нього варто витратити увагу, і саме його інтерфейс набирає найдрібнішим.

Що перевірити перед тим, як прийняти

Що перевірити З чим порівняти Про що каже розбіжність
Адреса контракту валюти З адресою, яку публікує сам емітент Вам платять іншим активом
Контракт предмета і token ID З предметом, який ви вважаєте продаваним Ордер вказує на щось інше
Що саме дозволяє запит З дією, яку ви задумали Ви видаєте доступ, а не продаєте
Перевірний контракт у запиті З маркетплейсом, відкритим вами самими Підпис призначено чужому контракту
Чинні схвалення на колекцію З операторами, яких ви збиралися вповноважити Виданий раніше дозвіл усе ще відкритий

Порядок тут важливий. Адреса валюти йде першою, бо вона вирішує, чи є угода взагалі, а перевірка підпису йде раніше за перевірку ціни, бо запиту, який дає доступ, байдуже, яка ціна стояла на сторінці.

Підсумок

Ставка — це підписане повідомлення з кількома полями, з яких маркетплейс набирає великим одне. Сума — поле, яке переконує, адреса валюти — поле, яке вирішує, і в одному розмірі їх не показують ніколи. Прочитати друге і є вся оборона від пропозиції, номінованої в токені, що скопіював символ.

Друга половина — це запит на підпис. Прийняття пропозиції — це продаж, який переміщує один предмет і платить вам за нього, а прохання про права оператора на всю вашу колекцію продажем не є зовсім: у момент підпису воно не коштує нічого, а після дає все. Перевірте адресу валюти, перевірте, що саме дозволяє підпис, і заходьте на маркетплейс за адресою, яку набрали самі. Щоб продовжити вивчати основи, читайте інші матеріали Bitbase Academy.

Схожі матеріали

Інші матеріали Bitbase на цю тему:

- Маніпуляції мінімальною ціною на маркетплейсах NFT

- Безпека входу в крипті: як захистити свій акаунт

- Шахрайство з аірдропами та контрольний список безпеки перед отриманням

- Он-рамп і оф-рамп у крипті: у чому різниця?

- Культові монети та захоплення спільнотою (CTO)

Застереження: Ця стаття є освітнім матеріалом Bitbase Academy і надається лише для інформації. Вона не є інвестиційною, торговою, податковою чи фінансовою порадою. Криптоактиви волатильні — оцінюйте ризики самостійно. Написано станом на вересень 2026 року; орієнтуйтеся на найновішу офіційну інформацію.

Джерела

[1] Пропозиції щодо покращення Ethereum (EIP), EIP-712: Typed structured data hashing and signing eips.ethereum.org

[2] Пропозиції щодо покращення Ethereum (EIP), ERC-20: Token Standard eips.ethereum.org

[3] Пропозиції щодо покращення Ethereum (EIP), ERC-721: Non-Fungible Token Standard eips.ethereum.org

[4] Пропозиції щодо покращення Ethereum (EIP), ERC-2612: Permit Extension for EIP-20 Signed Approvals eips.ethereum.org

Пов'язані статті

Більше