# A Blockchain-Based Auction Framework for Location-Aware Services
###### Abstract
In a reverse auction, the buyer announces the details of the requested service or goods, and the sellers compete by providing the lowest possible price for the requested service or goods, focusing on lowering the cost. Moreover, the auction strategy can be further categorized into absolute, reservation, and combination strategies [6; 7; 8]. Using the absolute strategy, the bidder with the highest bid is the winner of the auction, and each bidder is only allowed to submit one bid. Using the reservation strategy, the seller can cancel the auction if the offers do not reach a predetermined threshold price. In the combination strategy, a mix of absolute and reservation strategies can be established, whereby the bidder with the highest bid wins the auction if their bid reaches a pre-determined price threshold. In this work, we employ a combination strategy to utilize the benefits of both the absolute and the reservation strategies. This paper proposes a blockchain-based, sealed bid, reverse auction framework as a decentralized auction framework consisting of pre-auctioning, main auctioning, and post-auctioning processes. This location-aware framework employs these components powered by lightweight algorithmic solutions to ensure the ease of the business flow. The sealed bid auction nature reduces the pressure on the security-related mechanism, which further supports the use of blockchain technology. Additionally, the limited number of offers in such a bidding strategy contributes toward minimizing the cost of running the auction on a public blockchain. With minor modifications, the proposed framework can address open-forward auction scenarios. The proposed framework primarily deals with four types of rental services: (1) storage space rental, (2) apartment rental, (3) transport hire, and (4) parking space rental. Each auction party (seller or buyer) in this framework is associated with a service index (SI) that represents the quality of the service they provide. The SI is cumulatively calculated, considering the fulfilments of the auction requirements. Moreover, the proposed framework employs a fee redistribution strategy between the participating sellers to encourage the sellers to place the best possible bids. This redistribution relies on the blockchain cryptocurrency that facilitates the processing of financial transactions in a decentralized manner. In the case of raising disputes, the framework provides a decentralized violation dispute component to resolve any dispute between the bidders and sellers during the contract period. This component uses the information collected during the auction to determine whether a quality of service (QoS) violation occurred and penalizes the violating party. The contributions of this paper can be summarized as follows:  
* We devise a rewarding algorithm that encourages the sellers (bidders) to submit the best possible offers. * A service index calculation component is designed, which employs a ranking algorithm to distinguish between the sellers in terms of the provided QoS. * A decentralized service violation dispute component is proposed to facilitate the disputation of any raised service violation claims during the auction contract period. * The proposed framework is implemented by Solidity (0.8.17). Hardhat is used as the development environment and Ethereum blockchain as the targeted blockchain. * Several experiments are conducted to analyze the cost and the overall efficiency. The analysis results show that each auction participant is expected to pay, on average USD 5.5 to participate in the auction. The experiments indicate that the rewarding mechanism motivates the bidders to submit their best offers. This behavior is established since the rewards of the bidders, who submitted offers close to the winning offer, are expected to be substantial. Furthermore, the efficiency of the proposed SI is investigated to highlight its potential to improve overall performance. The rest of the paper is organized as follows.