Blockchain Product Authenticity Verification System Development
Louis Vuitton, Prada, Richemont — three largest luxury conglomerates united in Aura Blockchain consortium for product authenticity tracking. Not because it's trendy, but because global counterfeit market is $500 billion annually. Blockchain here is not marketing tool — it's registry that cannot be changed retroactively.
For small and medium business the same mechanics available through custom development without corporate consortium.
How Product Authenticity Works Technically
Linking Physical Product to Digital Passport
Central problem: smart contract can't "see" physical product. Verification built through trusted identifier embedded in product:
QR-code / serial number. Simplest option: unique serial number recorded in contract on product creation (manufacturer or authorized distributor). Buyer scans code → off-chain API queries contract → gets history. Weakness: QR-code can be copied and stuck on counterfeit.
NFC/RFID chip with cryptography. Chip (Infineon, NXP) stores private key in protected memory (can't extract). On smartphone scan, chip signs random challenge — contract verifies public key signature registered at production. Impossible to forge signature without chip. Solutions: Kong HaloTag, Arx Research, Ntag 424 DNA.
Unique physical characteristics (PUF). Physically Unclonable Function — material microstructure (e.g., paper fibers or fabric pattern), photographed at production, hash recorded in contract. On verification — new photo, AI-comparison with reference. Doesn't require embedded chip but requires specialized scanner. Technology: Alitheon, Prooftag.
Digital Passport Structure (NFT as Certificate)
Each product = NFT. Metadata:
-
productId— unique identifier (serial number / hash of physical characteristics) -
manufacturer— manufacturer wallet address (verified on-chain) -
productionDate,batchId -
currentOwner— current owner (changes on transfer) -
transferHistory— array of records: who, to whom, when (block.timestamp) - IPFS/Arweave links to product photos from different angles
NFT transfer = product transfer. Ownership history completely transparent and immutable.
System Architecture
Roles and Access Rights
System built around several roles:
| Role | Rights | Implementation |
|---|---|---|
| Manufacturer | Mint new product NFTs | MINTER_ROLE (AccessControl) |
| Distributor | Transfer, location updates | DISTRIBUTOR_ROLE |
| Retailer | Final transfer to end consumer | RETAILER_ROLE |
| Consumer | Verification, transfer (resale) | Regular EOA |
| Admin | Role management | DEFAULT_ADMIN_ROLE |
OpenZeppelin AccessControl with grantRole/revokeRole — manufacturer adds distributors, distributors add retailers. Hierarchy customizable.
Contract: Key Functions
function mintProduct(
address to,
string calldata serialNumber,
bytes32 physicalHash,
string calldata metadataURI
) external onlyRole(MINTER_ROLE) returns (uint256 tokenId)
function verifyProduct(uint256 tokenId, bytes calldata chipSignature)
external view returns (bool authentic, ProductInfo memory info)
function transferWithAttestation(
address to,
uint256 tokenId,
string calldata transferNote // "Shipped to retailer X, warehouse Y"
) external
transferWithAttestation records additional context to each transfer — not just "address → address", but with operation description.
Mobile App for Verification
End user shouldn't know about blockchain. Interface:
- Place phone near NFC-chip (or scan QR)
- App gets challenge → chip signs → sends to our API
- API verifies signature, queries contract
- User sees: "Authentic ✓ | Produced 15.03.2024 | History: 3 owners"
React Native for iOS/Android. WalletConnect if Web3-features needed for owner. For simple B2C verifier — regular API without wallet sufficient.
Blockchain Choice
| Chain | Gas cost | Throughput | Recommendation |
|---|---|---|---|
| Ethereum | High | Moderate | Premium goods, max reliability important |
| Polygon | Very low | High | Mass products, high mint volume |
| Base | Low | High | Mid-tier balance cost/reliability |
| Solana | Very low | Very high | Large volumes, different ecosystem |
For B2B systems with high volume (thousands of products daily) — Polygon or Base. For luxury goods — Ethereum or Polygon with bridge to Ethereum for important events.
Integration with Existing Systems
ERP (SAP, 1C) ↔ our API ↔ blockchain. NFT mint triggered automatically on product creation record in ERP. For enterprises with SAP — standard REST webhook from SAP Event Mesh.
QR-codes generated server-side, printed at production. serialNumber → tokenId mapping stored in our DB for fast lookup without on-chain query on every scan.
Development Process
Architecture and identifier choice (2-3 days). Verifier type (QR / NFC / PUF), target blockchain, role model, history depth.
Smart contracts (1 week). ERC-721 with AccessControl, transfer attestation, verify function. Tests in Foundry: all roles, transfer edge cases, verification with correct and incorrect signature.
API and integrations (1 week). Backend on Node.js/Laravel, NFC SDK integration, ERP webhooks, IPFS uploads.
Mobile app (1-2 weeks, if needed). iOS + Android via React Native or PWA for simple cases.
Basic system (QR-verification, single contract, web interface) — 1-1.5 weeks. Full system with NFC, mobile app and ERP integration — 2-3 weeks. Cost depends on chosen identifier type and integration volume.







