---
# System prepended metadata

title: Untitled

---

## Smart Tags and Containers (STAC) | Team Sixsee

### Preface

Our idea aims to solve the following in a cost efficient, and scalable
way:

1. Identifying and tagging counterfeit products before it reaches the customer
2. Tracking the possible damage to goods enroute. This happens in the
   both cases:
    - When a customer recieves the order
    - When a customer returns the order
3. Ensuring the goods are not swapped in between the supply chain, be it
by the customer or by an employee

### Components

Our teams proposes _Smart Containers_ and _Tags_ (STAC) for the given theme.
It comprises of several physical and digital components:

#### Physical
1. A reusable physical container, with a ADXL based shock detection
module attached to it, which we call the __Smart Container__.
    - With enough research, we have decided to go with ADXL sensors for
    the best accuracy when it comes to shock and lowest electric current
    usage when it comes to battery [1].
2. A ephemeral __Smart Tag__ which can be a sticker or a normal tag, which will
have a printed QR code.

#### Digital
- A blockchain based supply chain.
- Entries to blockchain will be stopped once a defected value is recorded hence preventing further transfers.
- Asymmetric Key Cryptography.
- A dashboard in **React** which is accessible to the Amazon admin and the customer.
- Smart Contracts will be deployed on **Polygon Blockchain** which is Ethereum based blockchain with consensus mechanism based on **Proof of Stake**.
- We also plan to introduce **Amazon Tokens** that can be used for payments and easy refunds.
- PoC Backend made in NodeJS. 


### Overview

![Overview Diagram](https://bin.wantguns.dev/kkPQnT.png)

In order to easily explain our idea, let's imagine it is incorporated into Amazon
already. Now we walkthrough the supply chain:

1. Alice makes a new customer account on Amazon.
    - When the new account is created, it also creates an unique
    asymmetric keypair for Alice.

2. Bob makes a retail account on Amazon, and lists a pair of shoes as one
of their shop's product.
    - When the new commodity (shoes) is created, it also creates an
    unique asymmetric keypair for each pair of shoes.

3. Alice is ordering one of Bob's pair of shoes from Amazon.
    - When the order is made, a string of text is generated based on the
    properties of order. This string is then __encrypted using Alice's
    private key and the shoes' public key__ and sent to Bob digitally.
    - Bob can verify the order request by __decrypting the encrypted
    string using Alice's public key first and then the shoes' private
    key__. 
    - Once verified, a _Smart Container_ will be associated with the order
    digitally, and in the blockchain.
    - A string with the order details and ___Smart Container_ ID__ with its
    contents will be generated at Bob's end. The string will be
    __encrypted by the shoes' private key first and then Alice's public
    key__.
    - The encrypted string will be be available to Bob as a QR code,
    which they can print on a _Smart Tag_.
    - An entry is made into the blockchain which encapsulates all the
    details of the product (pair of shoes), the seller, Alice, etc.

4. Inside the Amazon workhouse, the __employees will attach the _Smart Tag_
   with the shoes, and place it inside the assigned _Smart Container___.

5. During the time when the order is enroute, the __ADXL module will keep
   track of all the necessary physical properties which include Shock or
   Vibrations, etc__.
   - Every reading will be broadcasted into the blockchain.
   - __If a reading crosses some threshold, the _Smart Container_ will be
   marked for checking in its next checkpoint__.
   - If the shoes were deemed damaged on inspection, they will be sent
   back to the warehouse

6. If the _Smart Container_'s readings did not cross any threshold, or was
   marked undamaged during its checkpoints, it will be delivered to
   Alice.
   - Alice now has to scan the QR code (recall that it was the encrypted
           message from Bob's end).
   - __If Alice is able to decrypt the message using their private key and
   the shoes' public key, it means the shoes were not swapped in between
   the supply chain.__
   - Once the decrypted message is obtained, Alice can check for the
   _Smart Container_ ID, and cross-check it with the _Smart Container_ the
   delivery person presented to them. 
   - __If the _Smart Container_ ID matches, it means the _Smart Containers_
   were not swapped as well, which ensures that the shoes did not
   undergo any physical damage.__
   - All the necessary transanctional data will be added to the
   Blockchain.
   - The _Smart Container_ will now be returned to the warehouse, where it
   awaits its next order.

7. If Alice decides to return the order, the exact same process will be
   executed, but now Alice will become Bob, and Bob will become Alice.
   - __If the _Smart Tag_ is damaged or swapped, then the message
   decryption will fail, which ensures that the same product is
   returned.__
   - __The newly assigned _Smart Container_ will again track all the
   necessary physical properties while enroute, which ensures that any damage caused was not by Alice, but was caused enroute__


### Implementation
1. **Smart Contract** will be generated on placing an order. A unique entry will be generated corresponding to order ID and a **unique hash** will be assigned to all the orders based on Users and Products. 
2. All the reading which are recorded from **Smart Container** will be sent to blockchain after a specific amount of time using **NodeMCU**. We will use modifiers that will ensure that product will not get transferred once it is marked defected. 
3. All the checkpoints in transfers will be checked and stored in the blockchain to ensure proper delivery of the asset. At the consumer end it will be signed by the consumer using product's private key and customers public key and hence the delivery will be marked successful.
4. **Smart Container** can be reused as it will be taken to the warehouse by Amazon employee. Hence keeping the usage cost very low.
5. At the time of refund the employee can scan the **Smart Tag** attached with the product and all the details regarding ownership and history will be displayed on their device. User can sign the return/refund using their private key and after verification of no physical damage amount will automatically get refund in customer's account in form of **Amazon Tokens**.
6. We will also introduce a concept of **Amazon Tokens** that can be used to pay for the order and automated refund in amazon wallets using smart contracts. 

### About Us

Our team includes Blockchain developers, IoT developers, Web developers
in terms of experience, while in terms of relevant Acheivements, it
includes Smart India Hackathon 2022 Qualifiers and Flipkart GRiD 3.0 National
Winners.

### References
[1]: J. Zidar, I. Aleksi, T. Matić and D. Žagar, "Comparison of different acceleration sensors for low power vibrations and shock detection in supply chain," 2022 45th Jubilee International Convention on Information, Communication and Electronic Technology (MIPRO), 2022, pp. 829-834, doi: 10.23919/MIPRO55190.2022.9803798.
