Skip to main content

Designing a Permissioned Blockchain Network for the Halal Industry using Hyperledger Fabric with multiple channels and the raft consensus mechanism

Abstract

Halal Supply Chain Management requires an assurance that the entire process of procurement, distribution, handling, and processing materials, spare parts, livestock, work-in-process, or finished inventory to be well documented and performed fit to the Halal and Toyyib. Blockchain technology is one alternative solution that can improve Halal Supply Chain as it can integrate technology for information exchange during the tracking and tracing process in operating and monitoring performance. This technology could improve trust, transparency, and information disclosure between supply chain participants since it could act as a distributed ledger and entitle all transactions to be completely open, yet confidential, immutable, and secured. This study uses a Blockchain Network with three channels and uses raft consensus algorithm in designing web interfaces and testing their capabilities. From the web interface, there were no failures in the validity test during the invoke test and the query test. In addition, the web interface was also successfully tested to thwart the formation of a block in case of data input errors from the user. The server can also do the process as a provider of information and validator for the web interface. From the results of simulations conducted on the Blockchain Network that was made, Blockchain’s transaction speed is fast and all the transaction is successfully transferred to other peers. Thus, Permissioned Blockchain is useful for Halal Supply Chain not just because it can secure transactions from some of the halal issues, but the transaction speed and rate to transfer data are very effective.

Introduction

The advent of the Fourth Industrial Revolution promises significant opportunities and challenges in many industries, one of them being in the supply chain. Supply chain industries are embracing automation and data exchange and implement new technologies including Blockchain, Artificial Intelligent, and Internet of Things (IoT) devices [1]. These innovations are fundamentally changing supply chain dynamics including Halal Industry.

Islamic economic development report published by the Dubai International Financial Center in 2019, states that the Halal Industry has increased rapidly compared to some other industrial sectors, increasing with an average growth of 100 billion US $ annually and is expected to reach US $ 3.2 Trillion in 2024 [2]. This growth is influenced by the increase of number of the Muslim populations in the world. From a report on Muslim growth published by the Pew Research Center in 2011, the estimated average growth of Muslims per 10 years is 1.63% and expected to be 26.4% of the total population the world in 2030 [3]. The size and growth of the Muslim population results in the increase of purchasing power, hence the value of the Halal Industry will increase.

Despite Halal Industry’s increase in purchasing power and value, the condition has not yet achieved its optimal potential as there are still many sectors that can be improved. For example, although Indonesia is recognized as Muslim’s world’s most populous country, it lags behind other Muslim-majority countries in creating an ecosystem that supports Halal Industry according to the Global Islamic Economy Indicators (GIEI) 2019. Thus, there are still many potentials that can be improved to maximize the Halal Industry both domestically and globally, such as improving Halal Supply Chain quality [4].

The government roles in improving Halal Supply Chain is substantial to enforce a law that requires all business actors to make Halal Certificates on food products, medicines, cosmetics, and other genetically engineered products. Halal Certificate is a proof or guarantee that the products are safe and acceptable in accordance with Islamic law. Yet, Halal Certificate is inadequate to improve the Halal Supply Chain. Customers must ensure that the raw material used and the process to make a product is halal, as well as the final product. Other way to improve the Halal Supply Chain is to integrate technology for information exchange during the tracking and tracing process in operating and monitoring performance [5]. Moreover, both vertical and horizontal collaborative relationships in the form of trust, transparency, and information disclosure between supply chain participants is essential to maximize the integration of technology and information with the Halal Supply Chain and increase mutual effectiveness and efficiency [6].

This paper aims to adopt a blockchain framework for Halal Supply Chain case by using Hyperledger Fabric. In addition, this paper will test it to find out its capability to Halal Supply Chain in found out some blockchain key aspect that can improve Halal Supply Chain, validating the transaction process, and testing the transaction speed. The rest of this paper is organized as follows: The “Literature review” section consists of some theoretical concept. The “Methodology” section consists of some related work of the method that will be used. The “Result” section consists of the adopted Blockchain Framework and its overview of the finished interface of blockchain framework. The “Discussion” section consists of the discussion of the result obtained in this research. The “Conclusion” section consists of this research conclusion and some possible suggestions for this research.

However, the empirical results reported herein should be considered in the light of some limitations. First, the data used to design the Blockchain architecture is arranged based on the Halal Supply Chain flow in the study by Simatupang et al. [7]. Therefore, some adjustments are needed if the model adopted for a different flow. Furthermore, Hyperledger Fabric version 1.4.3 is used to design the blockchain architecture. Thus, the advancement of the software in the future could result better model performance than the current model.

Literature review

In this part, the theoretical basis and the concepts used in this study are discussed. The concepts explained include theories and applications about Halal Supply Chain, Blockchain, Permissioned Blockchain, and Hyperledger Fabric.

Halal Supply Chain Management

