An Anti-Counterfeit and Traceable Management System for Brand Clothing with Hyperledger Fabric Framework
Abstract
:1. Introduction
1.1. Background
1.2. Related Works
2. Preliminary
2.1. Blockchain
2.2. Hyperledger Fabric
2.3. Elliptic Curve Digital Signature Algorithm (ECDSA)
- User A generates a random number based on the ECDSA algorithm, uses points to calculate the public key .
- User A calculates the hash value of the message : .
- User A calculates the eigenvalues of an elliptic curve , of which , ( is the multiplicative inverse of the modulus of ).
- is the digital signature of user A. User A sends the elliptic curve parameters and User A’s public key to User B for verification of the correctness of the signature.
- User B calculates the hash value of the message : .
- Calculation and .
- The calculation , if then the signature is validated.
2.4. Smart Contract
2.5. BAN Logic
2.6. Threat Model
- Mutual authentication: the current internet environment is due to the network nature of blockchain. Participants need to authenticate with each other to determine whether they are receiving correct and secure messages. This feature comes about precisely because of the decentralized blockchain network. This also allows the communication between the two in the blockchain network to be secure and guaranteed.
- Data integrity: when using the system for transactions, all data present in the system must be processed in an integrated manner. The system must ensure the integrity of the data when conducting transactions and the system must ensure that the data cannot be tampered with by anyone when it is transmitted and stored.
- Non-repudiation: the transactions in the blockchain network are transmitted and stored through the chain code; therefore, to perform anti-counterfeiting and traceability verification, all transactions must be verified by an ECDSA digital signature to ensure the non-repudiation of the data. The deployment of the chain code ensures that the data have a non-repudiation effect and it makes the information more secure.
- Known attack problems: blockchain networks are also subject to attacks by illegal nodes and illegal persons, which contain different types of attacks.
- (1).
- Man-in-the-middle attacks: in a blockchain network, when the sender communicates with the receiver, an attacker performs a man-in-the-middle attack by intercepting messages during the communication process. The specific process is: the attacker intercepts the message sent by the sender to the receiver and tampers with the message content. The attacker sends the altered message to the receiver instead of the sender to perform the man-in-the-middle attack.
- (2).
- Replay attack: an attacker will resend the data obtained after eavesdropping on the sender to the receiver untouched. The attacker does not need to know the exact meaning of the data, but only know what the data do to attack the receiver, by sending the data again without knowing its content.
3. Proposed Scheme
3.1. System Architecture
- Brand company (BC): the brand clothing company. This role manages and determines the design and production of clothing. The production of brand clothing requires a license from the company. The supply chain only works when the brand clothing company decides to produce the clothing.
- Material supplier (MS): this role provides the raw materials for the production of clothing products. The BC will first send the production license of the clothing and the transaction information of all types of orders to MS, which will provide the raw materials according to the orders and keep a record of the origin of the raw materials.
- Manufacturer (MF): first, the MF receives the raw materials and order information from the MS. The MF is then responsible for processing the raw materials into garments. MF will inlay the unique identification code on each garment. Each piece of clothing corresponds to a unique identification code. Domestic and foreign customers can scan the identification code through the client interface to enter the blockchain network to query the information of the brand clothing.
- Retailer (R): the retailer will receive the garments from the manufacturer, confirm the order information, return it to the MF, and sell the garments to the customer, and then upload the transaction information to the blockchain.
- Customer (CU): the customer can use the mobile app or scan the code to see all of the information about the product. Moreover, the CU could inspect the entire production process of a finished product.
- Blockchain center (BCC): a Hyperledger Fabric-based blockchain framework that detects the legitimacy of participants. Moreover, it will record various information uploaded to the blockchain by participants.
- Third Party (TP): all transactions can be accessed by linking to the blockchain network, regardless of whether the clothing is at the design stage, the raw material supply stage, the clothing design stage, or the retail stage. All information can be accessed to detect counterfeit or illegal branded products.
- Step 1.
- This step is the registration phase for each role in the system. All participants in the clothing brand company (BC), material supplier (MS), manufacturer (MF), retailer (R), customer (CU), and third party (TP) need to be authenticated at the CA node in the blockchain network. After passing authentication, the roles can exchange information through the channel.
- Step 2.
- When the BC wants to produce clothes, the BC first sends the production certificate, raw material order, and the production plan to the MS. The MS confirms the production information and starts to collect the raw material, and the MS sends a response message to BC when it is finished. BC uploads the relevant information to the blockchain center through the sorting node and updates the local ledger after ensuring the ordering information is correct.
- Step 3.
- When the MS prepares raw materials for garment production, it will send the raw materials and production information to the MF, which will compare the production information with the raw materials received in reality to ensure the legitimacy of the data, and send a response message to the MS. When the MF processes the raw materials into garments, it will mark a unique identification code on each garment, and the CU can check the information of the garments on the blockchain, according to the identification code.
- Step 4.
- The R will send the order to the MF, which will confirm the order from the R, provide the garment based on the order information, upload the confirmed order information to the blockchain center, and then send the garment and certificate to the R. After confirming that the garment information is the same as the order, the R will return the confirmed information to MF.
- Step 5.
- The CU can purchase brand clothing through the R. After the R determines the transaction information applied by the CU, it will upload the transaction information to the blockchain center. At this point, the whole supply chain ends, and all data will be operated on the chain at various stages, and the integrity of the data will be guaranteed.
- Step 6.
- The CU can use the identification code on the garment to join the blockchain network with an app or client to check the garment’s production process and raw material information. If the CU finds out that he/she has purchased a counterfeit garment, he/she can submit an arbitration application with a third party.
- Step 7.
- The third party will go to the blockchain center to examine the information based on the arbitration request provided by the CU for each transaction and operation in the supply chain, and check whether the name-brand clothing is correct or not in the supply chain during the process. The legitimacy and validity of the brand clothing can be verified by examining the signature information of each department.
3.2. Hyperledger Fabric Detailed Transaction Information Flow
3.3. Initialization Phase
3.4. Registration Phase
- Step 1.
- The name is generated for all roles (Roles X) participating in the anti-counterfeit and traceable management system. The generated is then sent through the application to the CA nodes in the blockchain network for registration and verification, for the legitimacy of their identities.
- Step 2.
- The CA node in the blockchain network generates the private key based on the system role and calculate the public key :After verifying the registration of all system roles, the chain code Algorithm 1 is triggered. The CA node sends the generated to Roles X.
Algorithm 1. A scheme for a chain code registration. var X[]Roles X
func Registration (X_name string, X_detail string, var X_role RoleType) (C_ID string) {
C_ID = GenerateUniqueID()
X = append (X, Roles X{
ID: C_ID,
Name: X_name,
Detail: X_detail,
Role: X_role,
})
return C_ID
} - Step 3.
- The role in the system receives its signature message parameter and stores it.
3.5. Clothing Design Phase
Algorithm 2. A scheme for a communication protocol. |
func Sign (h string,k string, d string)(r string, s string){ (x,y) = k*G; r = x%n s = (h + r*d)/x%n return r,s } func Verify(h string,r string,s string)(result string){ u1 = h/s%n u2 = r/s%n (x,y) = u1*G + u2*Q If x = r{ return “valid” }else{ return “invalid” } } |
Algorithm 3. Chain code of the clothing design phase. |
func BrandCompany (ID_BC string, ID_MS string, C_INF string, C_IDs []string, Signature string) { for i:= 0; i < C_IDs.Length; i++ { index:= SearchC_ID(C_IDs[i]); TP[index].Clothing_Detail.BrandCompany_ID = ID_BC TP[index].Clothing_Detail..Clothing_information = C_INF TP[index].Clothing_Detail.Create_Datetime = time.Now() TP[index].Clothing_Detail.MaterialSupplier_ID = ID_MS TP[index].Clothing_Detail.BC_Signature = Signature } } func MaterialSupplier (ID_BC string, ID_MS string, MSname string, C_IDs []string, Signature string) { for i:= 0; i < C_IDs.Length; i++ { index:= SearchC_ID(C_IDs[i]); TP[index].Clothing_Detail.MaterialSupplier_ID = ID_MS TP[index].Clothing_Detail.MaterialSupplier_Factory_Name =MSname TP[index].Clothing_Detail. MaterialSupplier_Datetime = time.Now() TP[index].Clothing_Detail.BrandCompany_ID = ID_BC TP[index].Clothing_Detail.MS_Signature = Signature } } |
- Step 1.
- When the BC wants to produce branded clothes, the MS needs to be provided with information on the raw materials required for the production of branded clothes as well as product information. The BC randomly selects a random number and generates a message containing a list of :The BC calculates its hash value and executes the “Sign” algorithm used to generate the signature ; The “Sign” algorithm is shown in Algorithm 2:Its generated encrypted messages is encrypted by the MS public key:Then BC executes the chain code function “BrandCompany”, and the algorithm is shown in Algorithm 3. Send the message to the MS.
- Step 2.
- The MS receives the above message at a time and first decrypts the message with its private key:Subsequently, MS verifies the validity of the timestamp:The MS then uses “Verify” in Algorithm 2 to compute the hash value to verify the message:If the signature is valid, MS executes the chain code function “MaterialSupplier” with the algorithm shown in Algorithm 3. The MS will provide raw material and update the local ledger based on the transaction information in the encrypted message . The MS randomly selects a random number for generating the response message:The MS calculates its hash value and executes the “Sign” algorithm in Algorithm 2 to generate the signature :Its generated encrypted messages are encrypted by the BC’s public key:Send the response message to the BC.
- Step 3.
- The BC receives the response message and first decrypts the message with the private key:The validity of the timestamp is then confirmed by comparing:The BC verifies the message by computing the hash value of “Verify” in Algorithm 2:If the signature is valid, the BC updates the response message from the MS to its book, and the BC executes the chain code function “BrandCompany” with the algorithm shown in Algorithm 3.
3.6. Clothing Production Phase
Algorithm 4. Chain code of clothing production phase. |
func MaterialSupplier (ID_ MS string, ID_MF string, MSname string, C_IDs []string, Signature string) { for i:= 0; i < C_IDs.Length; i++ { index:= SearchC_ID(C_IDs[i]); TP[index].Clothing_Detail.MaterialSupplier_ID = ID_MS TP[index].Clothing_Detail.MaterialSupplier_Factory_Name =MSname TP[index].Clothing_Detail. MaterialSupplier_Datetime = time.Now() TP[index].Clothing_Detail. Manufacturer _ID = ID_MF TP[index].Clothing_Detail.MS_Signature = Signature } } func Manufacturer (ID_ MF string, ID_MS string, MFname string, C_IDs []string, Signature string) { for i:= 0; i < C_IDs.Length; i++ { index:= SearchC_ID(C_IDs[i]); TP[index].Clothing_Detail.Manufacturer_ID = ID_MF TP[index].Clothing_Detail.Manufacturer _Factory_Name =MSname TP[index].Clothing_Detail.Manufacturer _Datetime = time.Now() TP[index].Clothing_Detail.MaterialSupplier _ID = ID_MS TP[index].Clothing_Detail.MF_Signature = Signature } } |
- Step 1.
- The MS provides raw materials for branded apparel to the MF for manufacturing branded clothing based on production information provided by the BC, and the MS needs to provide raw material information and production information for branded clothing to the MF. The MF produces clothes based on raw materials received in real life. The MS randomly selects a random number and generates a message containing a list of :The MS calculates its hash value and executes the “Sign” algorithm in Algorithm 2 to generate the signature :Its generated encrypted messages are encrypted by the MF’s public key:Then, the MS executes the chain code function “MaterialSupplier”; the algorithm is shown in Algorithm 4. Send the production-related information of the branded clothing to MF .
- Step 2.
- The MF receives the above message and first decrypts the message with its private key:Subsequently, the MF checks the validity of the timestamp:The MF then verifies the message by calculating the hash value with “Verify” in Algorithm 2:If the signature is valid, the MS updates the local ledger with the transaction information in the encrypted message . The MF executes the chain code function “Manufacturer” with the algorithm shown in Algorithm 4. After the manufacturing of the designer clothes is completed, the MF sends a response message to the MS. The MF randomly selects a random number for generating the response message:The MF calculates its hash value and executes the “Sign” algorithm in Algorithm 2 to generate the signature :Its generated encrypted messages are encrypted by the MS public key:Send the response message to the MS.
- Step 3.
- The MS receives the response message and first decrypts the message with the private key:The validity of the timestamp is then confirmed by calculating:The MS verifies the message by calculating the hash value of “Verify” in Algorithm 2:If the signature is valid, the MS updates the MF’s response message to its book, and the MS executes the chain code function “MaterialSupplier” with the algorithm shown in Algorithm 4.
3.7. Clothing Distribution Phase
Algorithm 5. Chain code of the clothing distribution phase. |
func Manufacturer (ID_ MF string, ID_R string, MFname string, C_IDs []string, Signature string) { for i:= 0; i < C_IDs.Length; i++ { index:= SearchC_ID(C_IDs[i]); TP[index].Clothing_Detail.Manufacturer_ID = ID_MF TP[index].Clothing_Detail.Manufacturer _Factory_Name = MSname TP[index].Clothing_Detail.Manufacturer _Datetime = time.Now() TP[index].Clothing_Detail.MaterialSupplier _ID = ID_MS TP[index].Clothing_Detail.MF_Signature = Signature } } func Manufacturer (ID_ R string, ID_MF string, R_sell_datetime string, C_IDs []string, Signature string) { for i:= 0; i < C_IDs.Length; i++ { index:= SearchC_ID(C_IDs[i]); TP[index].Clothing_Detail.Retailer_ID = ID_MF TP[index].Clothing_Detail.Retailer _Sell_Datetime = R_sell_datetime TP[index].Clothing_Detail.Retailer _Datetime = time.Now() TP[index].Clothing_Detail.Retailer _ID = ID_R TP[index].Clothing_Detail.R_Signature = Signature } } |
- Step 1.
- The MF processes and manufactures the raw materials based on the raw material and production information provided by the MS, and sends the manufactured branded clothes to retailers for sale. The MF needs to provide branded clothing products and information on the production of branded clothing to the R. The R sells branded clothes based on the received in real life. MF randomly selects a random number and generates a message containing a list of .The MF calculates its hash value and executes the “Sign” algorithm in Algorithm 2 to generate the signature :Its generated encrypted messages are encrypted by the R’s public key:Then, the MF executes the chain code function “Manufacturer”; the algorithm is shown in Algorithm 5. Send the information related to the production of brander clothes to the R.
- Step 2.
- The R receives the above message and first decrypts the message with its private key:The R will then check the validity of the timestamp:Then, the R verifies the message by calculating the hash value with “Verify” in Algorithm 2:If the signature is valid, the R updates the local ledger based on the transaction information in the encrypted message . The R executes the chain code function “Retailer” with the algorithm shown in Algorithm 5. After the retailer receives the branded clothes products from the manufacturer, the R sends a response message to the MF. The R randomly selects a random number for generating the response message:The R calculates its hash value and executes the “Sign” algorithm in Algorithm 2 to generate the signature :Its generated encrypted messages is encrypted by the MF’s public key:Send the response message to the MF.
- Step 3.
- The MF receives the response message and first decrypts the message with the private key:Then to confirm the validity of the timestamp:The MF verifies the message by calculating the hash value of “Verify” in Algorithm 2:If the signature is valid, the MF updates the response message from the R to its book, and the MF performs the chain code function “Manufacturer” to the chain and updates the book information; the algorithm is shown in Algorithm 5.
3.8. User Authentication Phase
- Step 1.
- Customers use the application to search for consumption information, such as the number of the designer apparel (C_ID), the designer apparel company logo, the manufacturer logo, and the purchase time stamp.
- Step 2.
- The client can call the GetHistoryForKey () method of the ChaincodeStubInterface interface to query its history. Its chain code algorithm is shown in Algorithm 6 to query the ledger.
Algorithm6. Call the chaincode to query the ledger |
historyIter, err := stub.GetHistoryForKey(yourKey) if err != nil { fmt.Println(errMsg) return shim.Error(errMsg) } if historyIter.HasNext() { modification, err := historyIter.Next() if err != nil { fmt.Println(errMsg) return shim.Error(errMsg) } fmt.Println(“Returning information related to”, string(modification.Value)) |
- Step 3.
- If the C_ID provided by the client is legitimate and valid, then the blockchain center will return the ledger information associated with it. If the C_ID provided cannot be queried in the blockchain center’s ledger, we could confirm it is an illegally counterfeited brand-name clothing item.
- Step 4.
- The APP program displays the results of the chain code, in which consumers can get the legitimacy and production information of the branded clothing products to confirm whether they are buying the legal and correct goods.
3.9. Arbitration Phase
- Step 1.
- All participants provide information, such as the number (C_ID) and signature message of the designer apparel to the third party to query and verify the legitimacy of the designer apparel.
- Step 2.
- The third party sends a request with the participant’s signature information and C_ID to the blockchain center via its C_ID.
- Step 3.
- The blockchain center verifies the legitimacy of its signature and returns a list of its corresponding messages if it is legitimate.
- Step 4.
- The third party checks the signature and the steps are:
- The third party will first collect signatures and data.
- Check the signature of the retailer (R), and if the R’s signature is illegal, determine that the R falsified the record.
- If the signature of the retailer (R) is legal, the signature of the manufacturer (MF) is examined, and if the MF’s signature is illegal, the MF is judged to have falsified the record.
- After the signature of the manufacturer (MF) is deemed legal, the signature of the material supplier (MS) is checked, and if the signature of the MS is illegal, the MS is judged to have falsified the record.
- If the signature of the material supplier (MS) is legal, then inspect the signature of the brand company (BC), and if the BC’s signature is illegal, determine that the BC falsified the record. If all signatures are valid and legal, the third party determines that there are no illegal records.
4. Security Analysis
4.1. Mutual Authentication
believes (belief rule) | |
sees (seeing rule) | |
once said (message meaning rule) | |
has jurisdiction over (jurisdiction rule) | |
The message is new (freshness rule) | |
The message is encrypted by a key | |
and use a shared key to communicate |
- User B authenticates User ABy M1 and the seeing rule, we can derive:(Statement 1)By A2 and the freshness rule, we can derive:(Statement 2)By (Statement 1) and the message meaning rule, we can derive:(Statement 3)By (Statement 2), (Statement 3), and the nonce verification rule, we can derive:(Statement 4)By (Statement 4) and the belief rule, we can derive (G4):(Statement 5)By (Statement 5), A6, and the jurisdiction rule, we can derive (G3):(Statement 6)By (Statement 4) and the belief rule, we can derive (G8):(Statement 7)By (Statement 7), A8, and the belief rule, we can derive (G7):(Statement 8)
- User B authenticates User ABy M2 and the seeing rule, we can derive:(Statement 9)By A3 and the freshness rule, we can derive:(Statement 10)By (Statement 9) and the message meaning rule, we can derive:(Statement 11)By (Statement 10), (Statement 11) and the nonce verification rule, we can derive:(Statement 12)By (Statement 12) and the belief rule, we can derive (G2):(Statement 13)By (Statement 13), A5, and the jurisdiction rule, we can derive (G1):(Statement 14)By (Statement 12) and the belief rule, we can derive (G6):(Statement 15)By (Statement 15), A7, and the belief rule, we can derive (G5):(Statement 16)
4.2. Data Integrity
4.3. Non-Repudiation
4.4. Resist Known Attacks
4.4.1. Man-in-the-Middle Attack
4.4.2. Replay Attack
4.5. Privacy Protection
4.6. Traceability and Tamper-Proof
5. Discussion
5.1. Communication Analysis
5.2. Computation Cost
5.3. Blockchain Architecture Comparison
5.4. Comparison
6. Conclusions
- We propose a Hyperledger Fabric-based anti-counterfeit management system for traceable branded clothing, which provides a comprehensive plan for the design, production, distribution, and sale of branded clothing. It ensures the security of the data in the supply chain.
- With the chain code algorithm to maintain and constrain the ledger, designer apparel products are difficult to forge by malicious attackers.
- The identity verification stage is designed in the supply chain to stop counterfeit substitution by illegal companies for the production process.
- A unique identification code is added for customers to check and analyze the authenticity of clothing, and for facilitates to query and update the data in the blockchain.
- We use BAN logic to prove the security of inter-company authentication.
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Notations
The Identity of | |
is the ith identity of brand clothes for each brand clothing | |
is a set of | |
The elliptic curve defined on finite group | |
A generating point based on the elliptic curve | |
The ith random value on the elliptic curve | |
The ECDSA’s private key of the party | |
The ECDSA’s public key of the party | |
Elliptic curve signature value of | |
An ECDSA signature value of | |
Encrypt/decrypt the message with a public key or private key of the party | |
The hash value of a message is calculated by a one-way hash function | |
The ith hash value of | |
The ith timestamp | |
The threshold for checking the validity of a timestamp | |
The message (clothing information and create datetime) from the brand company | |
The message (material supplier datetime and material supplier name) from the material supplier | |
The message (manufacturer datetime and manufacturer name) from the manufacturer | |
The message (retailer datetime, retailer sell datetime, retailer name, and clothing price) from the retailer | |
Verify if is equal to or not |
References
- Modgil, S.; Sonwaney, V. Planning the application of blockchain technology in identification of counterfeit products: Sectorial prioritization. IFAC-Pap. Line 2019, 52, 1–5. [Google Scholar] [CrossRef]
- Counterfeit Luxury Goods|World Trademark Review. Available online: https://www.worldtrademarkreview.com/anti-counterfeiting/counterfeit-luxury-goods (accessed on 20 September 2021).
- What Impact Do Counterfeits Have on the Fashion Industry? Available online: https://www.redpoints.com/blog/fashion-counterfeit-impact/ (accessed on 20 September 2021).
- Li, C.T.; Shih, D.H.; Wang, C.C.; Chen, C.L.; Lee, C.C. A blockchain based data aggregation and group authentication scheme for electronic medical system. IEEE Access 2020, 8, 173904–173917. [Google Scholar] [CrossRef]
- Ding, Q.; Gao, S.; Zhu, J. Permissioned blockchain-based double-layer framework for product traceability system. IEEE Access 2019, 8, 6209–6225. [Google Scholar] [CrossRef]
- Rui-lin, Z. Research on anti-counterfeiting technology for clothing. Silk 2011, 11, 26–28. [Google Scholar]
- Alzahrani, N.; Bulusu, N. Block-supply chain: A new anti-counterfeiting supply chain using NFC and blockchain. In Proceedings of the 1st Workshop on Cryptocurrencies and Blockchains for Distributed Systems, Munich, Germany, 15 June 2018; pp. 30–35. [Google Scholar] [CrossRef]
- Zhu, P.; Hu, J.; Zhang, Y. A blockchain based solution for medication anti-counterfeiting and traceability. IEEE Access 2020, 8, 184256–184272. [Google Scholar] [CrossRef]
- Bullón, P.J.; Queiruga-Dios, A.; Gayoso Martínez, V. Traceability of ready-to-wear clothing through blockchain technology. Sustainability 2020, 12, 7491. [Google Scholar] [CrossRef]
- Yiu, N.C.K. Toward Blockchain-Enabled Supply Chain Anti-Counterfeiting and Traceability. Future Internet 2021, 13, 86. [Google Scholar] [CrossRef]
- Agrawal, T.K.; Kumar, V.; Pal, R. Blockchain-based framework for supply chain traceability: A case example of textile and clothing industry. Comput. Ind. Eng. 2021, 154, 107130. [Google Scholar] [CrossRef]
- Crosby, M.; Pattanayak, P.; Verma, S. Blockchain technology: Beyond bitcoin. Appl. Innov. 2016, 2, 71. [Google Scholar]
- Chen, C.L.; Deng, Y.Y.; Li, C.T.; Zhu, S.; Chiu, Y.J.; Chen, P.Z. An IoT-based traceable drug anti-counterfeiting management system. IEEE Access 2020, 8, 224532–224548. [Google Scholar] [CrossRef]
- Schmidt, C.G.; Wagner, S.M. Blockchain and supply chain relations: A transaction cost theory perspective. J. Purch. Supply Manag. 2019, 25, 100552. [Google Scholar] [CrossRef]
- Androulaki, E.; Barger, A.; Bortnikov, V. Hyperledger fabric: A distributed operating system for permissioned blockchains. In Proceedings of the Thirteenth EuroSys Conference 2018, Porto, Portugal, 23–26 April 2018. [Google Scholar]
- Hyperledger Blockchain Performance Metrics White Paper—Hyperledger. Available online: https://www.hyperledger.org/learn/publications/blockchain-performance-metrics# (accessed on 20 September 2021).
- Valenta, M.; Sandner, P. Comparison of Ethereum, Hyperledger Fabric and Corda. Ebook Frankf. Sch. Blockchain Cent. 2017, 1–8. Available online: http://www.smallake.kr/wp-content/uploads/2017/07/2017_Comparison-of-Ethereum-Hyperledger-Corda.pdf (accessed on 23 October 2021).
- Nasir, Q.; Qasse, I.A.; Abu Talib, M. Performance analysis of hyperledger fabric platforms. Secur. Commun. Netw. 2018, 2018, 3976093. [Google Scholar] [CrossRef] [Green Version]
- Johnson, D.; Menezes, A.; Vanstone, S. The elliptic curve digital signature algorithm (ECDSA). Int. J. Inf. Secur. 2001, 1, 36–63. [Google Scholar] [CrossRef]
- Vivar, A.L.; Orozco, A.L.S.; Villalba, L.J.G. A security framework for Ethereum smart contracts. Comput. Commun. 2021, 172, 119–129. [Google Scholar] [CrossRef]
- Chen, C.L.; Deng, Y.Y.; Weng, W.; Sun, H.; Zhou, M. A Blockchain-Based Secure Inter-Hospital EMR Sharing System. Appl. Sci. 2020, 10, 4958. [Google Scholar] [CrossRef]
- Yogesh, P.R. Formal verification of secure evidence collection protocol using BAN logic and AVISPA. Procedia Comput. Sci. 2020, 167, 1334–1344. [Google Scholar] [CrossRef]
Authors | Year | Objective | Technologies | Merits | Demerits |
---|---|---|---|---|---|
Alzahrani et al. [7] | 2018 | The combination of blockchain technology and NFC technology in the internet of things is used to prevent counterfeiting of fake product technologies. | Blockchain and consensus protocol. | Blockchain technology is used to solve the disadvantages brought by centralized management and to crack down on fake and shoddy products. | No specific data flow frameworks are proposed. |
Zhu et al. [8] | 2020 | Blockchain technology is used for anti-counterfeiting traceability of the drug supply chain. | Blockchain and RFID. | Ensure the integrity of drug information management and a high level of privacy protection. | Encryption and decryption methods need improvement. |
Bullón Pérez et al. [9] | 2020 | Ensure the transparency of the supply chain, the authenticity, reliability, and integrity of clothing, and the effectiveness of the retail end product. | Blockchain and hash functions. | Use a private and open blockchain to track products. Blockchain participants are proposed for each production stage. | The specific process of clothing production is not put forward. |
Yin et al. [10] | 2021 | An NFC-enabled anti-counterfeiting system (NAS) is proposed. | Blockchain and near-field communication. | A secure and immutable scientific data provenance tracking and management platform with provenance records. | Lack of connection with actual cases for discussion. |
Agrawal et al. [11] | 2021 | Investigates and proposes a blockchain-based traceability framework for traceability in the multitier textile and clothing supply chain. | Blockchain and smart contract. | The internet of things technology and blockchain technology are combined to carry out anti-counterfeiting traceability of clothing. | The specific flow of data are not reflected. |
Item | Signature Value | Sender | Receiver | Signature Verification | |
---|---|---|---|---|---|
Phase | |||||
Clothing design phase | BC | MS | |||
MS | BC | ||||
Clothing production phase | MS | MF | |||
MF | MS | ||||
Clothing distribution phase | MF | R | |||
R | MF |
Message Length | 3G (6 Mbps) | 4G (100 Mbps) | 5G (20 Gbps) | |
---|---|---|---|---|
Registration phase | 800 bits | 133 µs | 8 µs | 0.040 µs |
Clothing design phase | 4960 bits | 827 µs | 50 µs | 0.248 µs |
Clothing production phase | 4640 bits | 773 µs | 50 µs | 0.232 µs |
Clothing distribution phase | 5300 bits | 883 µs | 53 µs | 0.265 µs |
Phase | Role A | Role B |
---|---|---|
Clothing production phase | Brand company: | Material supplier: |
Clothing production phase | Material supplier: | Manufacturer: |
Clothing distribution Phase | Manufacturer: | Retailer: |
Bitcoin | Ethereum | Hyperledger Fabric | |
---|---|---|---|
Consensus algorithm | POW | POW | Mainly for PBFT (practical byzantine fault tolerance) |
Scene | Public chain | Public chain or Federation chain | Federation chain |
Development language | C++ | GO | GO |
Smart contract | No | Yes | Yes |
Transaction per second | 7 | 25 | 100 K |
Authors | Year | Objective | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|---|
N. Alzahrani et al. [6] | 2018 | Block-supply chain: a new anti-counterfeiting supply chain Using NFC and blockchain | Y | Y | Y | Y | N |
P. Zhu et al. [7] | 2020 | A blockchain-based solution for medication Anti-counterfeiting and traceability | Y | Y | N | Y | Y |
J Bullón Pérez et al. [8] | 2010 | Traceability of ready-to-wear clothing through Blockchain technology | Y | Y | Y | N | Y |
Neo C.K. et al. [9] | 2021 | Toward blockchain-enabled supply chain Anti-counterfeiting and traceability | Y | Y | Y | Y | N |
T.K. Agrawal et al. [10] | 2021 | Blockchain-based framework for supply chain traceability: a case example Of textile and clothing industry | Y | Y | Y | N | N |
Our Scheme | 2021 | An anti-counterfeit and traceable management system for brand clothing with the Hyperledger Fabric framework | Y | Y | Y | Y | Y |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Chen, C.-L.; Shang, X.; Tsaur, W.-J.; Weng, W.; Deng, Y.-Y.; Wu, C.-M.; Cui, J. An Anti-Counterfeit and Traceable Management System for Brand Clothing with Hyperledger Fabric Framework. Symmetry 2021, 13, 2048. https://doi.org/10.3390/sym13112048
Chen C-L, Shang X, Tsaur W-J, Weng W, Deng Y-Y, Wu C-M, Cui J. An Anti-Counterfeit and Traceable Management System for Brand Clothing with Hyperledger Fabric Framework. Symmetry. 2021; 13(11):2048. https://doi.org/10.3390/sym13112048
Chicago/Turabian StyleChen, Chin-Ling, Xin Shang, Woei-Jiunn Tsaur, Wei Weng, Yong-Yuan Deng, Chih-Ming Wu, and Jianfeng Cui. 2021. "An Anti-Counterfeit and Traceable Management System for Brand Clothing with Hyperledger Fabric Framework" Symmetry 13, no. 11: 2048. https://doi.org/10.3390/sym13112048
APA StyleChen, C. -L., Shang, X., Tsaur, W. -J., Weng, W., Deng, Y. -Y., Wu, C. -M., & Cui, J. (2021). An Anti-Counterfeit and Traceable Management System for Brand Clothing with Hyperledger Fabric Framework. Symmetry, 13(11), 2048. https://doi.org/10.3390/sym13112048