1. Introduction
After the introduction of blockchain, different applications and industries have started to use different types of networks based on their needs. The payment industry has shown a greater willingness to use this technology in its new systems because of its proximity to its nature. The financial industry’s 60% share of the total investment in blockchain technology is evident [
1]. The financial industry uses this technology in customer identification, asset management, asset tokenizing, international payments, and many more areas.
Benefits such as transparency, reliability, and consistency of information in blockchain-based networks allow financial and credit institutions to offer various token assets and to provide diverse products to their customers [
2]. Although financial exchange in a completely open space offers many benefits, due to the nature of banking and the competitive environment between banks, these institutions tend to monitor the existing networks and evaluate users’ behavior [
3]. One of the most popular blockchain-based financial networks is the Stellar financial network. The network is free and open-source; developing new systems using this network is very easy and cost-effective. A complete platform consisting of many modern banking features required by the payment industry is considered in Stellar. These features make Stellar a growing system in various countries for use in the core of blockchain-based financial networks [
4]. The Stellar network has introduced a novel approach for distributing collective assets to network members. Transaction fees and a specific inflation charge are deposited in the transaction pool in this network. Network participants will collaborate for distributing the deposited assets back to the network based on a voting process. This approach can also be extended for charity purposes, where people donate their holdings to a collective pool and then vote on a destination to which the money will be sent. The majority-voted destination will win the election and receive the money [
5].
In most cases, choosing an eligible destination for donating is challenging for users. Users do not know how to fairly select a destination for their donations. This issue creates an unfair division of assets between different entities. The majority of decisions are made based on personal feelings, instead of precise information about the destinations or the real-world situation. Voting without proper knowledge leads to the unfair elimination of some eligible institutions in the collective voting process. Moreover, since blockchain is a distributed independent network, there is no authority to provide a healthy voting atmosphere for users. People are participating in the voting individually without any control. Although there is more transparency in the election process without a central authority, some new e-crime activities have emerged to force people to take destructive actions or make biased decisions [
6,
7].
Because of the importance of a fair and targeted distribution of collective assets which comprise very high amounts in a national financial system, it is necessary to provide a strategy to help users vote fairly. In this paper, first, a practical financial network based on the Stellar platform was designed and implemented as our research prototype. Then, we presented a solution for mitigating the challenge of fair collective asset sharing using a context-aware recommender system. Context-aware recommendation systems can provide personalized suggestions to help users make more efficient decisions when dealing with complicated domains. These systems can use the dynamic contexts of mobile applications, users, and networks to provide suitable and fair suggestions [
8]. Our system consists of three parts:
1—The user interface, which mediates the user’s relationship with the system and the recording of user transactions (wallet);
2—The core off-chain system, which is responsible for our recommendations and off-chain logistics;
3—The Stellar-based blockchain test network and SDKs, which are responsible for making transactions and for creating the blockchain network. Our wallet application provides a user interface for people to participate in the voting process. We implement a context-aware recommendation system that includes dimensions of the network and the user’s interests to help users contribute more efficiently and fairly to the election process. Since many individuals have the same interests, it is likely to achieve better offers by using communal factors of the society in our recommendation system [
9].
2. Research Background
Collective fair voting in the Stellar network is still in its infancy, and so far, no solution has been proposed or developed to improve the fairness of the selection of division targets. However, different definitions of fair algorithms that are usable in the recommender systems used in this research have been proposed, and these will be the basis of our work.
In [
10], a solution called “awareness” was proposed. This solution states that to select members in a system, we do not consider their sensitive and unique features as a whole, assuming instead that all members are the same [
10]. In other words, if A ∈ {0, 1} is a sensitive characteristic of, for example, the number of people employed by a charity, 1 represents more than 100 and 0 represents less than 100; C: = c (X, A) ∈ {0,1} as the selection function of this institution in the recommender system, according to this strategy. Formula (1) shows the selection function of importance equality:
Formula (1). The selection function of importance equality.
This means that the importance of large and small enterprises is the same, and these characteristics have no influence on their selection.
Ref. [
11] presented a solution called the p% law. In this rule, if A ∈ {0, 1} is the same characteristic of the persons served by the institutions, the institutions with A = 1 are large corporations, and the institutions with A = 0 are small corporations [
7]. In this way, these entities are not treated equally, and a threshold is defined as p, which specifies the threshold for fair selection. This limit is usually divided by 80%, which means selecting from group A = 1 in 80% of choices and choosing from group A = 0 in 20% of choices. This rule is known as the four-fifths law [
11]. The disadvantage of this method when using the fixed four-fifths rule is that, although the choice between the two groups seems to be somewhat fair, there is no criterion for fair selection among the category itself, such that, if categories are always selected randomly according to this algorithm, then the result will be fair.
In [
12], a solution called “equality of opportunities” is presented. In this solution, in addition to the preceding sections, a set is defined as Y ∈ {0, 1}. This set can be non-binary, and can contain many variables and conditions. This collection reflects the level of competence of each member in their department. In other words, some members are more critical of being elected in each set discussed, with A = 0 or A = 1. For example, they meet the needs of patients, so helping them is more important [
12]. In this solution, the goal is to provide equal opportunity to qualified members in two different areas. If P0 is the probability of being selected from the group with A = 0, then P1 is the probability of being selected from the group with A = 1; this solution is shown in Formula (2):
Formula (2). Opportunity equality strategy.
In [
13], inspired by [
14], a solution called “individual justice” is proposed. For each member, regardless of the group to which he belongs, and independently based on a number of its properties called input property vectors, as well as using a function called the metric function, the degree of selectivity of this member will be determined. In this solution, the metric function design, according to the problem conditions and inputs, will be the essential part of the solution.
Figure 1 shows the x and x2 feature vector mapped to two different selection spaces by the function (M) [
13].
These methods can lead to a fair process for ranking available suggestions to the users in a recommender system. These systems calculate points for ranking and sorting the list of suggestions for the user by calculating several attributes by type and position. User feedback on this sorted list can help improve the results of the recommender system. Of course, there are also traditional approaches to creating justice, such as those used in operating systems to schedule processes. The simplest of these is the round-robin method. This scheduling method has limitations, including that many of the condition-based requirements are not concerned with providing an optimal suggestion, and selection priorities are shared equally [
15]. As a result, using such algorithms in fair recommender systems will not yield excellent efficiency.
In [
16], a method is presented to rank suggestions based on their efficiency and priority using existing factors relevant to conditions. In this system, any option obtains a performance score by using a set of features and factors. This score is constantly updated, and the user is offered the appropriate suggestion [
16]. This system somehow creates justice by using equality of opportunity.
In [
17], a leader-based Byzantine fault-tolerant replication protocol for the partially synchronous model was introduced. In this method, they decide by using a leader and a message-passing protocol. All nodes send messages to the leader and try to vote for action. If the leader obtains enough votes, which is n >= 3f + 1 non-faulty node, then a decision can occur. In this method, there is no ranking process, and all nodes have the chance to be the leader.
Table 1 compares the closest-related works to the current study.
Despite the wide usage of fair algorithms in different branches of computer science, there is no work on collective division in blockchain networks such as Stellar. Although studies on recommender systems have been conducted in previous articles, there is no solution so far, due to the nature of blockchain-based networks in the financial field and the need to improve the targeted distribution of collective assets using the concept of voting. In voting-based systems, the targeted participation of all members and helping them choose the best option are the system’s goals.
3. Research Method
The overall process of this research, which includes implementing and connecting a destination-selection improvement system in our Stellar financial network as a solution to the challenge of distributing collective assets, is illustrated in
Figure 2:
In general, the destination-selection improvement system based on the Stellar blockchain network consists of three critical sections. These sections include:
1—An intrachain network based on the Stellar blockchain system that provides the entire network base structure for use in the user interface, the primary token wallet. This structure includes the fundamental protocols and libraries that the Stellar network has provided developers for open-source use;
2—An off-chain process used to collect user identification information, primary information records for use in the selection-improvement system, and the platform of the performance of the collective distribution-destination selection system. The algorithms needed to use the selection-improvement system are also implemented in this section;
3—Interface connectivity and integration of the above sections to use and deliver results in an Android-based mobile wallet. This wallet is a link between the blockchain network and the off-chain system used to establish an end-user relationship with the system, and it plays a vital role in data collection and overall system development. In the following, we give a detailed overview of each above-listed sections.
Figure 3 shows the system overview.
3.1. Blockchain Transaction Service Provider
Building a Stellar-based network capable of fully delivering all the services in the Stellar system requires a considerable amount of time and cost to implement and configure many servers. This issue makes it impossible for many researchers to provide these features to study this network. Therefore, to solve this problem, Stellar has developed a convenient solution. Stellar provides a network containing some nodes that form a complete blockchain network. This network is generally separated from the original Stellar network on which the Lumen cryptocurrency is located. It has also developed a web application to use network APIs under an HTTP protocol. This app was created to use and test many APIs on the network. Stellar has named this network the Stellar Test Network, and named the app Stellar Lab [
18]. The main reason for the development of this lab is the use of freelancers who usually work for research purposes on the network. This lab provides all the services available on the Stellar network to develop applications that are located in the fourth layer of the Stellar Ring. In general, this network is used for the following purposes:
To create test accounts with a test inventory to perform the transaction;
To develop applications and conduct research on Stellar without the possibility of destroying valuable assets;
To test existing applications;
To perform data analysis on a smaller, non-significant dataset than the original network;
This research will also use this network to provide a transactional blockchain network.
3.2. Off-Chain Selection-Improvement Management System of Collective Distributed Destination
Due to the limitations and protocols available in the blockchain network, all side processes cannot be implemented. Moreover, many of these side features, by nature, do not need development and cost to be implemented on the blockchain. These sections will be developed as an off-chain process and will provide complementary network services to complement the functionality of the UIs. In this research, two significant parts have to be designed, developed, and integrated into the interface, including a wallet based on the Stellar Test Network. These sections will be developed as a web-based system outside the blockchain network and will exchange data with the user interface using the RESTFUL API interface on the HTTP platform. The two parts are a Recognition and Customer Information Registration Module, and a Collective Improvement Management Subsystem, which are based on a multi-dimensional recommender system utilizing system dimensions and users to provide targeted purposes for users to participate in voting.
3.2.1. Customer Recognition and Registration Module
The first principle in any non-public financial system is to identify and record customer information. This service should be developed as the blockchain network supplement to collect identity data first. This subsystem generally has three main tasks, which are:
User identity registration: This includes the customer identity registration, consisting of a name, mobile number, email, national code, and public key account, mapping the ID on a one-by-one basis;
Simple mapping and logging of the public account key: The service will embed the key received from the blockchain network to the off-chain network, along with the unique identifier, after the user logs in and makes a public key for her-/himself;
Recording user areas of interest: This service collects and records data about areas of interest for use in the selection-improvement system. In general, there are four areas of interest to users in the system. These four areas include charity, education, economics, and healthcare. Users have to choose from 1 to 5 at the beginning of the network to help them rate these areas in terms of personal interest. This selection will be used in the future as one of the targeted recommendations in the selection-improvement system.
3.2.2. Selection-Improvement System Module
This module is the most critical part of the system. It receives the previous module’s information as input; then, using other dimensions implemented within the subsystem, it provides users with a targeted recommendation list that includes the public key of these accounts for use in the collective voting process. All the logic and algorithms involved in generating the recommendation list are implemented here. The components of this subsystem are described separately, below.
A text-based recommendation system is used to generate the recommendation list for the destination selection. In this model of recommenders and the basic recommendation algorithms based on similarity or popularity, the system incorporates network and user-state factors in their recommendations, and these factors are dynamically changeable on the network. In the developed system, three essential components involved in the network were considered:
The first part is the destinations in the voting process. These destinations are the organizations or companies that operate in each of the four selected system areas mentioned earlier. The nature of these organizations introduces three main dimensions that will influence future decisions. These dimensions are shown in
Figure 4.
The first dimension is the functional field of the organization that influences users proportionately for voting;
The second dimension is the size of the organization. Size is a number that can be gained from different factors. The number in this study is determined based on the number of served people. This number means a measure of the amount of aid needed to be absorbed to meet the organization’s needs. For example, a charity with 100 needy members is larger than an organization with ten needy members;
The third dimension in this section is the system selection priority, assigned by the central system management to each organization in particular conditions. This factor shows the importance of each destination organization in attracting help. The higher the number, the higher the priority and the importance of the destination organization to attract more help. Using this factor is due to variable conditions in the real world, making internal computing difficult. For example, if an unexpected event such as an earthquake occurs, donations from people should be given to charities rather than educational entities. This factor can enhance an organization’s importance at a specific time for targeted bidding and can be used as a lever to control internal network policy in critical times.
The second part is users. When the users join the network, their interests in the four areas are recorded. This amount of interest, alongside each entity’s workflow, is used as a computational dimension to generate recommendation results. Each person will rate each area from 1 to 5 at the beginning of registration, according to their interest in each field.
The third part uses past collective selection transactions by users, which can be used as a third-factor for producing targeted recommendations. This section includes a service to collect information on users’ collective selection transactions. This service is used in this research to analyze the similarity of users as another factor of the system.
These three parts form the system’s essence, and targeted recommendations will be produced using these described sections and dimensions.
3.2.3. The Algorithm for the Selection-Improvement Section
The algorithm consists of two general parts which, together, form the system’s overall function. The system receives the unique identifier described in the customer registration module to identify and record customer information at the input. The output returns a sorted list of recommendations in the JSON form that fits the user’s information and attributes. These two parts are as follows:
Basic Recommendation-Generation Section: The basic recommendation calculation algorithm is implemented in this section. In the first step, a recommendation list is generated using the history of previous transactions of the target user, and his/her similarity to other people based on the type of registrant transactions, using Pearson’s similarity method. The list includes several choices classified by the network’s collective similarity factor. This list is then given as an input to the text-based recommendation section to improve its results, based on the context parameters, and to produce the final list.
Final Recommendation-Generation: The user’s favorite list of privileges is extracted from the database using his unique identifier and given to the final calculation function. This function will calculate the score of this section for each organization based on a weighted average of two priority and size components, and will add user interest based on the organization context. The calculation formula is presented in Formula (3):
Formula (3). The formula for calculating the final recommendation production section.
Due to the size variable’s importance in this study, a higher weight coefficient was used for this factor.
Finally, the results obtained from this section are computed and combined with the results from the previous section, obtained from the similarity of choice. The overall score for each selected destination is calculated based on the specific characteristics of each user, and returned to a user’s wallet in a sorted list for the final output.
3.3. Wallet, Based on the Stellar Network
In this study, the importance of gathering information from users and the necessity of having an interface through which users can interact with the network and developing a platform for them to do so are foregrounded. In addition to connecting to the Stellar blockchain network and building an account for users on the network that includes their key pair, this platform should be able to connect to the off-chain sections developed for the selection-improvement system. In the end, this interface should allow users to view targeted suggestions made in the system and to use them in the cumulative voting process. To do this, we developed a mobile application under the Stellar platform. This program communicates with the test network using the Stellar libraries and performs blockchain operations. Stellar has developed this open-source library.
3.3.1. Wallet Design Challenges
In any customer service-provider network, an interface must be available to enable users to use the embedded services. This interface can be ATMs, store terminals, or even bank branches that are a physical interface. In blockchain-based systems, this interface is the wallet that provides users with all the services in the financial system, including blockchain network services or off-chain services. Users of the system only see this part. This wallet is a gate for collecting information from users. As a result, this wallet should primarily communicate with the blockchain network and provide users with basic transactions and services. For this, all blockchain network services must be implemented based on their protocols in the wallet. In this system, in the first step, all network communication interfaces must be implemented to register and generate a pair of account keys and to register encrypted transactions based on the Stellar SDK. Next, all the services needed to collect data from users and provide lateral services that are not implemented by default on the Stellar network should be separately implemented and put in the wallet.
3.3.2. Wallet Components
User Account Creation and Users’ Basic Information Collection: Any user who wants to log in for the first time must first register on the network using his application and select a unique ID for himself. In this section, the user identity data and the ID selected by the user are received. This ID must be unique and must not have been used by another user in the past. Thus, this ID will be reviewed before registering information, and an error will be displayed when a duplication occurs. Next, the users should record their interest in each of the system fields, and the recommendation score is calculated using the algorithms described in the previous sections. In this section, users can assign a score of 1 to 5 to each of these domains, which are already defined in the system based on their interests.
Wallet Operations Selection: At this step, the user enters the environment of the main wallet and will be able to perform network-based operations and use a cumulative voting system. This section serves as the wallet’s homepage, and the user will be able to select the actions he/she wants to take after opening the wallet. These include sending or receiving money, reviewing transaction history, or participating in a collective voting process.
Target Selection for Collective Selection: In this section, users will vote by declaring a public key account that they tend to and the collective assets which belong to it. In addition, the interface to the destination-selection improvement system is provided here. Upon logging into the recommendation section, users will view the list of recommendations produced using their attributes. In this section, the web service of generating recommendations is called by sending the user ID as input, and the results of this section will show in a selectable list where the user will be able to select these destinations in a collective vote.
5. Conclusions
One of the most critical challenges in blockchain-based financial networks is the fair distribution of collective assets by a public election process. This is a significant concern, since a high volume of funds is collected and distributed in this sector. This research focused on the Stellar financial network because this network is substantially growing in the practical economic domains. A standard financial platform was developed based on the Stellar blockchain network. We created a mobile wallet for the Android platform using the Stellar SDKs. This wallet can connect to off-chain server services to provide recommendations for users in the election process as well as connect to Stellar’s network APIs.
We developed a context-aware recommender system to mitigate the unfair distribution of collective assets. Our system helps users participate more fairly in the voting process by making targeted suggestions using the network factors and users’ interests. Then, several tests were reviewed on the system to demonstrate this method’s effectiveness for solving the existing challenges. The experiment results show that recommender systems are an appropriate solution to the challenge of the unfair division of collective assets. Concerning the importance of this issue in real-world financial networks, and the growing development of blockchain technology among payment research firms, future research can focus on finding a fair collective voting process for blockchain networks. These networks are transparent and distributed; however, the lack of a central monitoring authority can pose practical challenges. Many participants try to influence others’ votes, or make them vote for specific destinations; therefore, finding solutions to improve participants’ general knowledge about the election process can lead to a better election. Future studies can focus on finding more dimensions for a context-aware recommendation system to improve the suggestions. Moreover, other methods for distributing collective assets, instead of elections, can be a promising area of research to find fairer strategies for distributing assets.