Halal Supply Chain Management may be defined as a network in assuring the entire process of procurement, distribution, handling, and processing materials, spare parts, livestock, work-in-process or finished inventory to be well documented and performed fit to the Halal and Toyyib [6]. Halal itself is something that is permitted in accordance with the rules that already exist in the Qur’an and the Hadith, while the term Toyyib means healthy and good [8]. The Toyyib concept can also be used to enrich society with spiritual, moral, and humanitarian values, as well as food safety regulations [9]. However, the gray area (located between halal and haram) causes doubt in the application of the Halal concept. Therefore, the opinion of the academic, religious regulations (fatwas), and local customs in assessing and determining the product is needed to determine which product is prohibited or allowed to be consumed [10].

Halal Supply Chain carry five fundamental issues, which are traceability (ability to discover information about location and origin of the product); regulation for product withdrawal related to halal prerequisites; end-to-end Halal Supply Chain integrity from producer into customer; contradictory systems and different interpretations regarding Halal Supply Chain; and lack of integration of technology and information with the Halal Supply Chain [11].

Blockchain

Blockchain technology is one of the alternative solutions that can improve Halal Supply Chain. This technology could resolve these problems since it could act as a distributed ledger and entitle all transactions to be completely open, yet confidential, immutable, and secured. Blockchain provides security as protection and prevention from duplication, or distortion of data from outside noise. The participants (in decentralized-computer-terminal form) are connected by using key-access system enabling direct transactions between sellers and buyers without intermediaries [12]. Because blockchain nature is a distributed ledger database, there are many things that can be improved by using blockchain such as big data for data analysis [13, 14].

Supply Chain transactions will be gathered in a set of blocks when each set of new transactions is added successfully. The block will be added to the Blockchain Network in a linear chronological order with timestamp [12]. Each supply chain participant, known as peer node on Supply Chain Network, receives a copy of blockchain which can be downloaded automatically. Peer nodes would have access to all information which includes supply chain participant’s address and supply chain path, hence even the user will know the flow of the manufacturing process of a particular product [15].

Permissioned Blockchain

Permissioned Blockchain, which is a specialized form of blockchain for private transactions and having sufficient speed of transactions in real time basis [16, 17], is the most suitable type of Blockchain Network for Halal Supply Chain. The role of each Supply Chain participant will be determined by the administrator to decide what information can be seen and added. Intrinsic configuration of the blockchain manages transaction nodes and defines the role of the nodes in accessing or making changes to the Blockchain, including maintaining the identity of each Supply Chain participant in the Blockchain Network [18]. Supply chain participants such as suppliers, distributors, wholesalers, and retailers focus solely on their respective parts. Thus, regulators are essential to determine the role of each supply chain participant even though in determining each role, must also be made by consensus so that no one feels disadvantaged [16, 19].

Halal Supply Chain and Blockchain

Halal Supply Chain needs transparency thus authenticity and reliance of halal brands can be ensured. Blockchain combines distributed ledgers and smart contracts so that the performance of the Halal Supply Chain will be increased. The improvement will generate more dependable information and assurance of Halal Supply Chain; smooth and effective halal process from beginning of production process to consumer’s point of purchase; Halal Supply Chain sustainability; consumer trust in the halal brand; and acknowledgment from worldwide of the halal Blockchain [6].

Fundamental principle of Halal Blockchain is to combine all different Mazhab in targeted markets with Islamic schools, religious regulations (fatwas), and local traditions. Halal Blockchain must be pertinent for all countries (be it Muslim or non-Muslim). Halal Supply Chain participants are given information automatically about the process compliance based on specific product market scenarios. Halal Blockchain’s authenticity and security is a priority to secure confidential data and minimize the opportunities of cyber-attack [5].

Halal Blockchain gives some benefit to producers, distributors, retailers, logistic service providers, and halal certification agencies. Halal certification agencies must adopt Blockchain technology to gain more trust and authenticity of the halal brand. They need to support halal certification of all Halal Supply Chain Instances to encourage the application of more obedient transportation and warehousing downstream the Supply Chain. Harmonizing the standards of Halal Supply Chain in various countries will be critical to support the Halal Industry and their global supply chain [5, 11].

Prior research related to Blockchain and Halal Supply Chain stated that there are three issues faced by the Halal Supply Chain globally, which are: contamination, disobedience, and perception. In this case, Blockchain technology is potential in resolving the first two problems (i.e., contamination and disobedience). However, the application of Blockchain needs to combine with Halal Certificate from each Supply Chain participant to get a better outcome [6].

Hyperledger Fabric

Hyperledger Fabric is an open-source Distributed Ledger Technology platform which is widely used for various company-related cases. This platform is very interactive to create a blockchain framework due to its modular and configurable architecture. The explanation of Hyperledger Fabric documentation is also very comprehensive compared to other platform and there are many developers contributed to developing this platform.

