# Application of Blockchain Technology in Value Chain of Procurement in Manufacturing Enterprises

Authors: Yang Wang; Sichun Men; Tingting Guo
Journal: Wireless Communications and Mobile Computing
 (2021)

---

## Abstract

Blockchain technology, as a database which combines encryption algorithm, smart contract, consensus mechanism, time stamp, and other technologies, has received wide attention from all walks of life and can be used to solve such problems as asymmetric, incomplete, and untimely information in both interenterprise transactions and enterprise internal control management as a good solution owing to its characteristics of decentralization, traceability, and tamper-proofness. Consequently, it is worthy of studying how to apply blockchain technology to daily business activities of enterprises. In this paper, some problems existing in the value chain activities of the enterprise internal procurement are analyzed by designing the solutions to requisition, warehousing, and payment based on blockchain technology, in which the Hyperledger Fabric platform is selected as an implementation tool to simulate some purchasing data for testing procedures. After the successful test, the research conclusions and research prospects of this paper are thus proposed, proving the feasibility of applying the blockchain technology to the internal value chain management of the enterprise, which provides reference for the construction of the internal value chain management of the enterprise by the blockchain.


---

## Body

## 1. Introduction

In 2008, the concept of blockchain was first proposed in “Bitcoin: A Peer-to-Peer Electronic Cash System” published by Satoshi Nakamoto who believed that blockchain technology can be applied in fields such as financial technology and business development [1]. The first large-scale and well-known typical application of blockchain technology is Bitcoin that has been popular in recent years. Blockchain provides a very valuable idea for people to create a mechanism of detrust. Although people can now transmit data and information on the Internet, the information that can ensure value still needs a reliable and trusted central organization, such as banks and stock exchanges. The emergence of blockchain has a great impact on people’s existing concepts, and the creation of detrust information transmission circles has been supported by more and more scholars. As of the beginning of 2019, there are more than 20,000 companies involved in blockchain business in China, and more than 500 listed companies with shares have published businesses related to blockchain.Blockchain, as an emerging database technology, is open and traceable in peer-to-peer data communication, in which each node consciously maintains the authenticity and integrity of ledgers, which makes blockchain technology have unique advantages in accounting and auditing. Besides Internet finance, blockchain technology currently has been applied in many other fields such as Internet of Things [2], transportation [3], and supply chain management [4] and has shown great prospects [5]. The internal control of an enterprise covers the organizations, plans, procedures, and methods for various restrictions and adjustments implemented within the unit in order to improve the operation efficiency, fully and effectively obtain and use various resources, and achieve the established management objectives. With the continuous improvement of blockchain technology, whether it can be applied in enterprise internal control is a question worthy of study. In this paper, blockchain technology will be used to design a set of internal control optimization scheme based on enterprise purchasing value chain to verify the feasibility of blockchain application in enterprise internal management process and to provide reference for the enterprise to solve the problems of execution efficiency and information distortion.


## 2. Value Chain in Traditional Procurement

At present, the purchase and payment process of an enterprise, whether it is the requisition, warehousing, or payment, needs to be approved by the departments step by step. For example, the procurement application process needs to be approved level by level, from the initiator of the application department to the head of the application department, to the head of the warehouse management department and relevant departments, then to the deputy general manager in charge of approval, and finally to the top authority. The whole process is too complicated and tedious to guarantee efficiency. Upon the arrival of goods, the warehousing department will check the quantity and quality according to the purchase order and warehouse them after inspection. In this process, it is only the warehousing department that determines whether the quantity and quality of the goods meet the purchase standards or not [6]. In terms of raw material quality, the employees of the warehousing department can not judge the quality of goods to a high degree due to professional reasons, but it is too late to find slight defects in raw materials until the production staff carries out production. In terms of raw material quantity, the staff of warehousing department may not find the shrinkage of quantity in time if they do not inspect the quantity rigorously or even substitute the inferior products for the superior ones without authorization, which seriously damages the interests of the enterprise [7]. In addition, whether intentionally or unintentionally, accounting fraud occurs from time to time, and there are always cases of accounting information fraud in the procurement process, such as fraud in procurement contracts, fictitious purchasing transaction, improper inventory losses and gains, and inaccurate related document information, which seriously affects the normal interests of the enterprise and increases the workload of auditors [8].In the above processes, the confirmation of purchase plan, acceptance and warehousing of raw materials, and payment are prone to errors in the internal procurement and payment of enterprises. Therefore, the solution that conforms to blockchain logic is designed for some problems that appear in these three processes at present.


