# Implementation of a Blood Cold Chain System Using Blockchain Technology
## 2 Related Work
### Hyperledger Fabric  
The blockchain technology that emerged with Bitcoin is a decentralized, distributed database technology. Data from system databases can be shared over a network, allowing for real-time sharing even in a distributed environment, and maintaining consistent data by means of a consensus algorithm [30]. Blockchain, also called distributed ledger technology, consists of a number of blocks, which contain information on a number of transactions. Participants (nodes) of the blockchain network can make direct transactions without a relay or a third party, and since the block is verified, it adds only approved blocks, thereby ensuring reliability. In addition, since the blocks are arranged by time, it is difficult to manipulate the contents of the preceding block because all of the following blocks need to be regenerated. The blockchain system consists of several technologies, including peer-to-peer networks, consensus algorithms, digital signatures and hashes, and smart contracts [28; 31]. Depending on the characteristics of the blockchain network, it can be classified into public, private, and consortium [30; 32]. Public blockchain networks have no restrictions on participants, allowing them to create, verify, and approve transactions. However, all nodes participating in the network have the same authority and are slowed down by multiple participants performing transaction approval. Private blockchain networks, on the other hand, only authorize users who can participate. The consortium blockchain is semicentral in that it has the form of a network in which several authorized institutions participate, not just one, but it has the characteristics of a private blockchain. Typical blockchain-based technologies include Bitcoin Core, Ethereum, and Hyperledger Fabric. Bitcoin Core is a representative public blockchain network whereby transaction records are shared among all participants and written in blocks every 10 min. Transactions are executed in a scripting language, for which the scheme is very simple and has the disadvantage of lacking extensibility. Another public blockchain-based technology, Ethereum, is a platform that can execute smart contracts on a blockchain basis and records not only transaction history but also smart contracts and their execution history. Hyperledger Fabric is a Linux Foundation project that was launched with 17 member companies in December 2015. The alpha version of the software was released on March 2017, and Hyperledger Fabric 1.0 was released in June. Figure 1 shows Hyperledger Fabric's private network and ledger. The most distinctive feature of Bitcoin's block is the Key-Value Store (KVS). KVS preserves transaction processing results. Blocks store transaction information and hash values of the KVS. Hyperledger Fabric provides three representative services: a membership service, a consensus algorithm, and a chaincode service [32]. First, the membership service manages the participants' information in order to give the blockchain network limited privileges. Second, Hyperledger Fabric takes a different approach to consistency from that of Bitcoin Core or Ethereum. A consensus algorithm called PBFT (Practical Byzantine Fault Tolerance) is used to obtain the consensus of participants when updating data. In the PBFT method, a specific node acts as a leader, sends a request to all nodes including itself, aggregates the response, and then confirms the block. Third, chaincode is a program that handles transaction execution. It implements processing such as init, invoke, and query. Unlike the previous 0.6 version, the biggest change in version 1.0 is the role of peers. Validating peer, which plays a major role in consensus algorithms and ledger management, is divided into endorsing peer, committer peer, and ordering node in Version 1.0. Figure 2 shows the architecture of Hyperledger Fabric 1.0.