- Prachi Shah (2021A7PS2589H)
- Shramana Ghosh (2021A7PS1834H)
- Ambi Gaur (2021A4PS2923H)
- Harigovind R (2021A7PS2810H)
- The objective of this project is to develop a secure supply chain management system using blockchain technology. This system aims to ensure the efficient and error-free distribution of products from manufacturers to clients through a network of distributors
- This assignment focuses on implementing the consensus algorithm - Delegated Proof of Stake for SCM Blockchain.
In DPoS consensus users can either directly vote or give their voting power to another entity to vote on their behalf. The chosen witness are responsible for generating blocks by verifying transactions. If they verify and sign all transactions in a block, they are rewarded, which is usually shared with those who have voted for witness. If a witness fails to verify all transactions in the given time, block is missed, all transactions are left unverified and no reward is distributed to that witness. The reward is added up to reward of the next witness which verifies that block.
To prevent errors in the distribution of products, you need to build a supply chain management system using Blockchain technology with the following features:
- To register new clients, distributors and a manufacturer (only one) to the system, with the client and distributor depositing a security amount to a trusted third party.
- To improve the security of the blockchain, incorporate a consensus algorithm assigned to your group.
- Implementing Merkle tree to calculate the hash of all the transactions in a block and successfully mine the block with the transaction.
- To view the current product status in the supply chain using a QR code.
- At one time, the distributor can distribute a product to a dedicated client. Once the transaction is confirmed by both the distributor and the consumer, then only the next delivery can be taken by him/her.
- A well-known issue is understood when: a. The distributor has dispatched the product, and the client has received it, but the client is denying it (The client is lying, but the distributor is not). b. The distributor has not dispatched the product, and the client has not received it (The client is not lying, but the distributor is). Resolve both issues & after identifying the liar, make deductions from the security deposit if the distributor or consumer is telling a lie.
Our solution for secure supply chain management and blockchain verification ensures the integrity and transparency of the entire process. When a client places an order, only authorized distributors can accept it and sign a digital timestamp upon dispatch, providing indisputable proof of order fulfillment. To receive the product, clients use their private keys to digitally sign the order key, confirming receipt. We employ blockchain technology to validate these transactions, using the public keys of clients and distributors to check signatures. Valid transactions are added to a mined block, while invalid ones result in the forfeiture of a security deposit. This multi-layered approach guarantees the security of the supply chain, prevents fraud, and maintains trust throughout the process.
node test.js
npm install readline-sync
npm install qrcode-terminal
npm install crypto
npm install js-sha256