## 3. Design Ideas for Solutions

Blockchain technology has the characteristics of partial decentralization, tamper-proof modification, traceability, and detrust, which should be met in the purchasing business information when designing solutions [9].


### 3.1. Partial Decentralization of Business Information

In traditional procurement, business is carried out through a longitudinal approval process between departments, each of which has its own authority and only maintains its own information as a center. Each department has its own node in the consortium blockchain which is established between departments and departments by using the blockchain technology, and all the nodes can freely enter the channel according to the business classification to exchange relevant information. Each transaction can only be executed with endorsement of all nodes in the business channel to achieve partial decentralization, so that all nodes can maintain a set of ledgers together [10]. Therefore, the following partial decentralization needs are put forward:
(1)
Reasonable node setting, including reasonable number and distribution of nodes. Although the more nodes are able to bring higher security, the maintenance cost gets higher and the consensus speed gets slower. The cost, transaction speed, and security should be considered when setting the number of nodes. Nodes should not concentrate on a particular trading participant but should be reasonably distributed [11](2)
Each node can communicate with each other(3)
Each node jointly maintains a set of ledgers


### 3.2. Tamper-Proofness of Business Information

In traditional enterprise internal information management, information of various businesses can be revised after auditing or, in serious cases, directly revised without canceling audits, which is unfavorable for the maintenance of enterprise information [12]. The following tamper-proofness requirements are therefore proposed:
(1)
Each node can query the relevant information on the ledgers(2)
Each node cannot hide the business information that has happened(3)
Each node cannot modify the business information that has happened separately(4)
The information available to each node should be consistent


### 3.3. Traceability of Business Information

The traceability of business information is not only the guarantee of business development but also the important safeguard of querying historical information. Therefore, the following integrity requirements are proposed:(1)
Record the requisition completely, including the name, quantity, unit price, supplier, latest payment date, and payment method of raw material(2)
Record the warehousing information completely, including whether the quantity of raw materials is accurate and the quality meets the standards(3)
Record payment information completely, including name of counterparty, payment amount, and payment date


### 3.4. Authenticity of Business Information

The authenticity of business information is the basis of enterprise accounting and the basic requirement to ensure the quality of accounting information. Therefore, the following authenticity requirements are proposed:(1)
Record the requisition truly, including the name, quantity, unit price, supplier, latest payment date, and payment method of raw material(2)
Record the warehousing information truly, including whether the quantity of raw materials is accurate and the quality meets the standards(3)
Record payment information truly, including name of counterparty, payment amount, and payment date


## 3.1. Partial Decentralization of Business Information

In traditional procurement, business is carried out through a longitudinal approval process between departments, each of which has its own authority and only maintains its own information as a center. Each department has its own node in the consortium blockchain which is established between departments and departments by using the blockchain technology, and all the nodes can freely enter the channel according to the business classification to exchange relevant information. Each transaction can only be executed with endorsement of all nodes in the business channel to achieve partial decentralization, so that all nodes can maintain a set of ledgers together [10]. Therefore, the following partial decentralization needs are put forward:
(1)
Reasonable node setting, including reasonable number and distribution of nodes. Although the more nodes are able to bring higher security, the maintenance cost gets higher and the consensus speed gets slower. The cost, transaction speed, and security should be considered when setting the number of nodes. Nodes should not concentrate on a particular trading participant but should be reasonably distributed [11](2)
Each node can communicate with each other(3)
Each node jointly maintains a set of ledgers


## 3.2. Tamper-Proofness of Business Information

In traditional enterprise internal information management, information of various businesses can be revised after auditing or, in serious cases, directly revised without canceling audits, which is unfavorable for the maintenance of enterprise information [12]. The following tamper-proofness requirements are therefore proposed:
(1)
Each node can query the relevant information on the ledgers(2)
Each node cannot hide the business information that has happened(3)
Each node cannot modify the business information that has happened separately(4)
The information available to each node should be consistent


