Lire dans d'autres langues: 🇬🇧 English | 🇮🇹 Italiano | 🇩🇪 Deutsch | 🇪🇸 Español | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇷🇺 Русский
RavenTag est une plateforme anti-contrefacon open-source et trustless. Elle relie des puces NFC NTAG 424 DNA a des actifs sur la blockchain Ravencoin via le protocole RTP-1, permettant aux marques de prouver l'authenticite de leurs produits physiques sans dependre d'aucune autorite centrale.
RTP-1 (RavenTag Protocol v1) definit le schema JSON stocke sur IPFS et reference par les metadonnees des actifs Ravencoin.
{
"raventag_version": "RTP-1",
"parent_asset": "FASHIONX",
"sub_asset": "FASHIONX/SAC001",
"variant_asset": "SN0001",
"nfc_pub_id": "<sha256hex>",
"crypto_type": "ntag424_sun",
"algo": "aes-128",
"image": "ipfs://<cid>",
"description": "<description du produit>"
}Description des champs:
raventag_version: Version du protocole (toujours "RTP-1")parent_asset: Nom de l'actif racine (ex: "FASHIONX")sub_asset: Chemin complet du sous-actif (ex: "FASHIONX/SAC001")variant_asset: Serial du token unique (ex: "SN0001") - present uniquement pour les tokens uniquesnfc_pub_id: SHA-256(UID || BRAND_SALT) - empreinte publique de la pucecrypto_type: Type crypto NFC (toujours "ntag424_sun" pour NTAG 424 DNA)algo: Algorithme de chiffrement (toujours "aes-128")image: URI IPFS de l'image du produit (optionnel)description: Description du produit (optionnel)
La contrefacon coute des milliards aux marques et aux consommateurs chaque annee. RavenTag resout ce probleme en combinant trois technologies:
1. Puce NFC securisee materiellement (NTAG 424 DNA) Chaque produit authentifie porte une puce NXP NTAG 424 DNA. A chaque lecture, la puce genere une URL unique et signee cryptographiquement via AES-128-CMAC (SUN: Secure Unique NFC). La cle AES reside dans le silicium de la puce et ne peut pas etre extraite ou clonee.
2. Blockchain Ravencoin
La marque enregistre chaque article serialise comme un token unique on-chain, par exemple FASHIONX/SAC001#SN0001. Les metadonnees du token (sur IPFS) contiennent l'empreinte publique de la puce: nfc_pub_id = SHA-256(chip_uid || BRAND_SALT).
3. Gestion des cles souveraine
Les cles AES sont derivees sur le serveur de la marque a partir de BRAND_MASTER_KEY. Les cles ne quittent jamais le serveur de la marque.
Ravencoin est un fork de Bitcoin concu specifiquement pour l'emission d'actifs:
- Protocole d'actifs natif: actifs root, sous-actifs et tokens uniques sont des fonctionnalites de premier niveau. Pas de smart contracts.
- Hierarchie d'actifs adaptee aux marques: MARQUE (root) / PRODUIT (sous-actif) / SERIE#TAG (token unique).
- KAWPOW proof-of-work: algorithme resistant aux ASIC.
- Aucune ICO, aucun premine: lancement equitable en janvier 2018.
- Frais previsibles et bas: 500 RVN par actif root, 100 RVN par gamme, 5 RVN par article.
La licence RTSL-1.0 exige que toutes les oeuvres derivees utilisent exclusivement Ravencoin pour toutes les operations blockchain.
| Niveau | Technologie | Ce dont un attaquant a besoin |
|---|---|---|
| 1. Consensus Ravencoin | Propriete de l'actif parent verifiee par chaque noeud | Doit posseder l'actif parent Ravencoin |
| 2. Liaison nfc_pub_id | SHA-256(UID || BRAND_SALT) dans les metadonnees IPFS |
Doit connaitre BRAND_SALT (jamais public) |
| 3. Derivation de cle AES | AES-ECB(BRAND_MASTER_KEY, [slot || UID]) par puce |
Doit connaitre BRAND_MASTER_KEY |
| 4. Silicium NTAG 424 DNA | Hardware NXP non clonable | Doit cloner physiquement le silicium NXP (impossible) |
Telechargement: RavenTag-Verify.apk
| Fonctionnalite | Details |
|---|---|
| Scan de tags NFC | Tap sur puce NTAG 424 DNA, resultat AUTHENTIQUE / REVOQUE |
| Verification complete | SUN MAC + blockchain Ravencoin + verification de revocation |
| Portefeuille Ravencoin | BIP44 m/44'/175'/0'/0/0, mnemonique BIP39 12 mots, nouvelle adresse apres chaque envoi (rotation HD) |
| Multilingue | EN, IT, FR, DE, ES, ZH, JA, KO, RU |
Telechargement: RavenTag-Brand.apk
| Fonctionnalite | Details |
|---|---|
| Emission d'actifs Ravencoin | Root (500 RVN), sous-actif (100 RVN), token unique (5 RVN) |
| Programmation puces NTAG 424 DNA | Cles AES-128 + URL SUN via APDU ISO 7816-4 |
| Portefeuille HD | BIP44, signature UTXO locale, mnemonique BIP39 12 mots, nouvelle adresse apres chaque envoi (rotation HD) |
| Transfert / Revocation | Gestion complete du cycle de vie des actifs |
| Metadonnees produit | Upload JSON RTP-1 sur IPFS via Pinata, hash CIDv0 reference on-chain |
Les roles sont definis au moment de la creation du portefeuille en saisissant une cle de controle (admin ou operateur). L'application determine le role automatiquement en validant la cle sur le backend. Le role est lie au portefeuille et ne peut pas etre modifie dans les parametres.
| Role | Cle de controle | Permissions dans l'app Android |
|---|---|---|
| Admin | Cle Admin (X-Admin-Key) |
Toutes les operations: emission actifs root/sub, emission jetons uniques, revocation/restauration, envoi RVN, transfert tous types d'actifs |
| Operateur | Cle Operateur (X-Operator-Key) |
Emission de jetons uniques uniquement. Creation d'actifs root/sub, revocation/restauration, envoi RVN et transfert d'actifs root/sub sont bloques. |
Cas d'usage: Un admin peut preconfigurer plusieurs appareils operateurs sur le meme portefeuille contenant les actifs proprietaires. Chaque appareil operateur peut emettre des jetons uniques sans acces a la gestion des actifs ou au portefeuille.
App installee: L'URL du tag est intercepte directement par RavenTag Verify. L'app ouvre l'ecran Scan et effectue la verification complete.
App non installee: L'URL ouvre le navigateur qui affiche une page d'installation avec le logo et un lien de telechargement.
RavenTag/
├── backend/ Node.js + Express + SQLite
├── frontend/ Next.js 14 + Tailwind CSS
├── android/ Kotlin + Jetpack Compose
├── docs/ protocol.md, architecture.md, legal/, README_*.md
├── pictures/ Assets du logo
├── docker-compose.yml
└── LICENSE RavenTag Source License (RTSL-1.0)
Shell interactive en lecture seule pour explorer la base de donnees SQLite sur une instance backend en cours d'execution.
docker exec -it raventag-backend node dist/db-explore.jsCommandes disponibles:
| Commande | Description |
|---|---|
.assets |
Lister les puces enregistrees (chip_registry) |
.brands |
Lister les marques enregistrees (brand_registry) |
.revoked |
Lister les actifs revoques (revoked_assets) |
.stats |
Afficher le nombre de lignes pour toutes les tables |
.help |
Afficher les commandes disponibles |
.exit |
Fermer la base de donnees et quitter |
Le shell ouvre la base de donnees en lecture seule. Aucune operation d'ecriture n'est exposee.
Pour toute demande juridique: legal@raventag.com
RavenTag est publie sous la RavenTag Source License (RTSL-1.0). Voir LICENSE pour le texte complet.