Hyperledger Fabric V.1.x distinguish the transaction into two types, execution transaction and ordering transaction. Whereas, there are three steps of transaction flow, which are execution, order, and validation. Each transaction can be executed in separated peer and can be executed before consensus from the ordering service is executed [20].

In the Blockchain system, there are some key terms such as nodes, data structures, transactions, ordering services, and channels [16]. Blockchain Networks must consist of several nodes. These nodes are usually defined as a virtual entity because it could run on physical hardware. Peers, orderers, and clients, in general are a set of nodes in the Blockchain Network [21]. Peers make transactions and distribute ledgers. In general, all peers are committers. On the other hand, orderers keep all the orders from the transaction that has been committed, creating new blocks, and search for consensus.

Clients are a set of nodes that act as end users of Blockchain Networks. The roles of client are sending a transaction proposal to peers, coordinating the results of the execution, verifying whether the transaction is valid, and sending the transaction that has been verified by peers to the ordering service. Furthermore, the data structure maintains global status in all associates using key value storage and ledgers (KVS). KVS manages and maintains the system to be updated, while the ledger provides a valid and verified history of all state changes [21].

In Hyperledger v1.4.x there are several types of transactions, such as init (deploy), invoke, and query. Init or deploy is useful for installing and instantiating chaincodes hence the transactions can be run. While invoke are useful for invoking transactions from chaincodes that have been installed and instantiated, query can be used for checking what transactions were successfully carried out in the process [22].

The transaction flow on v1 fabric follow the following steps:

  1. 1.

    The client makes a transaction and sends it to all endorser peers according to the chain.

  2. 2.

    Each endorser peers authorizes transaction execution and makes endorsement signatures.

  3. 3.

    Clients collect support signatures from endorser peers and collect them through the ordering service.

  4. 4.

    Ordering services create transaction blocks and maintain orders with a timestamp.

  5. 5.

    When supporting partners receive a block of transactions, they will assess the transaction against its authorization policy, then determine the validity of the transaction.

Ordering Services Nodes provided by Hyperledger Fabric have the role of managing and maintaining channel configuration as well as executing the transaction process. In the channel configuration section, ordering services nodes has the power to control the basic channel access section along with a consortium, which is configured in advance through the configuration file. Ordering service nodes can control which nodes, according to the previously defined consortium, are able to read and write transaction data [23].

Ordering Services Nodes also have some functions for each process of transaction flow (Order, Execute, Validate). In the Order Phase, the ordering service node will collect endorsed transactions (transactions that have already been endorsed by endorsing peers) from clients. After the collected transaction process hit batchSize (the limit of transactions that can be collected per batch) or batchTimeout (the time limit for collecting transactions per batch) [24], ordering service nodes will set batch transactions in a strict order and turn them into a block in the execute phase. Since transactions inside the block are in strict order, all successful and validated transactions will not be thrown away (there will be no ledger forks). Last but not least, in the validation step, the order will allocate blocks to all peers that are connected to the same channel (depending on the configuration of the channel) [23].

There are three types of Ordering Services Nodes Implementation, which are Solo, Kafka, and Raft:

  1. 1.

    Solo

Solo is one of Ordering Service Implementation to evaluate the Blockchain that has been developed. Solo operates without a consensus algorithm and contains only one ordering node [23].

  1. 2.

    Kafka

Kafka is one of the ordering service implementations originated from the Crash Fault Tolerant (CFT), where the process can proceed even though some of the current nodes encounter N failures while N/2 + 1 nodes still able to run [24]. This consensus mechanism uses “leader and follower” in the configuration node and is handled by Zookeeper Ensembled. However, the method of seeking offset numbers is from the ordering service node (the ordering service node has already been configured to preserve local logs) and not via Kafka partitions like the usual process of kafka. The process is slower than straight from Kafka but duplication of the block is unlikely to occur [10, 22, 23].

  1. 3.

    Raft

In fact, Raft is similar to Kafka because the implementation of the ordering service also uses CFT. Raft uses the Raft consenter as ordering services nodes to implement the “leader and follower” process. The raft is also used by Hyperledger Fabric as a bridge connector to create a consensus of Practical Byzantine Fault Tolerant since they have a similar procedure in the integration of Hyperledger Fabric [23, 25].

