CREATION A BLOCKCHAIN-BASED PRODUCT QUALIFICATION SYSTEM FOR E-MARKETPLACE USING PRACTICAL BYZANTINE FAULT TOLERANCE ALGORITHM

Creation a Blockchain-based Product Qualification System for E-Marketplace using Practical Byzantine Fault Tolerance Algorithm


I. INTRODUCTION
Performance and efficiency of the technology infrastructure in the form of hardware, software and telecommunications have continued to improve in the last few decades.Moore's law, based on Gordon Moore's observations in 1965 and later adjustments in 1975, states that the size of transistors shrinks so rapidly that twice as many as every two years go into a single computer chip [1].Operating systems, programming languages and apps that function as controls for computer systems make significant updates.As well as telecommunications networks that will be released in 2020 [2].These advances have revolutionized many aspects of our social life, one of which is in the field of commerce.
Commerce in Indonesia has utilized technological infrastructure in carrying out the buy and sell business process.E-commerce is a process of buying or selling products electronically by consumers and from company to company with computers and intermediary for business transactions [3].Some of these e-commerce companies provide space for other business actors to display their products on the electronics website.This has led to the creation of an e-market called an e-marketplace.Every seller on the e-marketplace can display their products for sale without having to build a system.The seller only needs to use the facilities in the e-marketplace in the form of information and product quality, price, delivery, payment and product reviews.
An indicator of e-marketplace effectiveness is to facilitate transparent transactions between sellers and buyers by offering good products and adequate infrastructure to handle system requirements.A good product must be in accordance with the product qualifications which consists of classification of feasible or not and the benefits of the product [4].However, this often has problems, including caused by frequent system conditions, non-transparent products, undistributed data, human error until data security.
Centralized systems have common drawbacks.Data stored centrally has a central point of failure which computer crackers can exploit.These systems are handled by a single organization, so that data can be secretly P 1112 Creation a Blockchain-based Product Qualification System for E-Marketplace using Practical Byzantine Fault Tolerance Algorithm manipulated by those with administrative access to the database [5].The log history can be used as a trace for a human error monitoring system.centralized file log storage is not recommended because if the file is deleted, there is no record of action.This is a problem that occurs in the database [6].Recent developments can solve this problem.Blockchain is a 2020 digital technology trend that has advantages in new strategies and business models, better security, better speed than the current system, better transparency and lower spending [7].Blockchain is a distributed ledger technology based on the principles of peer-to-peer networking and cryptographic primitives [8].Blockchain can be used outside of cryptocurrency and is starting to explore how blockchain can be used for existing systems, including in the processing of data records in the e-marketplace system.
Ching-Nung Yang et al s research in 2019 proposed a blockchain-based product scoring system to handle big data and business models.blockchain technology used to accelerate product assessment verification and maintain product data security.Product assessment system based on product quality scores.The product appraisal business model consists of suppliers providing product alliances that include e-commerce and trusted organizations such as international consumers, non-profit organizations for product appraisal.Data product verification and appraisal is written into new blocks on the blockchain via smart contract.Buyers can buy products with high value to be insured for product quality [12].
Yi Weng Chan research in 2019 developed a blockchain-based e-marketplace.Researchers made use of blockchain technology to develop a decentralized e-marketplace platform that was already installed.Researchers use smart contracts to secure deposit transactions and process payments.Every transaction is verified via the blockchain and recorded to a decentralized ledger.Transactions are carried out without a third party because the smart contract is self-executed.Smart contracts can make credible transactions and transactions on the blockchain are traceable and irreversible.Buyers and sellers can't break the contract.The processes recorded on the blockchain include product launches, purchases, deliveries and payments [13].
Wang and Hannafin's research in 2005 defined design-based research (DBR) as a research method that focuses on exploring systematic but flexible techniques targeted at improving practice through iterative analysis, design, development, and implementation requiring collaboration between researchers and practitioners and new useful principles.Design-based research is concerned with research design and methodology that provides direct, measurable alternative approaches and simultaneous improvements in research, theory and practice [14].
This research uses the object of identification analysis based on the workflow and product record from emarketplace.Analyse the identification of participants or stakeholders who are involved in the decentralized network.Participants add data to the blockchain and send it to the network.Transaction requests are taken by miners or validators.The compiled and validated transactions will be sorted and packaged into a candidate block which is timed.Transactions will be stored in a general ledger and distributed over the network.
Hyperledger is a blockchain platform managed by the Hyperledger Linux Foundation project [9].The platform was built for a consortium of businesses interested in building and deploying their blockchain applications with shared data.The Hyperledger platform used to build the blockchain is the Hyperledger Fabric with data storage transactions in the form of a chaincode.Chaincode is a program code on a network that functions like a smart contract on other blockchains [10].The Practical Byzantine fault Tolerance algorithm is a consensus protocol used to secure blockchain networks, The advantages of the PBFT algorithm are at the time of the final transaction, there is no waiting period to ensure the transaction is safe and can reach network consensus without requiring energy-intensive calculations [11].
This research focuses on blockchain implementation using the Practical Byzantine Fault Tolerance algorithm on product qualification records in e-marketplace run on a decentralized system and stored on a distributed ledger.The creation of a web-based system uses chaincode to ensure transparent, secure and immutable product data as well as the safety of authorized participants using Hyperledger Fabric.

