# A Traceable and Verifiable Tobacco Products Logistics System with GPS and RFID Technologies
## 2 Preliminary  
### Consortium Blockchain and Smart Contract  
Blockchain is a technology that was carried forward by [PERSON] [17], who used blockchain to realize a decentralized peer-to-peer cryptocurrency. Blockchain is a distributed database, with the characteristic that it is difficult to arbitrarily tamper.  
A smart contract is a program that can be executed automatically. The most famous blockchain-based smart contract in the world was implemented by [PERSON] in 2014 [18], who also founded Ethereum. The blockchain-based smart contract can be implemented in various domains, for example, digital property [19], logistics systems [20], the exhibition of cultural relics [21], will management [22], firearm management [23], etc.  
In general, the most widely used blockchain currently is Ethereum [18], which is a public blockchain where everyone can store and validate the block data transparently. In order to solve privacy issues and make blockchain technology more suitable for enterprises, more types of blockchain architectures have also been developed such as private blockchain [24] and consortium blockchain [25]. In particular, the consortium blockchain is a blockchain between public and private. Generally, it is possible to specify how many peers can own the ledger, and then which peer can conduct transactions and own part of the ledger. On the other hand, every blockchain system has an important consensus algorithm to validate the blockchain, and there are various types of consensus algorithms such as Proof-of-Work (PoW), Proof-of-Stake (PoS), and Practical Byzantine Fault Tolerance (PBFT) [26].  
To solve the problems encountered in business such as data privacy issues, real-time transactions, modular expansion, etc., the Linux Foundation has developed a blockchain architecture of chaincode (also known as a smart contract with additional features) that is more suitable for commercial applications, the Hyperledger Fabric [27]. The Hyperledger Fabric is a permissioned blockchain, where the chain contains the chaincode, ledger, and channel. The common implementation of the consensus algorithm in the blockchain is PBFT. Therefore, it is different from other types of blockchain architecture because it does not need a cryptocurrency-based mechanism to mine, in order to validate the ledger or execute the smart contract.  
Figure 1 shows an example of the Hyperledger Fabric network from the official documentation [28]. The notation of nodes in the figures are as follows: Application (A), Certificate Authority (CA), Channel (C), Peer (P), Ordering Service (O), Ledger (L), Chaincode (S), Organization (R), and Channel Configuration (CC). The organization is defined by the Membership Services Provider (MSP), where every organization configures the channel configuration and makes each node join in a secure private channel. The certificate authority generates the certificates to the nodes, and the certificates must be signed in every transaction. When any client executes an application, the application sends a transaction proposal to all endorsing peers via the configured channel. These peers reply to a signed proposal response to the application. The transaction will package into a block by ordering the service node; the node also orders and distributes it to every peer, then the transaction is done and updates to the blockchain network.  
Our scheme proposes tobacco products logistics with Hyperledger Fabric framework, where the purpose is to have more throughput for the transactions, solve the personal privacy problem, and be more suitable for the government to manage.