1. Introduction
A loyalty program is a marketing strategy used by companies to reward their most loyal customers. Its other goals include attracting new customers, encouraging repeat purchases, and collecting information about customers. Currently, there are a wide range of loyalty programs; this is an issue because different applications are needed and the rewards do not suit all customers. Moreover, there is no interaction between the different programs, which makes it almost impossible to keep track of the status of all of them, and means users have to provide their information multiple times.
Some loyalty programs have found a way to operate with different businesses, but there are many difficulties in tracking information outside of their scope, for example, when a partner provides information for an external service.
A number of loyalty management systems have emerged as a way of overcoming these problems. These loyalty management systems provide new possibilities to build loyalty programs, and the tools to monitor them, faster. At the same time, they offer a way to create an ecosystem of loyalty programs that supports the user experience. While they solve drawbacks such as user experience, they still have problems related to third-party tools and incomplete connection between different systems.
Therefore, blockchain may be a viable option to address these challenges. The concept of blockchain consists of a chain of blocks that allows the storage of information. Each block stores a set of transactions, and these blocks are part of a network that any user can access. This technology introduces a new paradigm based on three core ideas: security, decentralization, and disintermediation [
1].
For maximum security, this technology uses distributed consensus algorithms that ensure that every transaction is trustworthy. Additionally, it utilizes mechanisms of cryptography and digital signatures to ensure only the owner can access its data [
1]. A final security-related concept is persistence, which means the data cannot be changed. Concerning decentralization and disintermediation, these two properties play a crucial role. Decentralization allows the user to control and to be the owner of the information it produces, as opposed to the current reality of large companies such as Meta and Google. Another property of a decentralized network is the trustless environment, which means no one needs to know or trust another entity, and each member has a copy of the data. This environment prevents anyone from corrupting the data and optimizes the distribution of resources [
2].
Since blockchain does not use third-party tools to analyze and verify transactions, it uses the concept of smart contracts. Smart contracts are self-executing programs stored on the blockchain. These contracts are triggered when the established conditions are met. Usually, they are used to automate the execution of an agreement between entities so that all of them can be aware of the expected result. This mechanism brings benefits such as performance and efficiency, trust and transparency, and security, as it only works as long as the conditions are met and stored later in the immutable blockchain. Additionally, blockchain may allow people to save money as it avoids delays, fraud, and intermediaries [
3].
This paper explores the shortcomings of current loyalty programs, identified through a literature review, and how the blockchain technologies might overcome them. Therefore, an innovative blockchain-based loyalty system is proposed, with the following contributions:
A fully decentralized platform;
Management of multiple loyalty programs of different types on a single platform;
Integration of meta transactions without including personal information, providing a seamless experience for any level of customer expertise;
The ability to handle multiple tokens within a single contract through the use of an ERC-1155 interface;
Reduction of financial and maintenance costs for retailers by facilitating near real-time transactions and eliminating the need for intermediaries and proprietary infrastructures;
Provision of better exposure to retailers and a better user experience for customers through a single marketplace in which all loyalty programs coexist.
The rest of this paper is structured as follows.
Section 2 presents a literature review, which includes a background on loyalty programs, blockchain, smart contracts, and meta transactions; it also discusses related work.
Section 3 describes and explains the proposed loyalty management system.
Section 4 discusses the proposed system and compares it with other systems. Finally,
Section 5 presents our conclusions and future work.
3. Proposed Loyalty Management System
In order to properly design a loyalty management system, first of all, we have to understand the problem and consider some factors. These factors include understanding blockchain capabilities and how they fit into the proposed system, addressing current customer and retailer concerns, and providing a better overall user experience.
The proposed system is a mobile application capable of managing several loyalty programs through interaction with a blockchain. Regardless of the knowledge and role of the user (i.e., retailer or customer), the application is designed to completely abstract users from the underlying blockchain.
3.1. System Description and Features
The system is a self-managed loyalty platform with which retailers of all sizes can create loyalty programs in which their customers can participate. The platform has two distinct users (customers and retailers), and the loyalty programs can include a variety of mechanisms. Despite the system requiring the use of blockchain technology, it abstracts and helps users in onboarding by providing each one with a wallet. These wallets are connected to the users themselves and are private. Furthermore, customers are not required to pay any transaction fee generated by the blockchain interaction, since the resulting costs are intended to be supported by the retailers.
This system includes two main components: a mobile application and smart contracts. Most blockchain applications are web applications, which limits interaction and provides an entry barrier for some less tech-savvy users. On the contrary, a mobile solution improves accessibility, taking advantage of the ubiquity of smartphones in everyday life. Despite having two types of users, the mobile application is the same for both of these types. The objective of smart contracts is to manage the loyalties’ mechanisms and to ensure that the assets of the users are secure.
One of the most critical aspects of loyalty programs is the need for security measures, which is especially relevant today, since security is a major global concern. With the objective of ensuring customer privacy, the proposed system does not store any personal information. On the other hand, it uses Web 2.0 authentication methods, which allow users to use their previously created accounts, thus preventing them from providing any personal information whenever they access the loyalty management system. Although the data stored on the used blockchain are publicly accessible and can be viewed by anyone, the underlying consensus protocols make it possible to validate transactions and identify any potential risk, which makes the blockchain a useful technology for ensuring data security. Furthermore, by implementing appropriate smart contracts, addresses not whitelisted can be excluded, and any malicious changes detected during transactions can be immediately reversed, thus ensuring data integrity.
Despite the mobile application being unique, both types of users have different use cases. Customers have access to a marketplace in which all the loyalty programs are within the scope of the application. For each loyalty program, a customer can view the information related to the business and a description of the loyalty program itself. Additionally, the customer can enroll in loyalty programs to start participating and earning rewards. Once the customer subscribes to a program, he/she can begin to spend and earn rewards. The system helps customers to track all the assets related to the various loyalty programs so that they can check and be aware of their progress.
Retailers have different use cases, as their goal is to attract more customers, thus increasing their business. Retailers can create a loyalty program by providing their business information and by choosing a loyalty mechanism along with a brief description. Additionally, during this process, the retailer can upload images to give a better perception of the loyalty program or business. Since the main goal is to increase brand reach, the retailer can access the analysis and statistics data of the loyalty program. As the retailer must pay transaction fees, he/she can also buy the required cryptocurrency in the app.
The mobile application provides a transaction system based on a QR code approach to trading assets with retailers/customers, thereby enhancing the overall user experience. All transactions require the existence of two individuals, and the rewards are defined by the retailers during the process. The two individuals must be one retailer and one customer, since customer-to-customer and retailer-to-retailer transactions are not possible.
Figure 1 gives an overview of the proposed loyalty management system, illustrating the main components and interactions. Customers and retailers, which are the only actors in the system, use their personal smartphones running the mobile application to access the system.
A customer accesses the system to interact and discover new retailers, while a retailer must create its loyalty program and exchange rewards with customers. The mobile application employs Web 2.0 credentials for user login. To enable customer interaction with the underlying blockchain network at no financial cost, each transaction originated by a customer first passes through a relayer, which then redirects it to the respective smart contract. On the contrary, a retailer interacts directly with the smart contracts. For the execution of asset transfers or rewards, the receiving entity displays the QR code while the other agent reads it. Upon completion of the QR code-reading process, the transfer of assets from the QR code reader to the receiver is triggered through a transaction sent to the smart contract. Depending on whether the transfer is being performed by the retailer or the customer, it will go directly to the smart contract or through the relayer, respectively.
Figure 2 presents three screenshots of the mobile user interface. The first screenshot shows the customer’s home page, which provides a concise summary of the retailers that the customer is subscribed to, along with their five most recent transactions. The second screenshot shows the retailer’s page, which provides comprehensive information about the retailer and its loyalty program, including the rewards available. Finally, the third screenshot shows the QR code that the user will need to scan in order to redeem their rewards.
Following an agile methodology,
Table 1,
Table 2 and
Table 3 summarize the system user stories mentioned previously.
3.2. Blockchain Selection
One of the most critical components within the proposed system is the choice of the underlying blockchain platform. Currently, there are numerous blockchain networks with distinct characteristics and purposes. For this specific type of loyalty management system, some key factors are essential, such as the number of transactions per second, cost per transaction, ability to support smart contracts, scalability, and a good source of information and documentation. Since this system will support several loyalty programs and each customer can subscribe to several programs, high transaction volumes per second are essential to ensure good performance. Considering the expected number of transactions, the cost of each transaction must be minimal so that retailers are not penalized and the platform becomes more affordable.
Since the purpose of the system is to support and manage different types of loyalty schemas and loyalty programs, smart contracts are mandatory. Therefore, the chosen blockchain must support them. Due to the need for the system to handle platform growth, scalability is required. Therefore, the blockchain network must permit scaling. The blockchain system must also have good documentation to ensure the best use of blockchain resources and capabilities.
The choice of a set of blockchain network candidates took all the mentioned factors into account. The chosen networks were Avalanche, Ethereum, Hyperledger Fabric, Polygon, and Solana. These networks are currently the most popular and are distinct from each other.
Table 4 summarizes their main characteristics for comparison. The information presented was obtained from the available documentation, except for the transaction price. Transaction prices for Polygon, Ethereum, and Avalanche have been determined utilizing the following specialized websites, which are designed for scanning transactions provided by the blockchains: PolygonScan [
25], EthereumIo [
26], and Avascan [
27] for Avalanche. Solana’s price is available on their official website [
28]. It is important to note that these prices are subject to change, as they depend on several factors, such as the value of the cryptocurrency at any given time and the volume of transactions processed over the course of a day. Concerning Hyperledger, the transaction price is zero, as it is a private network.
Despite Ethereum being the most popular among the five solutions, it presents a weakness regarding the number of supported transactions per second. Additionally, the cost for each transaction is too high, which can lead to platform rejection. Hyperledger Fabric (designated Hyperledger in
Table 4) is a private network with a smart contract environment and language distinct from the usual Ethereum Virtual Machine (EVM) and Solidity language, which can cause implementation problems. Even though Solana supports a higher number of transactions per second and results in a lower cost, it suffers from the same problems as Hyperledger.
The Avalanche and Polygon networks are both compatible with smart contracts developed for the Ethereum environment, since they use EVM. The main differences between these two solutions are the level of popularity, the supported volume of transactions per second, and the type of layer. Polygon is more popular and allows more transactions per second. It is also a layer-two network, while Avalanche is a layer-one. This means Avalanche is a network that works independently, while Polygon works in parallel with a main network (i.e., a layer one network such as Ethereum and Avalanche). In the Polygon case, the main network is Ethereum, but in the future, it will also be compatible with other main networks.
In conclusion, the preferred blockchain network for the proposed loyalty system is Polygon, due to its increasing popularity and capability of providing a fair price and a good volume of transactions per second. In addition, Polygon is compatible with Ethereum, which allows the transfer of smart contracts to the Ethereum network at any time.
3.3. Polygon Blockchain
Polygon is a layer-two scaling solution designed to improve existing blockchains. Polygon’s objective is to solve scalability issues while not compromising on decentralization. This is accomplished by using sidechains and leveraging the developer community and the existing ecosystem. Each blockchain network is made up of multiple networks. These networks consist of two distinct environments, one for testing and another for production. The production network is entitled the mainnet. Sidechains are “copies” of the mainnet that support asset transfers between them and the mainnet. They are an alternative to a mainnet network that create a new blockchain with its own mechanisms. Currently, Polygon is only compatible with Ethereum. Its key features are the following [
25]:
Scalability—fast, low-cost, and secure transactions;
High throughput—it offers up to 10,000 transactions per second on a single sidechain. It is possible to add more sidechains to increase the horizontal scaling;
Security—Polygon validators are also stakeholders in the proof-of-stake system, required to hold and lock a certain amount of cryptocurrency as a security deposit. This ensures that validators have a vested interest in maintaining network security and integrity. Validators who act maliciously or make errors that result in a loss of funds will be penalized by losing their security deposit. As a result, validators have a strong incentive to follow the rules and act in the best interests of the network;
Public sidechains—sidechains are naturally public, permissionless, and capable of supporting multiple protocols.
3.4. System Architecture
After taking into consideration all factors mentioned previously, it is essential to define a detailed architecture with all the different software components, the interaction with external services, and the communication protocols. The architecture is composed of three major modules: (i) the mobile application the users will interact with; (ii) external services for facilitating user integration with blockchain and providing a set of required features, namely InterPlanetary File System (IPFS), Torus Web3Auth, Ramp Exchange, and Openzeppelin; and (iii) smart contracts that contain the system’s business logic.
Figure 3 represents the system architecture.
As the system allows for different loyalty mechanisms, to facilitate the entire loyalty program management process, each smart contract represents a specific loyalty mechanism. Since numerous retailers with a specific loyalty mechanism can exist, each smart contract will inherit the ERC-1155 interface [
29] through the contract available through Openzeppelin. ERC-1155 is a token standard interface that facilitates the smart contract representing multiple tokens simultaneously, and includes management functions that efficiently help in reducing the fees. This interface, along with the already pre-built ERC-1155 contract, simplifies the whole management process and diminishes the effort needed to create smart contracts from scratch. Furthermore, since ERC-1155 allows multiple tokens to be managed within a single contract, the proposed loyalty management system can significantly reduce the number of smart contracts required, unlike current systems that require separate ERC-20 contracts for each token. Given the large number of tokens involved in our system, the use of ERC-1155 thus results in a more efficient and scalable solution that requires a minimum number of contracts: a single smart contract is required for delegating calls and storing data unrelated to loyalty programs, and a separate smart contract inheriting the ERC-1155 contract is required for each loyalty mechanism.
The proposed loyalty system includes an intelligent contract manager to simplify blockchain calls, which is responsible for receiving transaction requests and delegating their execution to a contract running a specific loyalty mechanic. The manager is also responsible for storing all generic data, such as which retailers are defined in the system, customer subscriptions, and smart contract addresses for loyalty mechanics. Through this approach, calls to interact and obtain information from blockchain are simplified. Furthermore, in order to prevent any unauthorized data manipulation, all data are directly associated with the user’s unique wallet address. This approach guarantees that only the users themselves can modify their data, thus preventing any malicious user from tampering with other users’ information.
In order to streamline the development of smart contracts for each mechanism and store them in the loyalty manager component of the proposed system, a loyalty mechanism interface was created (see
Figure 3). This interface defines four methods that each mechanism contract must implement to properly define its behavior. The loyalty manager stores all the mechanism contracts with a map, upon which the keys are an “enum” and the values are references to the loyalty mechanism interface type that corresponds to contracts responsible for delegating the received calls to the corresponding contracts.
Torus Web3Auth is a pluggable authentication infrastructure for Web3 wallets and applications. It provides seamless onboarding by providing web 2.0 login flows, such as Facebook, Gmail, and Twitter. Despite the fact that the user is abstracted from wallet creation, he/she is always in control of ownership. Torus Web3Auth also manages the key infrastructure of the wallets (thus taking the responsibility away from the system) and can perform direct integration through a software development kit (SDK) for native Android, which provides a group of tools to enable the implementation of authentication. This authentication infrastructure allows for better user integration with blockchain, with all abstraction layers provided.
Despite the proposed loyalty management system not being intended to store personal information, retailers can publish images about their business and other business information. All these data are stored in the IPFS module in a JSON-like file, in which the file is also encrypted and assigned a hash in order to access it. The hash is a set of randomly generated characters that is created based on the content of the file. IPFS is a distributed system for storing and accessing files and a peer-to-peer hypermedia protocol. Since inserting information into the blockchain has an economic cost, non-relevant and sensitive information related to users and the system can be left off the chain. IPFS is appropriate for this scenario. The only way of accessing the data is through the unique hash code, which will be stored on the blockchain and linked to the retailer’s information.
Ramp is a service that allows exchange between cryptocurrency and physical money. The need for this service comes from the retailer use case, as retailers need to pay transaction fees to interact with the blockchain. So, to simplify this activity, the platform directly supports the required money exchange option.
Meta transactions are essential to provide a more satisfactory onboarding process for any user, regardless of their degree of expertise. Openzeppelin relays will be employed to implement meta transactions, acting as intermediaries that will receive transactions from customers, thus preventing them from paying fees. These transactions will be sent via HTTPS and signed by the client that created them. In the current system architecture, all requests are routed to the loyalty manager or, in the case of customer requests, to the relay, which are then routed to the loyalty manager contract. However, as the number of customer requests may increase in the future, it may be necessary to assign multiple relays to the loyalty manager to prevent any relayer from being overwhelmed with requests and causing system blockages, and to ensure a smoother flow of operations.
Summarizing the aforementioned set of external services, Web3Auth is used for wallet/key infrastructure management, IPFS is used to store any data in off-chain mode, Ramp is used by retailers to purchase cryptocurrency to pay fees, and Openzeppelin relays are for meta transactions.
The mobile application is the interaction center in which users will execute their requests. In the case of retailers, the application communicates directly with the blockchain and external services. In the case of the customers, an HTTPS request is redirected to a smart contract, and is sent to a relayer whenever it is necessary to interact with the blockchain.
Figure 4 illustrates a temporal sequence diagram of a blockchain transaction in the proposed loyalty management system. Both types of users, i.e., customer and retailer, must first log in to interact with the system, as shown in the diagram. Then, if the user is a retailer, invoked transactions are directly sent to the blockchain, whereas if it is a customer, transactions go through a relay to avoid fees. After completing the login process, the retailer queries the blockchain to retrieve their data, such as the IPFS hash. Once the data are returned, a second request is sent to IPFS to retrieve the remaining information associated with the hash. When the transaction reaches the smart contracts, it firstly contacts the loyalty manager contract that is responsible for delegating the transaction to the right contract loyalty type.
3.5. Smart Contract Design
Smart contract design is a critical aspect of a fully decentralized system. As the sole source of project execution for data-related operations, smart contract design plays a pivotal role in determining the efficiency and cost-effectiveness of the system.
In order to streamline the implementation of multiple loyalty mechanisms, an interface has been created that must be implemented by each contract representing such mechanisms.
Figure 5 shows the loyalty mechanism interface, which defines four core methods that form the basis of each contract, as they inherit the capabilities of the ERC-1155 contract. In addition, the interface defines two standard events that must be included in each mechanism contract to ensure consistency and standardization across the system.
Figure 6 highlights the points mechanism contract, which is responsible for managing the entire loyalty programs for this specific mechanism. The main functions of this contract include assigning a unique token ID to each merchant, allowing only the owner to mint tokens for their respective merchants, and performing transfers.
Figure 7 shows the mint function, which is responsible for creating tokens for the retailer. To prevent unauthorized minting by any entity, only the token owner has the ability to generate tokens for their designated loyalty program. In addition, when a new retailer registers its loyalty points program, the smart contract assigns a token ID and stores it within a hash table (see
Figure 8). This combined mechanism of token ID assignment and owner-restricted minting capability ensures secure and controlled token generation.
Finally, the loyalty manager contract, shown in
Figure 9, acts as a central hub for all incoming requests in the loyalty system. It is also designed to support meta transactions, allowing customers to transact without incurring transaction fees. To fulfil this requirement, the contract inherits from the ERC2771Context contract and requires a forward contract as a parameter to validate whether a transaction should be executed or ignored. This forward contract and the ERC2771Context contract are standard contracts provided by OpenZeppelin and have not been implemented by us.
Similar to the approach presented in [
9], where contracts store rules with references to interfaces, our Loyalty Manager contract follows a similar pattern. This allows for a more dynamic code implementation and the ability to add new contracts during runtime. To achieve this, the contract uses mapping, as shown in
Figure 9, with an
enum as the key, which is converted to integers at compilation time, and uses the contract references as the values. In the future, the
enum can be removed, and contracts can be defined directly with dynamic incrementing integers.
By using references to the loyalty mechanism interface, the loyalty manager contract only recognizes the four defined methods, providing enhanced security and preventing access to other functions that may be defined by the contracts themselves. This approach also makes the code more dynamic, eliminating the need for nested ‘if’ statements to determine the correct contract to invoke.
Figure 10 and
Figure 11 show how requests can be redirected to the appropriate contract in a straightforward manner.
As discussed in
Section 2.1.4, Openzeppelin provides a plugin that allows the proxy pattern to be used without having to implement it manually. This plugin allows the use of the proxy pattern and the modification of the business logic of the contracts while preserving the data. All of the above contracts are publicly available in the GitHub repository [
30].
4. Discussion
The proposed system aims to manage various loyalty programs with different mechanisms. Even though the blockchain solves significant problems, it is impossible to address concerns related to rewards and personal preferences due to inherent human characteristics.
The proposed loyalty management system offers limitless opportunities and can reshape how traditional loyalty systems are implemented. It provides new paradigms and possibilities to users with any level of knowledge about technology to create and interact with the blockchain without having the inconvenience of learning it. This way, users can easily participate and enjoy the loyalty programs of their favorite brands.
The system works on the Polygon chain, which implies the use of Solidity as the smart contract programming language. Polygon also includes a network for testing purposes (which is useful while developing the system) and offers ways to track transactions.
A mobile application is available to interact with the blockchain. This application abstracts its users by setting up all the requirements for them. Additionally, the way smart contracts are designed allows for a more manageable infrastructure of loyalty programs.
With the ERC-1155 token interface standard, each retailer can mint its own tokens and be responsible for their generation, thus gaining better control and ownership. Whenever a customer purchases something, the retailer mints the desired number of tokens and gives them to the client. In order for the customer to be able to purchase goods or services from a retailer, he/she needs to have a certain number of tokens from that retailer.
The designated external services are intended to produce a better user experience. Web3Auth is used to grant the user the ability to join the system with any credentials they have from Web 2.0, while managing the wallet and keys for user interaction. Ramp service is used to accommodate users when they need to buy cryptocurrencies. It offers an easy access point for currency exchange without leaving the application. Relays are used to diminish entry barriers for customers, as blockchain requires mastery, experience, and cryptocurrency to interact with. Since customers do not adhere to applications for which constant payment is required, the system acceptance would fail without the use of relays.
With the proposed loyalty management system, the users apply their previous Web 2.0 credentials and do not have to enter new information. Furthermore, the system does not include any database, which means that personal data will not be stored.
4.1. Comparison with Other Systems
There are several advantages that can be highlighted when comparing the proposed loyalty system with the related works discussed in
Section 2. The universal blockchain system [
5] supports multiple loyalty programs and partnerships, which our system can incorporate. However, this system limits the loyalty mechanism to points and uses a backend server for the users’ application to communicate. Additionally, it stores user data in a database. In contrast, the proposed system eliminates the need to store personal information. Moreover, it does not rely on any backend system and achieves a more decentralized approach.
The system proposed in paper [
13] has similarities with the universal blockchain system, since both employ the points mechanism using tokens. However, the proposed system incorporates additional types of loyalty mechanics and abstracts the users from the concept of tokens, enabling them to interact with points in a manner similar to non-blockchain-based platforms. Another distinguishing factor is that the author in [
13] employs the ERC 20 interface for token creation, which requires that each token exists as a smart contract, whereas the proposed system uses ERC-1155 for managing multiple tokens. Additionally, the expectation that users possess knowledge of Ethereum wallets in [
13] may present challenges for novice users.
The loyalty program that utilizes the Waves blockchain and a mobile application [
19] employs a token creator that generates a unique token for each retailer. However, this system also stores personal information and potentially creates a token contract for each retailer, similar to the aforementioned system [
13].
The reward system in [
21] uses tokens that can be converted into points, and the platform is specifically designed for the FMCG industry, limiting its scope to this domain. However, this system resembles our transaction process, in that it employs QR codes to initiate the transfer of assets.
Although the systems proposed in [
22,
23] do not directly aim to manage loyalty programs, they improve these programs by facilitating the exchange of assets between different loyalty programs. Currently, our loyalty management system lacks features that allow for partnerships between retailers; we plan to implement these features in the future.
Since the existing loyalty systems discussed in
Section 2 do not specify their authentication process, it is assumed that they have created one and currently manage it. This results in an additional step for user onboarding, as they have to enter new information to create a new account. In contrast, the proposed system employs Web3Auth, which uses Web 2.0 credentials to streamline the authentication process. Additionally, a significant advantage of the proposed system is the use of meta transactions, which provide a superior user experience by eliminating the need for users to pay blockchain fees.
4.2. System Benefits
The designed system architecture offers countless benefits for loyalty program ecosystems; it helps to reshape the traditional approach for a more modern, intuitive, and secure model.
The main benefits of the system are the following:
The platform fully embraces decentralization and leverages the power of the ERC-1155 token to efficiently manage tokens and reduce the number of contracts required.
The system provides near real-time transaction speed, allowing users to redeem their rewards faster without having to wait too long;
Due to the behavior of smart contracts, third-party tools and intermediaries are no longer necessary;
The system helps to reduce costs. As intermediaries and third-parties are abolished, retailers can save money. Furthermore, the infrastructure needed to manage the loyalty program is transferred to the blockchain;
Blockchain offers a secure infrastructure;
A single digital wallet can be used to store all retailers’ tokens, eliminating the problem of managing rewards from multiple brands. It also gives complete control to the user;
The platform accommodates all distinct levels of user knowledge, allowing more experienced users to use their wallet providers, and inexperienced people to have a smoother first contact with it;
The platform is capable of managing several types of loyalty mechanisms, increasing the diversity of loyalty programs. In addition, the platform welcomes any retailer of any business size. This makes it easier for new retailers to join and customers with more options to choose from;
It provides a marketplace with all available loyalty programs. On the one hand, the marketplace helps retailers gain greater exposure to attract more customers. On the other hand, customers have a better access point to all available loyalty programs, meaning they are able to discover new businesses;
The system takes advantage of the fact that smartphones are increasingly present in people’s lives, thus enhancing the overall experience.
4.3. System Limitations
The proposed system has great advantages. However, it also has some limitations:
Due to human nature, it is almost impossible to solve concerns about rewards and personal preferences;
Even though the system does not require any personal information, some information is required at the retailer’s business level;
The blockchain is a new subject, and this may affect outcomes. Because it is so new, it may be subject to impactful changes at any time, which can affect the system as it is currently designed, making it unsuitable for the current purpose;
Exchanging of tokens between two customers is not allowed;
Retailers cannot form any partnerships, which limits the possibility of trading retailers’ assets;
The transaction process requires the physical presence of the retailer and the customer. The application does not have an item or service available for purchase;
Transactions can only be executed in person between a retailer and a customer;
Remote transactions are not currently possible within this system.
5. Conclusions and Future Work
In this paper, a proposed loyalty management system that aims to manage different types of loyalty programs and mechanisms is described. This proposal includes several challenges in the technical domain, since the blockchain introduces new paradigms.
The system aims to overhaul the way in which traditional loyalty programs operate, and attempts to eliminate several entry barriers and infrastructure issues. It aims to replace conventional physical cards, instead adopting the strategy of using the smartphone, an increasingly ubiquitous object in everyday life. The platform also includes a universal system that aggregates loyalty programs, thereby simplifying the user experience.
The usability of this system allows users to have better interaction with the brands that they appreciate the most, alongside a better idea of and ownership over their rewards. Additionally, the system provides a marketplace with all available loyalty programs in a single space, removing the need to commit to having multiple applications and allowing management of all loyalty schemes at once. The system allows retailers to customize their own loyalty program without restrictions on the type of mechanism implemented. Furthermore, it exposes brands to new audiences, increasing the accessibility and reachability of the business.
The proposed loyalty management system reduces the problem of managing the loyalty program. It removes the responsibilities from the retailers’ side, giving them more freedom to focus on satisfying customers and improving their loyalty program and business. It also removes concerns about the privacy of personal information, since the system does not require it. From the customers’ perspective, it offers a new way to explore and know new businesses without the burden of having to download new apps and repeatedly introduce their data. It offers an opportunity to have a first encounter with the blockchain without worrying about learning and understanding the process. Overall, the platform prioritizes the user experience more.
Although the system solves significant problems, it has also some limitations. It cannot control human aspects, such as preferences for rewards. The blockchain is still extremely new and is constantly changing, which can impact the platform. The platform presents limitations about partnerships among retailers and the transaction process. The transaction process only considers trades between a retailer and a customer, and needs both to be present in the same room.
In general, the use of the proposed system is intuitive and simple. Its primary objective is to design a platform capable of managing different loyalty programs with distinct mechanisms. It presents a scalable solution, such that it is possible to add and expand its functionalities.
In terms of future work, we will be continuing with the implementation of the proposed system, particularly with regard to the remainder of the loyalty mechanism and improvements to the mobile app. It is also relevant to continue studying new blockchain networks and technologies, as they could potentially be better options. Furthermore, it is necessary to expand transaction possibilities in order to give users better control of assets. Regarding partnerships, it is crucial to review the architecture of smart contracts. It might be beneficial to make the application more interactive through the addition of a functionality that allows the purchase of products and services without the necessity of physically going to the store.