II. METHOD
This research adopts a design-based research methodology at the blockchain implementation stage in creating product qualification systems.The stages of implementing blockchain into the system using Hyperledger Fabric platform are as follows: set up the blockchain network on docker, set up the structure Go, registering admin and organization, ledger query and blockchain transactions using the PBFT algorithm.

A. Set up the Blockchain Network on Docker
Researchers used chainhero and docker configurations to build virtual computers that would handle different roles on the blockchain.Hyperledger fabric requires multiple certificates to ensure encryption during end to end processes (TLS, block signing authentication and other processes).
In the Docker configuration, researchers define several services, including:

1) Orderer
The order node places order transactions together with other nodes that make up the ordering service.The fabric design relies on a deterministic consensus algorithm, that is, each block validated by the peer as generated by the ordering service is guaranteed to be complete and correct.The order list is used to send transactions and requests for channel creation or updates.Currently only one order is required.If more than one is defined then the one used by the SDK.

2) Certificate Authorities (CA)
The CA issues certificates for identification purposes on fabric networks.The provision of certificates is done in a separate process outside the network runtime.Fabric CA is a special certificate authority that provides a REST API for dynamic management certificates (enrol, revoke, re-enrol).

3) Peers
List of peers to which various requests, support, queries and event listener registrations will be sent.

B. Set up the Structure Go
Researchers use the Go language structure in managing program code.The Go structure arrangement can be seen in Figure3.

C. Register Admin and Organization
Researchers register admins and organizations used for access to the blockchain system to make transactions.Admin and participants that have been created will be configured in the Hyperledger Fabric.The following is the InvokeRecord function which functions to perform data transactions in the chaincode.The prepared argument is called for the ledger key record.The eventId declaration and data description for the invoke request then register the event chaincode and execute the transaction request.func (setup *FabricSetup) InvokeRecord(value string) (string, error) { // Prepare arguments var args []string args = append(args, "invoke") args = append(args, "invoke") args = append(args, "record") args = append(args, value) eventID := "eventInvoke" // Add data that will be visible in the proposal, like a description of the invoke request transientDataMap := make(map [ This research was conducted using health product data.In general, the process carried out is collecting data, designing the system, creating a product qualification system by applying blockchain technology and evaluating the results.The application of the system used is Hyperledger Fabric for blockchain technology, CouchDb as the blockchain ledger, Postgre sql as the database for the admin system and Go as a programming language.
This chapter discusses the results obtained during the study.The results and this discussion are about the results of making a product qualification system based on a web application and the results of system performance from the tests performed.

A. Product Qualification System based on Web Application
Making a web application-based product qualification system with the implementation of blockchain technology on the Hyperledger Fabric which was carried out in Chapter 3. The product qualification system consists of several features used by participants.

B. System Testing
The blockchain performance in this study can be seen from the results of testing the system that has been made.Tests are carried out to obtain transparent and immutable storage and management of product qualification information.The system testing method used is black box testing.Black box testing will testing on a functional system that involves input, output and general functions defined in the requirements specification.Table I   The data will not be updates in the ledger and not sent to the database system Success Latency on each page : There are 10 users who use this system.The user is the representative with the participant role in the system.The indicators assessed are the flow of use cases from the system, security in using the system, verification and validation data displayed, monitoring blocks in the system, access time and ease of use.The results obtained are 90% of users find it easy to follow the system in using the application.The activity log contained in the system block can be used to monitor the activity of each role in the system.The resulting latency time is 22 ms that the system can be accessed more quickly.

IV. CONCLUSION
The implementation of the permissioned blockchain on the product qualification system that was made has been successfully carried out.Implementation progress is displayed in the form of a web application based on workflows, needs and consortium types in the product qualification records in the e-marketplace.The web application runs on a decentralized network using chaincode and the data is stored in a distributed ledger.The data stored is in the form of product records that have been qualified through the process of price verification, product verification and product validation which is recorded in the event log and blocks.Each transaction made will generate a transaction id (TxId), chaincode id, event name, payload, block number, sourceURL (peer localhost).Data and transactions are immutable, accountable and transparent so they can be used for tracking audits with a more secure monitoring system.
The tests that have been carried out state that from a functional point of view, the system has successfully carried out every feature and function displayed in the form of a web application in accordance with the workflow and design.The data validation test states that the scenario carried out is in accordance with the output expected by the stakeholders.
The tests that have been carried out state that from a functional point of view, the system has successfully carried out every feature and function displayed in the form of a web application in accordance with the workflow and design.The data validation test states that the scenario carried out is in accordance with the output expected by the stakeholders.

Figure 11 :Figure 13 :Figure 15 :
Figure 11: Latency on Price Verification Page Figure 12: Latency on Product Verification Page Blockchain-based Product Qualification System for E-Marketplace using Practical Byzantine Fault Tolerance AlgorithmDisplays the blocks page containing the block height, prev block hash, current block hash and details of the block Success displays the blocks page containing the block height, prev block hash, current block hash and details of the block