Blockchain technology: A Game changer in Supply Chain

Blockchain is a groundbreaking emerging technology that employs a decentralised and immutable digital ledger. This allows multiple participants to validate and agree upon transactions and ensures distributed consensus. As a result, it eliminates the need for a centralised authority, enhancing trust in the system. While its use cases can be extended to any system that benefits from the above properties, in this article, we will delve into the practical implementation of blockchain technology within Supply Chain Management and examine the significant advantages it can offer to the SCM industry.

A quick and brief introduction to blockchain

Blockchain is a distributed digital ledger that records transactions stored in a chain of blocks. It is distributed, because it is stored and maintained by anyone in the system. Its strong cryptographic principles makes it very secure and almost impossible to be tampered with. To verify that a transaction is legitimate, the entire blockchain can be downloaded and all the blocks pertaining to the given account can be processed to verify if it is a valid transaction.

A simple representation of a blockchain

For example, consider the following blocks:

Sample amount transfer in a blockchain

To understand this, let us consider a blockchain system to record the exchange of currency (like bitcoin/ethereum) where transactions are recorded in a series of blocks. Each block contains a record of currency being sent from one party to another. Imagine there are three parties involved: Account 1, Account 2, and Account 3. To make sure that the transactions in the later blocks (like block n+1 and n+2) are legitimate, we need to start with the first block, which is block n, and verify its validity.

Here’s why: In block n+1 and n+2 in the above picture, Account 2 sends 100 units of currency to Account 3. In order for this to be a valid transaction, Account 2 must have at least 100 units of currency in the first place. To verify this, we would need to verify that block n is valid because that confirms whether Account 2 has at least 100 units of currency to begin with.

In the same way to make sure that block n is valid, we may need to verify block n-1 is valid and so on, and all the way upto block 1 (first block of the blockchain).

So, before we can trust the transactions in the later blocks, we must confirm that the initial transactions, like the one in block n, are valid by inspecting the entire history of the involved accounts on the blockchain. This verification process ensures that the entire chain of transactions is reliable and that no one is trying to spend more currency than they have.

Each block can contain:

  • Block number
  • Unique hash of the block
  • One or more transactions
  • Reference to its parent block (usually the hash value of the previous block)

Please note that other fields of the block can vary depending on the particular implementation of the blockchain and is out of scope of this discussion. A node in a blockchain is any participant that maintains it. A node can create a new block, verify a block, store and propagate the entire block chain. When a transaction is made, a new block is created containing all details of the transaction and an attempt is made to add the block to the blockchain. Distributed consensus is achieved by the nodes accepting the longest blockchain being propagated by the majority of the nodes. If someone tries to tamper with a block and change its contents, its hash value changes and will disconnect itself from all the other consequent blocks. Since this is not going to be accepted by the majority, this changed block will be rejected. The creation of a new block is called mining a block and the node that created it is called the miner.

A smart contract is a piece of code that is deployed and run on a blockchain. Its code is publicly available (within the system) and any user can verify its authenticity by computing the hash value. Using a smart contract, mutual trust can be ensured between the parties involved in the transaction and the code can be written according to the terms of the contract agreed upon by all the parties. Each party can be sure that the transaction occurs in a fair and agreed upon manner.

Smart contract has access to blockchain

Supply chain and blockchain

Blockchain technology can be a great advantage to supply chain management because it can ensure various properties that are critical to supply chain like visibility, transparency, asset management, transfer of assets, traceability, adherence to standard operating procedures, etc. Each asset in the supply chain, right from raw materials to finished goods can be tracked in the blockchain along with each transaction or operation made on that asset. A smart contract not only facilitates adherence to requisite procedures at every stage but also establishes the specific information accessibility rights for participants within the supply chain. As an example, we shall now look at how to ensure traceability in a supply chain using blockchain. For this, we can take the example of a generic fashion supply chain.

From a bird’s eye view, the stages of the supply chain of a fashion supply chain is as follows.

Supply chain model

