GDPassport Technical Architecture &
1.1. The Challenge for the consumers
Consumers are throwing away 1.7 trillion US dollars a year on substandard and potentially unsafe goods. What’s more, all of that money is pouring into funding criminal organisations.
Most consumers are not trying to buy counterfeit goods. But when you buy a piece of art, a phone or a watch, how do you know whether it’s genuine or a fake? How do you know if you are buying stolen goods?
Consumers are aware that counterfeit products come with a risk. From poor quality products that fall apart after one use, to the dangerous use of flammable or toxic materials, which pose a real threat to their own wellbeing. Sadly, consumers often remain unaware their items are fake until they attempt to resell them and discover the goods are worthless.
Another devastating impact of the counterfeit goods trade is that the production process goes unchecked. Which means, no one is being held accountable for the safety of the workers, and no one is responsible for the environmental impact being caused.
Even if consumers do succeed in buying genuine products, there is a substantial risk of purchasing stolen goods. Retailers estimate that one-third of the ‘new in box’ or ‘new with tags’ listings on auction and blog websites are actually goods that were stolen through organised retail theft, or otherwise fraudulently obtained.
1.2. Proposed solution
The proposed solution will operate based on the underlying Ethereum blockchain technology and hence inherently provide Transparency, Authenticity, and Decentralized approach eliminating the centralized control over the information.
- Every product information will be identified is Non-Fungible Entity which will extensibly hold the set of linked information like manufacturer, category and details of product, current owner.
- Solution will allow unique identification for the product identification which can server equivalent to product unique serial number.
- Platform will allow the user to register providing the required details for identity verification upon which the user will be able to operate as per different roles.
- Over all solutions will provide the reliable way of transparently tracing the products historic information from its origin upto its real time current ownership and state of existence.
2. GDPassport System Architecture
Following diagram show overall system architecture for implementation of the GDPassport solution for distributed product tracking.
Different actors interacting with the system
- Manufacturer / Producers
- Seller / Retailers (GDP Agents)
- Insurer & Certification Authority
- Product Owner
- Shoppers / Consumer
- System Admin
2.1. Workflow Architecture
Manufacturers/Sellers registers with the system. Once the admin grants access to them, they can use the portal.
Registered manufacturers can register a new product on the GDP platform. Smart contract for that product will be created at this stage. This smart contract can hold multiple entities of the same product in batch level or item level. Once this product smart contract is created it cannot be modified since it will be deployed on Ethereum blockchain.
Manufacturer can connect to other sellers/retailers who buysproduct from manufacturer and sells it in market. Once sellers / retailers connect, they can access product and update information of any entity of that product. They can add more product entities to the platform, which all goes to same product smart contract.
Once product details are filled in product smart contract for the product, system will generate a QR code for each entity of the product that can be attached with the product.
Manufacturer / Seller / Reseller can specify product information template based on which data will be displayed on the QR code link.
When consumer buy a product from manufacturer / seller they transfer the ownership of that product entity to the consumer. Now consumer can update the product information template to be shown on QR code link page. Manufacturers /seller can now only see the product entity using QR code shared by consumer.
If the owner of the product gets changes, old owner can invite new owner to join the platform, and after successful registration of new owner, old owner will transfer the ownership to the new owner. After that old owner can only see product information from QR code. New owner can update the template of information to be displayed on QR code link.
Since we are creating a separate smart contract for each product having multiple entities, we can also share link of standard ethereum network explorer like Ether Scan to guarantee the product genuinity using decentralised blockchain network.
Manufacturer / Seller can invite insurer / certification authority to access the product. Insurer / certifier can connect to them and update the certification info / insurance info of the product on the product smart contracts using web portal.
2.2. Utility ERC20 Token
GDP utility ERC20 token will be distributed to investors through ICO and later can be purchased/sold on exchange platforms.
GDP token will be needed by manufacturer, seller, reseller, insurer, certifier & old owner in order to update state of the product in the blockchain. Once they transfer GDP token as fee, the transaction will get reflected on blockchain.
To view product information (origin, authenticity & ownership) stored on decentralised blockchain network, any utility token or ETH is not required. Anyone having the QR code can check that.
Diagram showing the entities involved in the storage of the information required to provide Origin, authenticity, ownership
GDP Platform Admin Contract
- It will serve as the entry point for the directing most of the transactional operations like Product creation, Creating the Identities, Registering the Certifications.
- GDP Token smart contract is the Ethereum standard ERC20 compliant Utility token allowing easy integration and compatibility with the Ethereum blockchain ecology.
- Its as crowdfunding ICO smart contract governing the Token allocation to the investing parties. Moreover it holds the responsibility for the filtered allocation based on the whitelisted identities or addresses.
- It will hold the functional implementation for the access-rights based on different Roles of user interacting with the platform. Identities of the Users will be recorded based on the Ethereums Identity standard ERC 725.
Product Base Contract
- The generic product smart contract capable of holding all product specific information structure.
- Being following the ERC721 standard interface it will provide easy listing onto the different marketplace for Trading and transfer of ownerships.
Manufacturer can get access to the web front end after registering and access grant from admin.
Seller / Reseller can get access to web portal using registration or invite link by manufacturer.
Consumer can get access to the web portal by invite sent by seller when he purchases the good.
The web portal would be secured by authentication using credential for the platform.
Consumers can see goods origin, authenticity & ownership using QR code. This front end would be customized by the current owner of the good.
The Manufacturers GUI will allow them to register a new product which will create a smart contract from backend automatically and deploy that on Ethereum network.
2.5. Smart Contract Architecture
Following diagrams shows architecture of smart contract for products of GDPassport.
For each product, when manufacturer registers the product (Ex. Watch), the system will create and deploy smart contract on ethereum network based on the fields provided by the manufacturer. This fields can not be changed once the smart contract is deployed.
Then manufacturer / authorised seller & retailers can create a product entity(i.e Swiss Watch) in the product smart contract along with values for all related fields of the product origin. This would create a transaction on the blockchain. To add such a product Manufacturer need to pay transaction fee to the platform in form of utility token.
Authorised Insurer / Certifier can also update the product entity (i.e Swiss Watch) certification details on the smart contracts using the product ID. This also requires GDP token as transaction fee.
Consumer can view this product information in the platform as well as standard ethereum network explorers like etherscan.io using QR code. Technically it requires product ethereum smart contract address and Product ID.
Consumer can buy the product and the manufacturer / seller will transfer the ownership of the product to the consumer. The system will change the product owner information in the smart contract. Seller need to pay GDP token as fee.
Current owner can also sell it to another owner same way.
ETH required for blockchain transaction GAS will be used from platform ethereum wallet.
By keeping the smart contract logic separate for each product, it is very easy and readable for consumers to check goods origin, authenticity & ownership on public blockchain.