Kafka and raft have the same consensual mechanism, but there is an apparent difference in the operation of the two ordering service node implementations. These aspects are the main reason for driving the use of Raft rather than Kafka in this paper.

  1. 1.

    General comparison

    Kafka and Zookeeper not compatible for massive networks. However, there are several organizations and channels on the Blockchain Network, the mechanism almost like one organization only which is not too decentralized. Raft on the other hand, uses ordering service nodes as a state replication machine (Raft Consenter) directly. Thus, all organizations in the Blockchain Network will have their own ordering service node and the Blockchain Network will be more decentralized [23].

    Kafka also requires docker images to run for the CFT since Kafka was developed by Apache. This is overly complex, and its application needs to be further studied. On the other hand, Raft was natively developed by Hyperledger Fabric itself to make it easier [23].

  2. 2.

    Difference in terms of configuration

    Overall, Raft is simpler than Kafka in terms of configuration. Raft is designed directly from the ordering service node [25] while Kafka must use Kafka brokers and Zookeeper Ensemble to make CFT process work [22]. However, Raft is more difficult than Kafka when configuring the individual channel because Raft must set up the transport layer security (TLS) certificate for client and server [25]. While Kafka only needs to decide the number of Kafka brokers and Zookeepers [22].

    When building a docker container, Raft only uses ordering services nodes that have already been configured by the previous network configuration [25, 26]. On the other hand, Kafka must separate the work of Kafka and Zookeeper containers and must specify the amount of Kafka and Zookeeper containers in the docker compose file. That is why the process of running CFT using Kafka is getting trickier [22].

    All nodes, such as peers, can interact with other peers by using channels or using private data. The channel is private in terms of making transactions; only users who are on the same channel can only make transactions. Yet, users in a different channel can see the data due to the transparency concept. In contrast, private data makes transactions private in the channel and specific peers. Only peers that are already configured with it can do the transactions, even though it will eventually be distributed to others when the block is distributed [27].

Methodology

This part consists of some related work of the methodology that will be used with a case study example.

Research object

For the purpose of this study, a halal meat industry example based on some research will be used. There are several reasons for choosing a halal meat industry as a sample. In the halal meat industry, to keep the “Toyyib” exists from its own characteristics is wildering due to its perishable characteristic and difficulty to control the temperature [28]. These characteristics become a challenge for the supplier, producer, distributor, wholesaler, and retailer to keep the safety and freshness of fresh meat from contamination, disobedience, and perception. Blockchain can handle the first two problems, contamination, and disobedience because of its aspects as explained in the previous part [10].

The supply chain participants of halal meat industry include suppliers, producers, distributors, and customers. In halal meat industry, only livestock that meet certain criteria of age will be slaughtered. The meat will be sent to the producers to be processed and cooled. Then, it will be tested to determine whether it is halal or otherwise. Only the halal-certified meat will be sent to the distributor. The distributors will send it to the end customer or else be refrigerated [7].

In general, the supply chain participants can easily see the halal certification from the regulator. However, since customers only see the final product, not the raw material used nor the process to make a product to see if it is halal, there are some of them who are doubting the halalness of Halal Industry chain. A diagram of the halal supply chain flow can be seen in Fig. 1.

Fig. 1
figure 1

Ordering Service Process on Halal Supplier to End-User [7]

The Blockchain Network of meat ordering system was created to resolve the traceability problems of the final product. Blockchain as a distributed ledger is obliged to record the transactions in a time sequence. After the transaction is gathered in a set of blocks, the block is irrevocable. The irrevocable block characteristic is feasible to resolve customer’s doubt on the traceability of halal-certified meat.

In this study, the Blockchain Network consists of three channels, with each channel consisting of two organizations, and each organization has one client and two peers. The first channel is to connect suppliers and producers, the second channel is to connect producers and distributors, and the third one to connect distributors and end users. Three channels are designed separately because each participant may have a different price agreement thus their privacy is protected. The Blockchain Network also consists of five orderer nodes that have been configured with the Raft consensus mechanism. The channel configuration diagram can be seen in Fig. 2.

Fig. 2
figure 2

Blockchain framework for Halal Supply Chain

For simplicity and due to similarity in the flow process of each channel, this research will explain the configuration process of the first channel, which is the channel for supplier and producer. The steps for configuring the Blockchain Network consists of [29]:

  1. 1.

    Creating the Blockchain Network for all Halal Supply Chain entities and network administrators (which is needed once in the process because all channels must be included in the same network to make some peers have the ability to interact in multiple channels).

  2. 2.

    Defining the consortium of the entities (for example, the supplier will be bound with the producer in the consortium because they will do the transaction process).

  3. 3.

    Creating the first channel for the consortium process of supplier and producer.

  4. 4.

    Inserting peers of supplier and producer into the channel (to interact with other peers and save the transaction proof on the ledger).

  5. 5.

    Installing and instantiating the Chaincode to each peer (the supplier just needed once in the process but the producer twice because the producer will be added to the other channels to which is the channel for producer and distributor). The reason is although the smart contract in this design is similar, the real-world process actually different because the contract in the real world should be more complicated.

The result of the blockchain configuration process can be seen in Fig. 3.

Fig. 3
figure 3

The Result of Blockchain Channel for Supplier and Producer in The First Channel of Blockchain Network [29]

Result

In this chapter, the overview of the Blockchain Network server and web interface will be discussed.

Overview of the Blockchain Network server and Interface

This blockchain is basically a development of fabcar with its chaincode is modified according to the Halal Supply Chain. There are four processes of the Blockchain prototype used on the Halal Supply Chain. The process involves querying a single item ID (checking one item in the Blockchain), querying all items (check all items in the Blockchain), transfer an item ID (transfer one or more items to another company), and create an item ID (create one or more items in the Blockchain). The main change from the chaincode is the Create an Item ID process. The shape of the web interface can be seen in Fig. 4.