## 3.3. Traceability of Business Information

The traceability of business information is not only the guarantee of business development but also the important safeguard of querying historical information. Therefore, the following integrity requirements are proposed:(1)
Record the requisition completely, including the name, quantity, unit price, supplier, latest payment date, and payment method of raw material(2)
Record the warehousing information completely, including whether the quantity of raw materials is accurate and the quality meets the standards(3)
Record payment information completely, including name of counterparty, payment amount, and payment date


## 3.4. Authenticity of Business Information

The authenticity of business information is the basis of enterprise accounting and the basic requirement to ensure the quality of accounting information. Therefore, the following authenticity requirements are proposed:(1)
Record the requisition truly, including the name, quantity, unit price, supplier, latest payment date, and payment method of raw material(2)
Record the warehousing information truly, including whether the quantity of raw materials is accurate and the quality meets the standards(3)
Record payment information truly, including name of counterparty, payment amount, and payment date


## 4. Design Content of the Solution

### 4.1. Design Content of Business Process Solution

In the requisition process, the purchasing department, warehousing department, and finance department are responsible for the ledger maintenance of the requisition business. The requisition plan determined by the purchasing department no longer needs to be examined and approved in the order of the warehousing department and the financial department; instead, it is approved by each department simultaneously for the content related to the department in each business information and endorsed by default for other information. After determining the purchase plan, the purchasing department initiates the purchase request and sends the purchase information to the warehousing department and the financial department. Each party writes the initial purchase information into the temporary ledger. The purchasing department, as the business initiator, approves all the contents of the requisition information by endorsement. The warehousing department examines and approves the quantity and specifications of raw materials in the requisition information on the basis of the actual inventory quantity and the production plan for a certain period of time in the future. After approval, it agrees to endorse and other information is agreed by default. The finance department approves the amount of requisition, the latest payment date, and the payment method in the requisition information based on the future cash flow of the enterprise and then agrees to endorse after the approval, while other information is agreed by default. After all of them are agreed, the initial requisition information will be written into the blockchain ledger. If a return or discount occurs, which is equivalent to a negative requisition, the quantity or unit price of the purchase will be negatively counted and the business process will proceed as described above. The flow chart is as shown in Figure1.Figure 1
Flow chart of the requisition process.In the warehousing process, the purchasing department, warehousing department, and quality control department are responsible for the ledger maintenance of the warehousing business. After the arrival of raw materials, the purchasing department, warehousing department, and quality control department inspect the raw material information jointly, and each department simultaneously approves the content related to this department in each of business information and approves other information by default by endorsement. The warehousing department initiates the warehousing request after the arrival of raw materials and sends the warehousing information to the purchasing department and the quality control department. Each party writes the initial warehousing information into the temporary ledger. The warehousing department, as the business initiator, approves all the contents of the warehousing information by endorsement. The purchasing department examines and approves the quantity, specifications, and quality of raw materials in the warehousing information according to the contract. After approval, it agrees to endorse and other information is agreed by default. Then, the quality control department examines and approves the quantity, specifications, and quality of raw materials in the warehousing information according to the contract. After approval, it agrees to endorse and other information is agreed by default. After all of them are agreed, the initial warehousing information will be written into the blockchain ledger. If a return or discount occurs, which is equivalent to a negative requisition, the quantity or unit price of the raw materials to be warehoused will be negatively counted and the business process will proceed as described above. The flow chart is as shown in Figure2.Figure 2
Flow chart of the warehousing process.In the payment process, the purchasing department, warehousing department, and finance department are responsible for the ledger maintenance of the payment business. The finance department initiates payment request according to the contract amount before the date specified in the contract. Each department simultaneously approves the content related to this department in each payment information and approves other information by default by endorsement. Then, the finance department issues a payment request when it is ready to make a payment before the payment deadline and sends the initial payment information to the purchasing department and the warehousing department. The finance department, as the business initiator, approves all the contents of the payment information by endorsement. The purchasing department examines and approves whether the payment amount conforms to the purchasing contract. After approval, it agrees to endorse and other information is agreed by default. The warehousing department examines and approves whether the payment amount is in line with the warehouse entry. After approval, it agrees to endorse and other information is agreed by default. After all of them are agreed, the initial payment information will be written into the blockchain ledger. If a return or discount occurs, which is equivalent to a negative requisition, the quantity or unit price of the raw materials to be paid will be negatively counted and the business process will proceed as described above. The flow chart is as shown in Figure3.Figure 3
Flow chart of the payment process.


