Розробка NFC-чипа для NFT верифікації товарів

Розробляємо NFC-рішення, що забезпечують криптографічну прив'язку фізичного об'єкта до NFT. Справжня прив'язка — це коли фізичному об'єкту неможливо створити дублікат без криптографічної підробки. Це досяжно лише якщо чип вміє підписувати повідомлення **приватним ключем**, який фізично вбудований і

Напрямки блокчейн-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1308
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1003
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1269
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1009

Розробляємо NFC-рішення, що забезпечують криптографічну прив'язку фізичного об'єкта до NFT. Справжня прив'язка — це коли фізичному об'єкту неможливо створити дублікат без криптографічної підробки. Це досяжно лише якщо чип вміє підписувати повідомлення приватним ключем, який фізично вбудований і не виймається. Наш досвід — понад 5 років у блокчейн-розробці та понад 50 phygital проєктів. Ми гарантуємо якість коду та проходження аудиту. Сертифіковані аудитори перевіряють безпеку смарт-контракту.

Як працює криптографічна прив'язка NFC-чипа до NFT?

Прив'язка будується на асиметричній криптографії. Чип зберігає приватний ключ, який неможливо прочитати ззовні. При скануванні чип підписує унікальне повідомлення (наприклад, адресу гаманця та blockhash). Смарт-контракт на Ethereum верифікує підпис і пов'язує фізичний об'єкт з токеном. Без чипа підпис підробити неможливо.

Вибір чипа: вимоги до криптографії

Не кожен NFC чип підходить. NTAG213/215/216 — стандартні теги для простого зчитування URL. Жодної криптографії, клонуються за 10 секунд з будь-яким Android.

Потрібен чип з asymmetric key pair та signing capability:

  • NTAG 424 DNA — найпоширеніший вибір. AES-128 на борту, SUN (Secure Unique NFC) message authentication. При кожному зчитуванні генерує унікальне CMAC-підписане повідомлення з rolling counter. Приватний ключ записується при виробництві та не читається ззовні.
  • Kong Halo — ECC (secp256k1 — та ж крива, що в Ethereum), кожне зчитування генерує ECDSA підпис над keccak256(chipAddress || blockHash || counter). Сумісний з EIP-191 personal_sign, верифікація on-chain через ecrecover.
  • Arx Research HaLo — публічний ключ чипа — детермінований адрес Ethereum. Використовується в RTFKT, Adidas Physical NFT проєктах.
Характеристика NTAG 424 DNA Kong Halo HaLo
Криптографія AES-128 CMAC ECDSA secp256k1 ECDSA secp256k1
Сумісність з Ethereum Через сервер Нативна (ecrecover) Нативна
Захист від клонування Висока (AES ключ на сервері) Максимальна (приватний ключ невідомий) Максимальна

Для серйозного phygital проєкту вибір між NTAG 424 DNA та HaLo залежить від задачі: NTAG 424 дешевший (вартість одного чипа близько $0.30, що у 10 разів дешевше за HaLo за $3) і стандартніший, HaLo нативно сумісний з Ethereum підписами та не потребує кастомної верифікації. HaLo забезпечує у 100 разів швидшу верифікацію on-chain порівняно з NTAG 424 DNA через відсутність серверної ланки.

Криптографічна схема прив'язки

HaLo / Kong Halo схема

Кожен чип має вбудовану ключову пару secp256k1. Публічний ключ — chipAddress. При зчитуванні телефоном (через Web NFC API або нативний додаток) чип підписує challenge:

signature = ECDSA.sign( privateKey, keccak256(abi.encodePacked(chipAddress, cmdBlock, counter)) ) 

counter інкрементується при кожному зчитуванні — replay attack неможливий. cmdBlock містить дані про конкретну команду.

Смарт-контракт зберігає маппінг chipAddress => tokenId. Верифікація ownership:

function verifyChipSignature( uint256 tokenId, bytes calldata signatureFromChip, bytes32 blockHash, uint256 blockNumber ) external view returns (bool) { require(block.number - blockNumber <= MAX_BLOCK_AGE, "Stale"); address chipAddress = chipAddressOf[tokenId]; bytes32 digest = keccak256(abi.encodePacked( chipAddress, blockHash )); address recovered = ECDSA.recover(digest, signatureFromChip); return recovered == chipAddress; } 

blockHash включається в підпис щоб прив'язати скан до конкретного моменту часу — захист від збережених і відтворених підписів.

NTAG 424 DNA схема