Fig. 4
figure 4

Display of Blockchain Network’s Web Interface

The invoking process defines as a process of entering transaction data into a Blockchain. This process includes Create an Item ID and Transfer an Item ID. Create an item ID has several special attributes consisting of item ID, color, doctype (the type of item to be sent), make (item name), model (specification/type of item), the owner (owner), amount (amount goods to be transferred), and certified links (proof of halal certification links). There are special attributes owned by some companies for making transactions on different channels, which is the channels attribute. There are also some of the attributes for creating an item ID that is being changed or added from fabcar chaincode, such as are Color, docType, Amount, Certified Link, and Channel.

In the color attribute, the user can choose what color to add to the attribute. This setting will be saved hence the user does not need to write the type of the item color again. It is more convenient for the user if they want to input the historical data so that they do not need to type it from the beginning again. In the docType attribute, created or transferred items in the Blockchain are not only in the form of food, but drinks or items in general can also be included in the Blockchain. Thus, on the Amount attribute, the company that wants to create an item can tell how many items will be sent. This prevents repetition on entering data if it turns out that the items sent are in large quantities. For created or transferred items that are considered to be halal, the company needs to attach the halal certification link. Trust between each supply chain participant about the items in halal category is expected to increase with this attribute.

Furthermore, all companies that enter two channels (such as producers who interact with suppliers and distributors or distributors who interact with producers or customers) have special attributes in the interface, called channels. There are two advantages of this channel attribute which are: (1) items that the company wants to create or transfer to another company will be sent correctly and (2) The interface of a company that has two channels is not necessarily separated into two interface so that it is easier and more interactive in conducting transactions through the company.

To prove that the system can be made, there are two key that must be considered, which are the web interface [can block data be created directly from the web interface (client)] and the integrity between the web interface and server of the terminal (whether the data is truly properly stored on the server so that data is not lost).

Discussion

In this chapter, we will discuss the validity test of the web interface, and test the integrity of the web interface and server to test whether the web interface of the blockchain can be used as well as a test of the Blockchain Network transaction simulation to find out how many transactions can be received by the Blockchain Network.

Validity of the web Interface

When the web interface is successfully initiated into the web browser, the block and transaction ID data of the block will appear on the right. It indicates that the transaction data is successfully stored in the Blockchain. In the previous image we can see that the third block of the Blockchain was formed before the web interface was used. This is because of the process of installing and instantiating the chaincode that has been done previously to initiate the web interface. When all data attributes are successfully entered according to their respective attributes, the latest block (in this case, block 4) and the transaction id will automatically appear on the right side of the web interface. Moreover, the left side of the web interface will notify the user that the input of data item from the user’s company is successfully done.

The process of making a block can only be done on the create an item ID and transfer an item ID. This is due to the process of writing and reading data (the process of writing data so that new data appears or changing old data) occurs in both parts. The process of writing new item data can be done to create an item ID and the process of changing item ownership is in the transfer of an item ID. Both processes must be separated even though they have the same goal of entering data into the Blockchain. Creating an item ID can only be done if the data item entered in the data form has an id form that is still not registered in the company’s Blockchain database. Meanwhile, the transfer of an item ID can only be done if the item data changed ownership is already registered in the Blockchain database. This is because the main purpose of the transfer of an item is to change the state of the database as well (the most recently viewed data), thus creating a new block. Old blocks of data item ID whose ownership has not been changed will remain the same to maintain the Blockchain’s tampered-proof nature.

Meanwhile, from querying an item ID and querying all item ID, the two parts of the web interface have a function as reading data (only to check the items in the Blockchain and their data attributes). When both parts of the web interface are executed, the new block on the right will not be formed because its main purpose is only to check the block and transaction ID. But on the left side of the web interface, state database information (the most updated information) about the item and its attributes will appear on demand. The difference between the two parts is that the query an item ID will only search for one specific item ID that matches the channel that connects the information while the query all item ID looks for all information about the item ID corresponding to the channel that connects the information.

There are several cases that cause a block to be filled with incorrect data and cause the Blockchain to be invalid, such as incomplete entering data attributes and incorrect data entry. In order to prevent the problem, interfaces and servers are created using prevention tools such as pop ups or errors so that invalid data will not be formed in a company’s Blockchain database server. For example, in creating an item ID section, the first requirement is that all data must be entered. If there is at least one part of the data attributes that is not entered, then the item data cannot be entered into the Blockchain channel.

In addition, in the Item ID section, filling in the data form can only be done if the first four letters are “ITEM” in capital letters and followed by a number (for example: “ITEM4”). Then, the item ID must be different from the item ID that exists on the Blockchain so that there is no duplication in the Blockchain item data. If all the requirements above are not met, an error will appear on the interface. Unlike creating an item ID, transferring an item only allows existing Item ID data. If the item ID on an item transfer is apparently not in the Blockchain, an error will appear reminding the user that the data is still not in the Blockchain so the item transfer process cannot be performed.