### 4.2. Design Content of Consensus Mechanism

The most important part of the creation of the chain code is the formation of a consensus mechanism, which is the main content of the chain [13]. At present, the well-known consensus mechanisms mainly include proof of work (PoW), proof of stake (PoS), and Delegated Proof of Stake (DPoS) [14], which are limited to the application in public blockchains and can not solve the dependence on virtual tokens, so they can not be well applied to the design of consensus mechanism within enterprises. Since consensus mechanisms can be designed separately in the design of consortium blockchains and private blockchains, taking into account the true operating principle within the enterprise that a business must be completed with the consent of all departments or personnel involved, this paper uses a full consensus mechanism to complete the processing of related business, that is, the initiation of each business must be carried out with the endorsement consent of all endorsement nodes involved in the business. The design basis of the consensus mechanism is as follows:The consensus mechanism of requisition uses the full consensus mechanism, i.e., the initialization, change, completion, and cancellation of requisition need to be endorsed by all endorsement nodes before they can be written into the blockchain ledger. The detailed flow chart is shown in Figure4.Figure 4
Consensus process of requisition.The consensus mechanism of warehousing uses the full consensus mechanism, i.e., the initialization, change, completion, and cancellation in the warehousing information need to be endorsed by all endorsement nodes before they can be written into the blockchain ledger. The detailed flow chart is shown in Figure5.Figure 5
Consensus process of warehousing requisition.The consensus mechanism of payment uses the full consensus mechanism, i.e., the initialization, change, completion, and cancellation of payment in the payment information need to be endorsed by all endorsement nodes before they can be written into the blockchain ledger. The detailed flow chart is shown in Figure6.Figure 6
Consensus process of payment requisition.


## 4.1. Design Content of Business Process Solution

In the requisition process, the purchasing department, warehousing department, and finance department are responsible for the ledger maintenance of the requisition business. The requisition plan determined by the purchasing department no longer needs to be examined and approved in the order of the warehousing department and the financial department; instead, it is approved by each department simultaneously for the content related to the department in each business information and endorsed by default for other information. After determining the purchase plan, the purchasing department initiates the purchase request and sends the purchase information to the warehousing department and the financial department. Each party writes the initial purchase information into the temporary ledger. The purchasing department, as the business initiator, approves all the contents of the requisition information by endorsement. The warehousing department examines and approves the quantity and specifications of raw materials in the requisition information on the basis of the actual inventory quantity and the production plan for a certain period of time in the future. After approval, it agrees to endorse and other information is agreed by default. The finance department approves the amount of requisition, the latest payment date, and the payment method in the requisition information based on the future cash flow of the enterprise and then agrees to endorse after the approval, while other information is agreed by default. After all of them are agreed, the initial requisition information will be written into the blockchain ledger. If a return or discount occurs, which is equivalent to a negative requisition, the quantity or unit price of the purchase will be negatively counted and the business process will proceed as described above. The flow chart is as shown in Figure1.Figure 1
Flow chart of the requisition process.In the warehousing process, the purchasing department, warehousing department, and quality control department are responsible for the ledger maintenance of the warehousing business. After the arrival of raw materials, the purchasing department, warehousing department, and quality control department inspect the raw material information jointly, and each department simultaneously approves the content related to this department in each of business information and approves other information by default by endorsement. The warehousing department initiates the warehousing request after the arrival of raw materials and sends the warehousing information to the purchasing department and the quality control department. Each party writes the initial warehousing information into the temporary ledger. The warehousing department, as the business initiator, approves all the contents of the warehousing information by endorsement. The purchasing department examines and approves the quantity, specifications, and quality of raw materials in the warehousing information according to the contract. After approval, it agrees to endorse and other information is agreed by default. Then, the quality control department examines and approves the quantity, specifications, and quality of raw materials in the warehousing information according to the contract. After approval, it agrees to endorse and other information is agreed by default. After all of them are agreed, the initial warehousing information will be written into the blockchain ledger. If a return or discount occurs, which is equivalent to a negative requisition, the quantity or unit price of the raw materials to be warehoused will be negatively counted and the business process will proceed as described above. The flow chart is as shown in Figure2.Figure 2
Flow chart of the warehousing process.In the payment process, the purchasing department, warehousing department, and finance department are responsible for the ledger maintenance of the payment business. The finance department initiates payment request according to the contract amount before the date specified in the contract. Each department simultaneously approves the content related to this department in each payment information and approves other information by default by endorsement. Then, the finance department issues a payment request when it is ready to make a payment before the payment deadline and sends the initial payment information to the purchasing department and the warehousing department. The finance department, as the business initiator, approves all the contents of the payment information by endorsement. The purchasing department examines and approves whether the payment amount conforms to the purchasing contract. After approval, it agrees to endorse and other information is agreed by default. The warehousing department examines and approves whether the payment amount is in line with the warehouse entry. After approval, it agrees to endorse and other information is agreed by default. After all of them are agreed, the initial payment information will be written into the blockchain ledger. If a return or discount occurs, which is equivalent to a negative requisition, the quantity or unit price of the raw materials to be paid will be negatively counted and the business process will proceed as described above. The flow chart is as shown in Figure3.Figure 3
Flow chart of the payment process.