Чип використовує AES-128 CMAC. Кожне зчитування генерує URL виду https://verify.project.xyz/?e=<encrypted_uid>&c=<cmac>. encrypted_uid — зашифрований AES-128 UID чипа (унікальний), cmac — Message Authentication Code, включає rolling counter. Верифікаційний сервер розшифровує UID і перевіряє CMAC з відомим secret key. Counter перевіряється на монотонне зростання.

Слабкість порівняно з HaLo: AES ключ повинен бути відомий верифікаційному серверу. Компрометація сервера = можливість клонування підписів. Для HaLo приватний ключ не знає ніхто.

Що таке Physical Backed Token (EIP-5791)?

EIP-5791 — стандарт саме для цього. Розширює ERC-721 двома функціями:

function tokenIdMappedFor(address chipAddress) external view returns (uint256); function isChipSignatureForToken(uint256 tokenId, bytes calldata payload, bytes calldata signature) external view returns (bool); 

Референсна реалізація — Chiru Labs PBT. Наслідуємось від PBT, перевизначаємо логіку верифікації під конкретний чип.

Передача токена через chip scan:

function transferTokenWithChip( bytes calldata signatureFromChip, uint256 blockNumberUsedInSig ) external { require(block.number - blockNumberUsedInSig <= getMaxBlockhashValidWindow(), "Expired"); bytes32 blockHash = blockhash(blockNumberUsedInSig); require(blockHash != bytes32(0), "Block too old"); bytes32 digest = keccak256(abi.encodePacked(msg.sender, blockHash)); address chipAddress = digest.recover(signatureFromChip); uint256 tokenId = _chipAddressToTokenId[chipAddress]; _transfer(ownerOf(tokenId), msg.sender, tokenId); } 

Це означає: щоб перенести NFT на новий гаманець, потрібно фізично піднести предмет до телефону і підписати транзакцію одночасно. Без фізичного предмета — передача неможлива. Це ключова властивість для luxury goods та collectibles. Верифікація товарів через NFC є невід'ємною частиною цього процесу.

Процес роботи

  1. Аналіз вимог: вибір типу чипа, визначення параметрів прив'язки (кількість чипів, мережа, стандарт токена).
  2. Проектування криптографічної схеми: розробка протоколу підпису та верифікації.
  3. Розробка смарт-контракту: контракт PBT з підтримкою chip scan та transfer. Смарт-контракт прив'язки забезпечує безпечне з'єднання.
  4. Розробка мобільного додатку (якщо потрібно): Web NFC або нативний додаток.
  5. Інтеграція з виробництвом: прошивка чипів, генерація ключів, маппінг chipAddress → tokenId.
  6. Тестування та аудит: ручне тестування, fuzzing (Echidna), формальна верифікація.
  7. Деплой та підтримка: публікація контракту, налаштування інфраструктури верифікації, документація для команди замовника.
Етап Строк Результат
Аналіз 1-2 дні Технічне завдання
Проектування 3-5 днів Криптосхема, вибір чипа
Розробка контракту 5-10 днів Смарт-контракт, тести
Розробка додатку 10-20 днів Мобільний клієнт
Інтеграція з виробництвом 5-7 днів Прошиті чипи, база маппінгу
Тестування та аудит 5-10 днів Звіт про аудит
Деплой 1-2 дні Робоче рішення

Що входить в роботу

  • Вибір та закупівля чипів (NTAG 424 DNA / HaLo / Kong Halo) з перевіркою постачальників.
  • Розробка смарт-контракту за стандартом EIP-5791 з підтримкою chip signature verification.
  • Створення мобільного додатку для iOS та Android (Web NFC або нативний).
  • Інтеграція з виробничою лінією: скрипти прошивки, генерація ключів, маппінг.
  • Документація з експлуатації та технічна підтримка на старті.
Технічні вимоги до виробництва - Чипи повинні надходити з заводу з попередньо встановленими ключами (custom keys замовляються окремо). - Для HaLo необхідно підписати угоду про постачання з виробником (Arx Research). - Рекомендований спосіб вбудовування: заливка в корпус виробу (overmolding) або ламінування між шарами матеріалу.

Зв'яжіться з нами для консультації щодо вашого проєкту. Замовте розробку NFC-NFT рішення і ми підготуємо індивідуальну пропозицію. Вартість повного рішення починається від $15,000, що дозволяє заощадити до 60% порівняно з альтернативними методами верифікації.

Ключові переваги: надійний crypto NFC, інтеграція з Ethereum, і гарантована безпека.