Integrity of web Interface and server

There are other functions regarding the server besides storing transaction data from the web interface. The terminal server also functions as a notification for the company even though the web interface is still not turned on. When the company wants to check information about any item ID already in the Blockchain through the web interface, that information will also appear on the terminal server. Then, when the company sends data or change data about the item ID into the Blockchain through the web interface, the terminal server will notify the company that sent the notification that the information sent was successfully saved to the Blockchain and send information about the number of blocks that have been created in the Blockchain. The terminal server also sends notifications to companies that are on the same channel as companies that send data about item ID or change data about item ID that data changes occur within the Blockchain and send information about the number of blocks that have been created in the Blockchain. Finally, if there is an error in inputting data, the terminal server will notify that there is an error that one of the data attributes sent is not in the format. The process can be seen in Fig. 5.

Fig. 5
figure 5

Back end of Blockchain Network’s web Interface

Transaction simulation test

Simulation configuration

The blockchain is tested for four rounds and five replications with a total of 60 rounds. Each channel is tested for two rounds for the invoking process (create an item ID and transfer an item ID) and two rounds for the query process (query an item ID and query all items). Because the simulation process is intended to test the maximum ability of Blockchain Network in receiving transactions, each test is tested using “fixed-backlog” to determine the maximum speed of TPS (transactions per second) and the maximum transactions that experience a backlog of 5 transactions. Each replication has a different transaction duration, which is 10, 20, 30, 40, and 50 s. The reason for choosing a simulation based on transaction duration rather than the number of transactions is the same as the reason why using the “fixed-backlog” type.

The Blockchain Network capability was made for previous research cases using three channels and crash tolerant crashes Raft crash tested with Ubuntu 18.04 LTS 64-bit 18 GB RAM 250 GB Hard Disk installed with hyperledger caliper and hyperledger fabric.

Simulation result

Based on Fig. 6, each channel in a blockchain model shows the same pattern regardless of the value of transaction speed. The send rate is relatively constant in each channel on each value speed of transaction, ranging from 32.0 to 49.0 TPS. However, the throughput value display two different patterns depending on the type of the process. Compared to another model, this model gives better outcome regards to the value of throughput rate with the relatively same hardware used for processing. Blockchain model proposed by Geneiatakis et al. resulted in throughput value ranging from 2.5 to 13 TPS [30], while the outcome of the blockchain model by Yusuf et al.. resulted in throughput value with an average of 27.9 TPS, the highest of 34.1 TPS and the lowest of 25.3 TPS [17].

Fig. 6
figure 6

Simulation result

The query process consists of query an item ID and query all items, resulting in a throughput value of 31.0–48.5 TPS. The throughput value of the query process is close to its send rate. However, the throughput for the invoking process includes create an item ID and transfer an item ID, is dissimilar. The throughput for the invoking process is about half of the send rates, ranging between 15.8 and 21.7 TPS. Although the throughput rate is low, but there is no failure in the results from capability tests.

From all the results obtained, it can be said that the blockchain model generates relatively constant transaction data per second regardless of the different speeds of each transaction. However, the throughput is disparate based on its process. The throughput of the query process is similar to its send rate and has a higher value than the invoking process. This is happened due process of the query only skim through the data in blockchain, while the invoking process is more difficult because the process involves creating new data in the blockchain.

Conclusions

Permissioned Blockchain is one of the newest technologies that are compatible with Halal Supply Chain, where administrators can determine the rights of each category of Halal Supply Chain participants, including what information is visible or what information can be added to the Blockchain. Usually, Halal Supply Chain participants such as suppliers, distributors, wholesalers, and retailers only focus on their respective parts. Thus, the role of regulators is also needed to determine the rights that exist (so that the smart contract on the blockchain can be used in accordance with the case). Of course, the determination of these rights must also be done by consensus so that no one feels disadvantaged.

From the web interface created, there are no failure in the validity test when the invoke test in the Create an Item ID and Transfer an Item ID process and when testing the query in the Query an Item ID and Query all Item ID processes. In addition, the web interface was also successfully tested for thwarting the formation of a block in case of data input errors from the user. In the integration between the web interface with the server, the server can do the process as a provider of information and validator for the web interface when the invoke and query process on the web interface is running or an input error occurs on the web interface that causes the failure of making blocks on the Blockchain.

Finally, from the results of simulations performed on the Blockchain Network created, as we can see, Blockchain’s ability to secure transaction data is real because not all transaction processes fail. So, it is especially useful for securing transaction data about halal such as food, or drinks on the Blockchain. The “tampered-proof” capability also creates transparency for end users who want to examine the Halal Supply Chain process.