## 4.2. Design Content of Consensus Mechanism

The most important part of the creation of the chain code is the formation of a consensus mechanism, which is the main content of the chain [13]. At present, the well-known consensus mechanisms mainly include proof of work (PoW), proof of stake (PoS), and Delegated Proof of Stake (DPoS) [14], which are limited to the application in public blockchains and can not solve the dependence on virtual tokens, so they can not be well applied to the design of consensus mechanism within enterprises. Since consensus mechanisms can be designed separately in the design of consortium blockchains and private blockchains, taking into account the true operating principle within the enterprise that a business must be completed with the consent of all departments or personnel involved, this paper uses a full consensus mechanism to complete the processing of related business, that is, the initiation of each business must be carried out with the endorsement consent of all endorsement nodes involved in the business. The design basis of the consensus mechanism is as follows:The consensus mechanism of requisition uses the full consensus mechanism, i.e., the initialization, change, completion, and cancellation of requisition need to be endorsed by all endorsement nodes before they can be written into the blockchain ledger. The detailed flow chart is shown in Figure4.Figure 4
Consensus process of requisition.The consensus mechanism of warehousing uses the full consensus mechanism, i.e., the initialization, change, completion, and cancellation in the warehousing information need to be endorsed by all endorsement nodes before they can be written into the blockchain ledger. The detailed flow chart is shown in Figure5.Figure 5
Consensus process of warehousing requisition.The consensus mechanism of payment uses the full consensus mechanism, i.e., the initialization, change, completion, and cancellation of payment in the payment information need to be endorsed by all endorsement nodes before they can be written into the blockchain ledger. The detailed flow chart is shown in Figure6.Figure 6
Consensus process of payment requisition.


## 5. Solution Enablement

### 5.1. Programming Environment Setup

First, clone the fabric-samples project from GitHub using the git tool at the address ofhttp://github.com/hyperledger/fabric-samples.git, then check out version v1.3.0. Execute “scripts/bootstrap.sh”: the Ubuntu system will automatically install the Docker and Hyperledger Fabric related mirrors and automatically run the “first-Network” of Hyperledger Fabric, and then close and remove all Docker containers. The basic environment of Hyperledger Fabric has been completed. The following is to build the Hyperledger Fabric environment on this basis to implement the enterprise vertical value chain management solution based on blockchain technology.Hyperledger Fabric configures the organizational information through crypto-conFigureyaml and generates configuration files of the organization through cryptogen. The configuration file of crypto-conFigureyaml generally consists of two parts, namely, OrdererOrgs and PeerOrgs. The former defines the organizations that manage the orderers, while the latter defines the nodes that manage peer. According to the design of the previous chapter, the internal purchasing management of the enterprise involves four organizations: purchasing department, warehousing department, finance department, and quality control department. The specific organizations are set up according to the requirements of the Hyperledger Fabric environment platform [15].


