A B S T R A C T The traditional tourism industry is in urgent need of digital technologies for cost reduction and efficiency enhancement. Blockchain, as an emerging technology, is promising to reform the tourism industry because it provides a trustworthy platform to link the tourism company and tourists. However, the existing blockchainbased smart tourism solutions are either conceptual or limited in solving the fundamental tourism challenges. In this paper, we propose BlockTour, a blockchain-based smart tourism platform with dedicated solution to address the challenges and real-world prototype deployment. In particular, we design the overall system architecture of BlockTour to link the tourists and attractions in a trustworthy way. Moreover, an efficient consensus mechanism is designed with incentives for the tourists to explore more attractions. Finally, we implement BlockTour and conduct extensive experiments for performance evaluation. The experimental results indicate that BlockTour is a practical and high-performance smart tourism platform.
4.2. Proof of participation: a new consensus mechanism for smart tourism We propose proof of participation (PoP), a tourism dedicated consensus mechanism, for BlockTour. The key idea of PoP is to encourage the nodes to confirm the transactions showing more participation activities. PoP runs round by round and a block is confirmed by the blockchain network at the end of each round. Fig. 3 depicts the four sequential phases in each round with explanation as follows: Leader election: all the blockchain nodes to elect a leader. Transaction packing : the leader to pack a set of transactions into a block. Block propagation: the leader to broadcast the generated block to the blockchain network.
id: 923f38657e64832f73671f0a56beab6f - page: 4
Algorithm 1 Evaluation of participation score Require: = {1, 2, , }: a set of transactions; , , , : participation coefficients of attraction information, visiting records, sign-in records, and transferred tokens, respectively. Ensure: : the participation score of . 1: 1, 2, 3 0 2: 3: for each transaction do if .Type = 1 then 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: end for 14: | 15: return {. } else if .Type = 2 then 1 1 + 1 else if .Type = 3 then 2 2 + 1 else if .Type = 4 then 3 3 + .
id: d9fbf6b9bd587e5d1b327847cae203b3 - page: 4
In the phase of leader election, each node can propose a set of valid transactions to be packed into a block. The validity of a set of transactions are judged as follows: , respectively, and the sum of the products will be output as the final score. If there are any transaction whose signature(s) is invalid, then the set is invalid. If there are two transactions that are exactly the same, then the set is invalid. If there are two transactions of visiting records with the same tourist ID but the time interval between them is less than one day, then the set is invalid.
id: 86926bf2586304fec19286c9312a8c78 - page: 4
The blockchain nodes will broadcast the final scores of the proposed sets of transactions. The reputation-mixed score of a blockchain node is calculated as the product of the final score and the reputation of the node. In the second phase of transaction packing, the node which proposes the transaction set with the maximum reputation-mixed score will be elected as leader. The leader will prepare the block by packing the transactions, calculating the Merkle tree, and generating the block header. In the third phase of block propagation, the prepared block will be broadcast in the blockchain network. If there is any transaction of token transfer that the token balance of the sender is less than the transferred amount, then the set is valid. Otherwise, the set is valid.
id: 8680da6ebd7cae11a027c25c09ffb575 - page: 4