The implementation of blockchain architecture is important to improve the overall Halal Supply Chain. Blockchain could be executed without special requirements. Requirements for implementation of blockchain technology are personal computers that have Hyperledger architecture that is connected to a server.

In the future, the development of this research can be done using other Blockchain consensus methods such as Practical Byzantine Fault Tolerance and Zero Knowledge Proof. Other consensus methods can be simulated into the Blockchain Network system to see which Blockchain consensus performance could be improved. Some developments also can be done for Blockchain Network web interfaces, such as creating special programs to combine interfaces made with smartphones to be used more easily or develop user login systems through interfaces to validate Blockchain Network users. The interface of the Blockchain Network can also be synchronized with a barcode system to facilitate users who want to check the traceability of goods (Track and Trace). Furthermore, Artificial Intelligent can also be integrated into the Blockchain Network to make data input or data processing smooth.

Availability of data and materials

All of data source is available on request from the authors.

References

  1. Kehoe L, O’Connell N, Andrzejewski D, Gindner K, Dalal D. Introduction. In: When two chains combine: supply chain meets blockchain. Deloitte; 2017. https://www2.deloitte.com/content/dam/Deloitte/pt/Documents/blockchainsupplychain/IE_C_TL_Supplychain_meets_blockchain_.pdf. Accessed 20 Aug 2019.

  2. Dinar Standard. Global Islamic economy key drivers. In: State of the global Islamic economy report 2019/20. Dubai International Financial Centre; 2019. https://salaamgateway.com/reports/report-state-of-the-global-islamic-economy-201920. Accessed 22 Aug 2019.

  3. Grim BJ, Karim MS. Executive summary. In: The future of the global Muslim population: projections for 2010–2030. Pew Research Centre; 2011. http://assets.pewresearch.org/wp-content/uploads/sites/11/2011/01/FutureGlobalMuslimPopulation-WebPDF-Feb10.pdf. Accessed 26 Aug 2019.

  4. Ngah AH, Zainuddin Y, Thurasamy R. Barriers and enablers in adopting of Halal warehousing. J Islam Mark. 2015;6(3):354–76. doi:https://doi.org/10.1108/JIMA-03-2014-0027.

    Article  Google Scholar 

  5. Tieman M, Darun MR. Leveraging blockchain technology for halal supply chains. Islam Civ Renew. 2017;8(4):547–50. https://doi.org/10.12816/0045700.

    Article  Google Scholar 

  6. Tieman M, Darun MR, Fernando Y, Ngah AB. Utilizing blockchain technology to enhance halal integrity: the perspectives of halal certification bodies. In: Xia Y, Zhang LJ, editors. Services—SERVICES 2019. CA: Academic; 2019. p. 119–28.

    Chapter  Google Scholar 

  7. Simatupang TM Sistem Logistik Halal. Sistem Logistik Halal; 2016. http://supplychainindonesia.com. Accessed 20 Sept 2019.

  8. Tieman M. The application of Halal in supply chain management: in-depth interviews. J Islam Mark. 2011;2(2):186–95. https://doi.org/10.1108/17590831111139893.

    Article  Google Scholar 

  9. Khan S, Khan MI, Haleem A, Jami AR. Prioritising the risks in Halal food supply chain: an MCDM approach. J Islam Mark. 2019. https://doi.org/10.1108/JIMA-10-2018-0206.

    Article  Google Scholar 

  10. Tieman M, van der Vorst JGAJ, Ghazali MC. Principles in halal supply chain management. J Islamic Mark. 2012;3(3):217–43. https://doi.org/10.1108/17590831211259727.

    Article  Google Scholar 

  11. Ab Talib MS, Hamid ABA, Zulfakar MH. Halal supply chain critical success factors: a literature review. J Islam Mark. 2015;6(1):44–71. doi:https://doi.org/10.1108/JIMA-07-2013-0049.

    Article  Google Scholar 

  12. Letourneau KB, Whelan ST, Blockchain. Staying ahead of tomorrow. J Equip Lease Fin. 2017;35(2):1–6.

    Google Scholar 

  13. Magista M, Dorra BL, Pean TY. A review of the applicability of gamification and game-based learning to improve household-level waste management practices among schoolchildren. Int J Tech. 2018;9(7):1439–49. doi:https://doi.org/10.14716/ijtechv9i7.2644.

    Article  Google Scholar 

  14. Mavragani A, Tsagarakis KP. Predicting referendum results in the Big Data era. J Big Data. 2019. https://doi.org/10.1186/s40537-018-0166-z.

    Article  Google Scholar 

  15. Hyperledger. Smart Contracts and Chaincode. Hyperledger Fabric; 2019. https://Hyperledger-Fabric.https://Hyperledger-Fabric.readthedocs.io/en/release-1.4/SmartContract/SmartContract.html. Accessed 20 Sept 2019.

  16. Gupta M. Blockchain for dummies. 2nd ed. Hoboken: John Wiley & Sons, Inc; 2018.

    Google Scholar 

  17. Kshetri N. Blockchain’s roles in meeting key supply chain management objectives. Int J Info Man. 2018;39:80–9. doi:https://doi.org/10.1016/j.ijinfomgt.2017.12.005.

    Article  Google Scholar 

  18. Yusuf H, Surjandari I. Comparison of performance between kafka and raft as ordering service nodes implementation in hyperledger fabric. Int J Adv Sci Tech. 2020;29(7S):3549–54.

    Google Scholar 

  19. Yusuf H, Surjandari I, Rus AMM. Multiple channel with crash fault tolerant consensus blockchain network: a case study of vegetables supplier supply chain. In: Proceeding of the 2019 16th international conference on service systems and service management (ICSSSM); 2019 July 13–15; Shenzhen, China; 2019.

  20. Sukhwani H. Hyperledger Fabric V1. In: Performance modeling & analysis of Hyperledger Fabric (Permissioned Blockchain Network). (Accessed 25 September 2019); https://dukespace.lib.duke.edu/dspace/bitstream/handle/10161/18268/Sukhwani_duke_0066D_14907.pdf?isAllowed=y&sequence=1 (Duke University, 2018).

  21. Androulaki E, et al. Hyperledger fabric: a distributed operating system for permissioned blockchains. In: Proceedings of the 13th ACM SIGOPS European conference on computer systems; 2018 April 23–26; Porto, Portugal; 2018.

  22. Christidis K. A Kafka-based Ordering Service for Fabric. Google Docs; 2016. https://docs.google.com/document/d/19JihmW-8blTzN99lAubOfseLUZqdrB6sBR0HsRgCAnY/edit. Accessed 26 Aug 2019.

  23. Hyperledger. The ordering service. Hyperledger Fabric. https://hyperledger-fabric.readthedocs.io/en/latest/orderer/ordering_service.html. Accessed 2 Sept 2019.

  24. Alagappan R, Ganesan A, Liu J, Arpaci-Dusseau AC, Arpaci-Dusseau RH. (2018) Fault-tolerance, fast and slow: exploiting failure asynchrony in distributed systems. In: Proceedings of the 13th USENIX symposium on operating systems design and implementation (OSDI ’18); 2018 October 8–10; Carlsbad, CA, USA; 2018.

  25. Christidis K. Fabric Proposal: A raft-based ordering service. Google Docs; 2018. https://docs.google.com/document/d/138Brlx2BiYJm5bzFk_B0csuEUKYdXXr7Za9V7C76dwo/edit#. Accessed 15 Sept 2019.

  26. Ongaro D, Ousterhout J. (2014) In search of an understandable consensus algorithm (extended version). In: Proceeding of USENIX annual technical conference, USENIX ATC 2014; June 19–20; Philadelphia, United States; 2014. p. 305–319.

  27. Nguyen B, et al. Multichannel consensus. Google Docs; 2016. https://docs.google.com/document/d/1eRNxxQ0P8yp4Wh__Vi6ddaN_vhN2RQHP-IruHNUwyhc/edit. Accessed 15 Aug 2019.

  28. OECD-FAO. Meat. In: OECD-FAO agricultural outlook 2019–2028. OECD Publishing, Paris/Food and Agriculture Organization of the United Nations;1999. http://www.fao.org/3/ca4076en/ca4076en.pdf. Accessed 30 Oct 2019.

  29. Hyperledger. Blockchain Network. Hyperledger Fabric. https://hyperledger-fabric.readthedocs.io/en/release-1.4/network/network.html. Accessed 3 Sept 2019.

  30. Geneiatakis D, Soupionis Y, Steri G, Kounelis I, Neisse R, Nai-Fovino I. Blockchain performance analysis for supporting cross-border E-Government services.  IEEE Trans Eng Manag. 2020; 67(4): 1310–1322. https://doi.org/10.1109/TEM.2020.2979325

    Article  Google Scholar 

Download references

Acknowledgements

Authors would like to express appreciation and gratitude to Universitas Indonesia for funding this study through PUTI Q2 Research Grants Universitas Indonesia No: NKB- 1702/UN2.RST/HKP.05.00/2020.

Funding

This Research is funded by Directorate of Research and Development Universitas Indonesia.

Author information

Authors and Affiliations

Authors

Contributions

IS, HY, and EL designed the idea and draft, IS and HY conducted the programming and analyzed the result, EL and RM conducted the literature review and prepared the manuscript. All of the authors checked the final manuscript. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Isti Surjandari.

Ethics declarations

Competing interests

All of the Authors declare that they do not have any particular competing interest.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Surjandari, I., Yusuf, H., Laoh, E. et al. Designing a Permissioned Blockchain Network for the Halal Industry using Hyperledger Fabric with multiple channels and the raft consensus mechanism. J Big Data 8, 10 (2021). https://doi.org/10.1186/s40537-020-00405-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s40537-020-00405-7

Keywords