### 5.2. Chain Code Enablement

Hyperledger Fabric’s smart contract is written by using chain codes, which are called by an application outside the application when the application needs to interact with the account book. Chain codes run in a protected Docker container and are isolated from the operation of endorsement nodes. Chain codes are written in Go language in this paper. Chain code mainly realizes the data structure and business functions. The data structure includes the business information structure of purchase, warehousing, and payment processes. The business functions include functions such as initializing business information, updating business information, and querying business information.


## 5.1. Programming Environment Setup

First, clone the fabric-samples project from GitHub using the git tool at the address ofhttp://github.com/hyperledger/fabric-samples.git, then check out version v1.3.0. Execute “scripts/bootstrap.sh”: the Ubuntu system will automatically install the Docker and Hyperledger Fabric related mirrors and automatically run the “first-Network” of Hyperledger Fabric, and then close and remove all Docker containers. The basic environment of Hyperledger Fabric has been completed. The following is to build the Hyperledger Fabric environment on this basis to implement the enterprise vertical value chain management solution based on blockchain technology.Hyperledger Fabric configures the organizational information through crypto-conFigureyaml and generates configuration files of the organization through cryptogen. The configuration file of crypto-conFigureyaml generally consists of two parts, namely, OrdererOrgs and PeerOrgs. The former defines the organizations that manage the orderers, while the latter defines the nodes that manage peer. According to the design of the previous chapter, the internal purchasing management of the enterprise involves four organizations: purchasing department, warehousing department, finance department, and quality control department. The specific organizations are set up according to the requirements of the Hyperledger Fabric environment platform [15].


## 5.2. Chain Code Enablement

Hyperledger Fabric’s smart contract is written by using chain codes, which are called by an application outside the application when the application needs to interact with the account book. Chain codes run in a protected Docker container and are isolated from the operation of endorsement nodes. Chain codes are written in Go language in this paper. Chain code mainly realizes the data structure and business functions. The data structure includes the business information structure of purchase, warehousing, and payment processes. The business functions include functions such as initializing business information, updating business information, and querying business information.


## 6. Solution Test

### 6.1. Testing Environment

The hardware conditions of this test are as follows:CPU: Intel core i5-6,300HQ; memory: 16 G; hard disk: 1 T.The software conditions of this test are as follows:Operating system: Ubuntu 18.04.1 LTS, Docker version 18.06.1-ce, build e68fc7a, go language version: go1.10.4 linux/amd64, Hyperledger Fabric version: v1.3.0.


### 6.2. Testing Process

(1)
Start the Hyperledger Fabric network enabled in this paper(2)
Modify the relevant configuration in programming environment setup(3)
Start temporary ledgers and execute templedger/Server.go(4)
Execute test/testdata/datagen_test.go to generate related chain code documents(5)
Install chain codes and execute client/chaincodeinstall/chaincodeinstall.go(6)
Run test, and execute test/testdata.go [16].


### 6.3. Test Case

This test involves the relevant data of the requisition process, the warehousing process, and the payment process. The data required by each process is generated according to the random function rand function in the Go language.In this test, the basic information of some raw materials is simulated and then some businesses such as purchase, warehousing, and payment are simulated. The raw material information is as shown in Table1.Table 1
Test data of requisition.
No.Raw material No.Raw material nameQuantityUnitUnit priceSupplierspr0001pd001Material A78kg225Supplier Apr0002pd001Material A21kg163Supplier Cpr0003pd002Material B63kg211Supplier Dpr0004pd002Material B45kg141Supplier Bpr0005pd003Material C86kg156Supplier Apr0006pd003Material C91kg228Supplier Cpr0007pd004Material D42kg286Supplier Dpr0008pd004Material D11kg173Supplier B


### 6.4. Test Result