In order to maintain complete transparency and traceability, every standard operating procedure in the above chain can be made into a blockchain transaction. This will however create a data security issue, a problem we will attempt to address in the subsequent sections. For convenience, let us consider each box that is mentioned above as an entity. Each entity can push one or more operations it does as one transaction or separate transactions each on the blockchain. A smart contract enforcing the standard operating procedure is followed at every step will reduce leakages, loss and theft. The blockchain need not be linear and can branch out at any point according to the rules of traceability set by the stakeholders.

  • In the design and planning phase, the designer can upload the plain or encrypted version of the design onto the blockchain along with other data like date, designer names, company name etc. This will give the company leverage if the design gets copied by another company and also may give the designer some good visibility and publicity.
  • When the raw material is being shipped, its data, i.e the type of raw material, weight of each consignment etc can be pushed onto the blockchain. Each consignment at any stage can be assigned a unique identifier and be tracked as a separate asset in the blockchain. This will ensure accurate tracking of the raw materials in a distributed and corruption free manner.
  • The manufacturers can push the data of each item they manufactured including information about weight, material, photo, quality check information etc. This will ensure the integrity of each item manufactured by the manufacturer, prevent counterfeits as it will be unavailable in the blockchain and provide easy tracking of the inventory for themselves and for all the stakeholders that come consequently.
  • The suppliers can push the information about every purchase order into the blockchain and all relevant information pertaining to the purchase order into the blockchain. Since this provides complete traceability and visibility, it will prevent malicious parties from creating fake invoices and purchase orders, which in turn prevents theft.
  • The shipment information at every warehouse, distribution centers and delivery centers, including in-scan and dispatch can be pushed into the blockchain as one or separate transactions. The smart contract ensures a standard operating procedure at each step will prevent leakages and loss.
  • Finally, the consumer can track the journey of their beloved product in the blockchain and ensure its authenticity and originality. This will lead to the customer building a strong trust on the brand and the stakeholders in the supply chain.

The following is an oversimplified representation of how the above blockchain might look.

In the above example we follow the journey of a commodity (say Nike Shirt). Each participant in the supply chain system, creates a block of their own containing its relevant information. We know that block has relevant details of a certain entity using the Block Type. The Data in each block is common to all the blocks where the entity can fill in its data. The above is a linear blockchain, but same can be accomplished using a DAG blockchain too. The journey of each commodity on the above blockchain can be tracked using the Branch ID. The Branch ID consists of hyphenated numbers where an extra hyphen is suffixed if it is branching on that node. For example, in block n+3, different suppliers can source their product from different manufacturers. So once a supplier is branched out from a manufacturer, an extra hyphen is added to 24–1–1 and make it a 2_4–1–1–1_ indicating that it is a supplier that is supplying a subset of the 100 Nike shirts produced by a manufacturer (in the above case: 25). If another supplier is supplying from the same batch of 100 Nike shirts, then the branch ID of the block containing that data is 24–1–1–2 and so on. So if we want to trace the details of a single Nike shirt, we can simply trace it back using the branch ID, each time considering the block that has the prefix of its branch ID excluding the last number. The Branch ID is not necessary in case we are using a DAG blockchain. Please note that this is just a simplified hypothesis of how a blockchain can be used. The implementation details can vary largely according to the use case of every individual supply chain system.

How do we ensure distributed consensus?

Now the question arises, how do we store and maintain the blockchain, and more importantly, how do we achieve distributed consensus?

Each entity given above can pledge one or more blockchain nodes to participate in the blockchain. All the nodes store the entire blockchain. The blocks are created and selected using a smart contract that is publicly (within the system) accessible to all the entities. This will ensure that no code tampering occurs by any entity. When a block is being pushed by an entity, any or all nodes in the blockchain can try to mine the block. The algorithm in which the miner is selected can be on any consensus algorithm, although the proof-of-stake appears to be a more energy efficient method for this. The reward system for the miners is out of scope of this article and can vary differently according to the implementation. This can also be done using a smart contract. Once the miner is selected, the blockchain can be extended using the mined block and all the nodes in the blockchain will store the new blockchain and propagate to other nodes. Since each entity in the system participates in the mining process to create the blockchain, this ensures transparency within the system.

The problem of data security

It is not required that all entities need access to the entire data on the blockchain. Some data is meant to be hidden from other entities and only made available to particular entities. For example, the customer need not know manufacturing details, supplier details or warehouse management details. Exposing only the designer details, raw material sourcing details, serviceability details and tracking details is fair enough for the customer. To achieve this, we can make the entities push only encrypted data and expose a key dispatching API outside of the blockchain, with which the concerned entities can decrypt only allowed data from the blockchain. The blockchain is still available for all entities to be viewed to ensure transparency, but certain data is only available for specific entities of the blockchain.

Conclusion

Blockchain is a powerful tool to solve various problems across sectors that involves transparency, tracking and distributed consensus. Since success in supply chain management involves solving all of the above problems, blockchain is an excellent tool to leverage in this system.

ホーム - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-27 19:09
浙ICP备14020137号-1 $お客様$