Verification procedure to proof the authenticity of a product by using the Ark blockchain.
Nowadays it is common that products are copied and presented to the market as if they are original. With a few simple steps we can use the Ark blockchain - or sidechain - to prove authenticity of a product.
You need to make sure to have nodemon running.
- Install dependencies:
npm install - Build staticfiles
2.1. and watch for changes:
make watch2.2. without watching for changes:make build - Run server:
make start
Nowadays it is common that products are copied and presented to the market as if they are original. With a few simple steps we can use the Ark blockchain - or sidechain - to prove authenticity of a product.
By making a simple transaction to his own wallet (wallet x to wallet x) with a verificationKey in the vendor field a retailer/producer can initiate the authenticity of his product:
POST request with seed of the wallet to use to server:port/add
- This generates a verificationKey (a unique string that identifies the product)
- This signs the verificationKey with the seed of the wallet to create a signature
- This sends a transaction to your own wallet with the above key in the vendor field (the key and transactionID are now publicely available)
- This returns the transactionID and signature to attach to an authentic product (RFID/BLE/QR/etc)
The product is now uniquely linked to the blockchain and the producer.
GET request with transactionId and signature to server:port/verify
For the purchaser or seller of the product it is now very easy to proof that the product is authentic:
- He retrieves the transactionID and signature from the product. The signature is only known to this product
- He does a GET request to the server
- This searches for the transactionID on the blockchain and retrieves the verificationKey from the vendor field
- This retriever the public key from the sender of the transaction
- This verifies that the signature is correct for this address and verificationField
In worse case a copier can now purchase a handful of original products and clone their keys and fake products can show up with all the same keys that will verify.
Create a 'notary' wallet that can authenticate producers/retailers as verified by sending a tranasction to the wallet of the producer/retailer.