The test results are divided into chain code test results and business layer test results.Chain code test results include requisition chain code, warehousing chain code, payment chain code, and organization information maintenance chain code. For example, the results of the requisition chain code test are as shown in Table2.Table 2
Results of the requisition chain code test.
Type of testTest itemsTest methodsNumber of passesNumber of failuresTest resultsConsensus and writingInformation initializationinitPurchasereq80PassTamper-proofnessInformation initializationinitPurchasereq80PassTransparencyInformation queryqueryPurchasereq160PassTransparencyInformation rich queryrichQueryPurchasereq80PassTraceabilityHistory queryqueryPurchasereqHistory80PassThe business layer test results include the requisition management business, the warehousing management business, the payment management business, and the organization information maintenance business. For example, the results of the requisition management business test are as shown in Table3.Table 3
Results of requisition management test.
Test itemsTest methodsNumber of passesNumber of failuresTest resultsRequisition content queryQueryPurchaseByPurchasereqID10PassRequisition content queryQueryPurchaseByTimeRange10PassWarehousing queryQueryPurchaseWarehouseByPurchasereqID10PassPayment queryQueryPurchasePaymentByPurchasereqID10PassRequisition daily reportQueryPurchasePerDay10Pass


### 6.5. Solution Evaluation

In terms of efficiency, introducing blockchain technology into the internal procurement management of enterprises changes some processes from level-to-level approval of a business among the departments originally to concurrent approval while ensuring the security and transparency of the information, which will save a lot of time because the total time spent by each department in completing a decision is immeasurable in serial decision-making, but there is only one delay in parallel decision-making, which can save a lot of time cost compared with serial decision-making [17].In terms of information integrity, either party can query any business information through the requisition ID, warehousing ID, or payment ID as well as statistical information according to time in the requisition management, warehousing management, and payment management.From the perspective of tamper-proofness, business information in the requisition management, warehousing management, and payment management will be recorded in the ledgers of the blockchain after reaching a consensus. It is impossible for a single department to tamper with the information.From the view of extensibility, this paper uses the Hyperledger Fabric platform to complete the basic application of requisition management, warehousing management, payment management, and organization information management in the procurement process. The main applications of requisition management, warehousing management, payment management, and organization information management can be fully completed by or based on Hyperledger Fabric chain codes. Because chain code is an intelligent contract and programmable, it can access information related to transactions within their respective rights and can complete a variety of rich applications of purchase management, warehousing management, payment management, and organization information management, making the solution scalable.


## 6.1. Testing Environment

The hardware conditions of this test are as follows:CPU: Intel core i5-6,300HQ; memory: 16 G; hard disk: 1 T.The software conditions of this test are as follows:Operating system: Ubuntu 18.04.1 LTS, Docker version 18.06.1-ce, build e68fc7a, go language version: go1.10.4 linux/amd64, Hyperledger Fabric version: v1.3.0.


## 6.2. Testing Process

(1)
Start the Hyperledger Fabric network enabled in this paper(2)
Modify the relevant configuration in programming environment setup(3)
Start temporary ledgers and execute templedger/Server.go(4)
Execute test/testdata/datagen_test.go to generate related chain code documents(5)
Install chain codes and execute client/chaincodeinstall/chaincodeinstall.go(6)
Run test, and execute test/testdata.go [16].


## 6.3. Test Case

This test involves the relevant data of the requisition process, the warehousing process, and the payment process. The data required by each process is generated according to the random function rand function in the Go language.In this test, the basic information of some raw materials is simulated and then some businesses such as purchase, warehousing, and payment are simulated. The raw material information is as shown in Table1.Table 1
Test data of requisition.
No.Raw material No.Raw material nameQuantityUnitUnit priceSupplierspr0001pd001Material A78kg225Supplier Apr0002pd001Material A21kg163Supplier Cpr0003pd002Material B63kg211Supplier Dpr0004pd002Material B45kg141Supplier Bpr0005pd003Material C86kg156Supplier Apr0006pd003Material C91kg228Supplier Cpr0007pd004Material D42kg286Supplier Dpr0008pd004Material D11kg173Supplier B


## 6.4. Test Result

The test results are divided into chain code test results and business layer test results.Chain code test results include requisition chain code, warehousing chain code, payment chain code, and organization information maintenance chain code. For example, the results of the requisition chain code test are as shown in Table2.Table 2
Results of the requisition chain code test.
Type of testTest itemsTest methodsNumber of passesNumber of failuresTest resultsConsensus and writingInformation initializationinitPurchasereq80PassTamper-proofnessInformation initializationinitPurchasereq80PassTransparencyInformation queryqueryPurchasereq160PassTransparencyInformation rich queryrichQueryPurchasereq80PassTraceabilityHistory queryqueryPurchasereqHistory80PassThe business layer test results include the requisition management business, the warehousing management business, the payment management business, and the organization information maintenance business. For example, the results of the requisition management business test are as shown in Table3.Table 3
Results of requisition management test.
Test itemsTest methodsNumber of passesNumber of failuresTest resultsRequisition content queryQueryPurchaseByPurchasereqID10PassRequisition content queryQueryPurchaseByTimeRange10PassWarehousing queryQueryPurchaseWarehouseByPurchasereqID10PassPayment queryQueryPurchasePaymentByPurchasereqID10PassRequisition daily reportQueryPurchasePerDay10Pass


## 6.5. Solution Evaluation

In terms of efficiency, introducing blockchain technology into the internal procurement management of enterprises changes some processes from level-to-level approval of a business among the departments originally to concurrent approval while ensuring the security and transparency of the information, which will save a lot of time because the total time spent by each department in completing a decision is immeasurable in serial decision-making, but there is only one delay in parallel decision-making, which can save a lot of time cost compared with serial decision-making [17].In terms of information integrity, either party can query any business information through the requisition ID, warehousing ID, or payment ID as well as statistical information according to time in the requisition management, warehousing management, and payment management.From the perspective of tamper-proofness, business information in the requisition management, warehousing management, and payment management will be recorded in the ledgers of the blockchain after reaching a consensus. It is impossible for a single department to tamper with the information.From the view of extensibility, this paper uses the Hyperledger Fabric platform to complete the basic application of requisition management, warehousing management, payment management, and organization information management in the procurement process. The main applications of requisition management, warehousing management, payment management, and organization information management can be fully completed by or based on Hyperledger Fabric chain codes. Because chain code is an intelligent contract and programmable, it can access information related to transactions within their respective rights and can complete a variety of rich applications of purchase management, warehousing management, payment management, and organization information management, making the solution scalable.


## 7. Conclusions

First, the current status of blockchain research and the concept of blockchain are introduced, and then, the value chain management requirements of the internal procurement based on blockchain technology are analyzed, involving partial decentralization, tamper-proof modification, information integrity, authenticity, and maintainability. After that, an enterprise internal procurement management solution based on blockchain technology is designed, including business organizations, consensus mechanism, data structure, and business process. Next, the solution is implemented based on the Hyperledger Fabric platform, including the Hyperledger Fabric environment setup, chain code enablement, temporary ledger and Hyperledger Fabric client enablement, and business layer enablement. Then, the completed solution is tested, including the chain code layer test and business layer test. Finally, the solution is analyzed from four aspects of efficiency, tamper-proofness, information integrity, and expandability. The conclusions in the paper are as follows:(1)
The paper realize the internal procurement value chain management solution based on blockchain technology through code, which confirms the partial decentralization, immutability, information integrity, security, and expandability of blockchain technology(2)
The application of blockchain technology to the management of the enterprise’s internal procurement value chain can reduce the risk of individual personnel making false accounts and fictitious business. All businesses must be agreed by all departments involved in this business before they can be written into the blockchain ledger(3)
Blockchain technology is applied to the management of the enterprise’s internal procurement value chain. In interdepartmental decision-making, it has become a parallel decision based on the previous serial decision, which can speed up the efficiency of departmental decision-making and save a lot of time and cost(4)
Blockchain technology is applied to the management of the enterprise’s internal procurement value chain. Because of its immutability, it makes the business information of the enterprise more transparent, and the transaction data is more authentic. The focus of the work of internal auditors will transform from the authenticity of the business information to the business. The rationality of the process of information on the chain has also reduced the workload in disguised formThe above contents can reflect the feasibility of blockchain technology in enterprise internal application. The design and enablement of the solution in this paper can provide ideas for other scholars, improve their respective solutions, and provide guidance and reference for future blockchain implementation and enterprise practice.



---

*Source: 1674412-2021-12-31.xml*