Keywords

1 Introduction

Blockchain Technology was introduced by Satoshi Nakamoto in the paper “Bitcoin: A Peer-to-Peer Electronic Cash System” [12] in 2009. Using the blockchain technology, peer-to-peer data transfers can be done without the trust of third parties.

Recently, many applications are being developed using the blockchain technology including “blockchain games”, which are games which uses blockchain to “prove the provenance of specific virtual items” [3]. For example, Spells of Genesis [6] is a blockchain game which treats some of the cards used in the game as a token on blockchain, which makes the cards collectible and tradable outside the game, having the ownership of the card proved by blockchain.

In this paper, we focus on one of the key components of the blockchain technology, “consensus algorithm”. Consensus algorithms are algorithms which determines who will generate the block and get the reward. Each blockchain uses a certain consensus algorithm. For example, Proof-of-Work (PoW) for Bitcoin and Ethereum, Proof-of-Importance (PoI) for NEM [9] and Delegated-Proof-of-Stake for Lisk. Based on the consensus algorithm, transactions on the blockchain are gathered and verified to form a “block”. These blocks form a chain and since “To modify a past block, an attacker would have to redo the proof-of-work of the block and all blocks after it and then catch up with and surpass the work of the honest nodes” as explained in [12], the transactions will be non-reversible.

However, most of the blockchain games which rank high in trade volume [2] work on Ethereum blockchain which allows the blockchain game developers to easily deploy smart contracts, which are proved to be secure and non-reversible by the blockchain. However, Ethereum being a “decentralized platform that runs smart contracts” [5], it is not optimized for developing blockchain games. Therefore, we propose the Proof-of-Achievement algorithm, which is optimized for blockchain games which (A) Motivates the player to play the blockchain game by giving incentives from the blockchain. (B) Has a design based on gamification which motivates the user. (C) Realize high-speed transaction and high scalability.

In this study, we have conducted a user study to investigate the effects of the PoA algorithm. Through the results of the user study, we discuss if the PoA algorithm could increase the motivation for playing the blockchain game.

Our final goal is to develop a game platform based on the proposed blockchain system and be able to trade cards or game items from different games on the same blockchain.

This paper is structured as follows. In Sect. 2, we show some related works. This includes some examples of consensus algorithms that are related to this paper, an example of a blockchain game and the explanation of DApps. In Sect. 3, we will explain our approach. This includes how the Proof-of-Achievement (PoA) works and how PoA will motivate the blockchain users. Section 4 includes he explanation of our prototype system. We explain the how the prototype system is implemented and the what kind of game the participants will use. Section 5 includes the explanation of the user study and the results. Finally, in Sect. 6 we will conclude the study.

2 Related Work

2.1 Consensus Algorithm

Proof-of-Work

Bitcoin is the first and the most notable cryptocurrency. Cryptocurrency is a “medium of exchange, created and stored electronically in the blockchain, using encryption techniques to control the creation of monetary units and to verify the transfer of funds” [15].

The consensus algorithm used in Bitcoin is Proof-of-Work (PoW). Also, Ethereum blockchain, which has the third largest market cap in all the cryptocurrencies (as of January 16, 2019) [4] and many other blockchains such as Litecoin, Monero or Dash use PoW algorithm. PoW ensures the transactions to be non-reversible by expending CPU efforts. The blocks can only be redone by expending the same amount of machine power and generate blocks to catch up with and surpass the longest chain [12]. Therefore, as long as the attacker does not monopolize more than 51% of the total machine power, the blockchain cannot be attacked and the blocks and the transactions cannot be reversed.

However today, most of the miners (untrusted nodes that provides machine power to the blockchain), form “mining pools” which are “large pools built out of independent entities that place their hashing power under the control of a pool manager that coordinates their efforts, collects rewards, and redistributes those rewards to the participants in proportion to their effort” [7]. Because of this mining concentration problem, in 2014, GHash mining pool actually exceeded 51% of the total mining power. Also, on January 06, 2019, Ethereum classic was targeted by a 51% attack and some transactions were reversed [14].

This concentration problem is making the PoW blockchains “not non-reversible” and has become a serious problem.

Another problem is the concentration of wealth. Since PoW rewards more to the people who have more machine power, rich people with more machine power become richer and ends up in the concentration of wealth. In fact, the top 1% of the Bitcoin holders own 80% of all Bitcoins (starting from 2014) [16].

Proof-of-Importance

Proof-of-Importance (PoI) is a consensus algorithm used in NEM blockchain. This consensus algorithm is similar to Proof-of-Stake algorithm, which is a consensus algorithm where the determination of who adds the next block is weighted by how many tokens (called “stakes”) you have [10]. In addition to the stakes, PoI is also weighted by the amount “how much they transact to others and who they transact with” [16]. From to these amounts, the score called the “Importance” is calculated, and higher your importance is, higher the chance of getting rewarded from the blockchain will be. Mining in PoI is called “Harvesting” and does not require a large amount of machine power. Therefore, the reward from the blockchain is distributed also to regular people who do not have expensive mining machines, which leads to even wealth distribution and solves the concentration of wealth which occurs with PoW blockchains.

Figure 1 explains how harvesting works. Instead of having every user generate the block, each user delegates harvesting to special nodes called Super Nodes (SN) with certain requirements [9]. Each SN generates blocks depending on the importance of the users who delegated their harvesting to the SN. Finally, the SN distributes the reward from the blockchain to the users depending on each user’s importance.

Fig. 1.
figure 1

Description of Proof-of-Importance (Illustrations used from [18])

2.2 Spell of Genesis

Spell of Genesis is “the first blockchain-based mobile game ever made” [6]. The game was first launched in 2017 as a combination of trading card game and point and shot arcade game. Some cards used in the game are treated as tokens on the blockchain and called the “blockchain cards”. The screenshot of the game and the blockchain card is shown in Fig. 2.

Fig. 2.
figure 2

Screenshot of gameplay (Left) and the blockchain card (Right) [3]

Cryptocurrency called BitCrystal was also distributed through an ICO (Initial Coin Offering). Both the blockchain cards and the Bitcrystals are treated as tokens on a Bitcoin blockchain through Counterparty, a platform that provides the ability to create your own tokens on the Bitcoin blockchain.

2.3 DApps

DApps (Decentralized Applications) are applications that most or entire part are decentralized. The examples of possible aspects of an application that can be decentralized are backend software (application logic), frontend software, data storage, message communication and name resolutions [1]. Today, most of the blockchain games which rank high in trade volume [2] are DApps and work on Ethereum blockchain which allows the blockchain game developers to easily deploy smart contracts, which are proved to be secure and non-reversible by the blockchain.

In [1], the authors explain the advantages of being decentralized as follows.

  1. 1.

    Resiliency

When the application logic of the application is controlled by a smart contract, unlike applications that run on a centralized server, DApps will be available as long as the platform (the blockchain the application is running on) is running.

  1. 2.

    Transparency

The code of DApps is allowed to inspect by everyone so no unfair actions can be done by the game developers.

  1. 3.

    Censorship resistance

Since the smart contracts will be stored on the blockchain, no one, even the developers can change or undo the smart contracts.

However, as mentioned in the Introduction section, Ethereum blockchain currently uses PoW as consensus algorithm. Therefore, the final goal of this study is to develop a blockchain game platform, which works similar to Ethereum blockchain and uses consensus algorithm optimized for blockchain games.

3 Our Approach

3.1 An Overview of Our Approach

In this paper, we propose a new consensus algorithm optimized for blockchain games. The aim of the consensus algorithm is to realize a blockchain which avoids problems such as the concentration problems which can be seen in PoW and uses the reward from the blockchain to motivate the blockchain game players.

3.2 Proof-of-Achievement

We propose a consensus algorithm named Proof-of-Achievement (PoA). The basic concept of PoA is “The player who achieves more tasks in the game earns more reward”. Instead of using machine power as in PoW or PoS, PoA blockchains run by the achievements of the blockchain game users. The design of PoA gets the idea of PoI algorithm. However, while PoI determines the reward using “importance score”, PoA uses “achievement score” to determine the reward. As well as PoI, since PoA does not use machine power as in PoW, concentration problem can be avoided.

3.3 Monetary Incentive

In most of the blockchains, a reward is given to the nodes when a block is generated, as a monetary incentive to support the blockchain network [12]. As well as these blockchains, PoA blockchains will also give blockchain game players rewards when a block is generated calculated by the number of tasks done in the game, which will work as a monetary incentive.

Providing monetary incentive is one of the suggested methods to give extrinsic motivation to users. However, it is indicated that the effects of monetary incentives widely vary [11]. Therefore, we will evaluate the effects of our method through a user study.

3.4 Gamification

In [13], gamification is described as “the use of video game elements in non-gaming system to improve user experience (UX) and user engagement”. This approach is useful to give intrinsic motivation to users when it is used properly. The game elements used for gamification are often achievements (badges), levels, or leaderboards.

In our approach, we add a leaderboard to the mining process to increase the motivation of mining, which leads to an increase in the motivation of playing the game. The achievement score of each user will be shown on the leader board. This is possible because basically, all the data on the blockchain including achievement score is transparent and visible to everyone (except for some untraceable blockchains like Monero).

3.5 Tokens in PoA Blockchain

Achievement Tokens

Achievement tokens are used to calculate the achievement score of each node. The achievement score of a node will be the ratio of the number of node’s achievement tokens to the total number of achievement tokens distributed. Achievement tokens will be distributed to the blockchain game players each time a task is achieved by the player. By handling the achievement tokens on the blockchain, transparency of the movements of achievement tokens will be provided by the blockchain. This will prevent unfair actions by certain games (e.g. giving a large amount of achievement tokens to a certain user to make him/her have partially high achievement score).

Currency Tokens

Currency tokens are cryptocurrency which will be traded on cryptocurrency markets. The tokens will have some benefits related to the game (e.g. get discount on game items when paid by the currency tokens) so that the tokens will be in demand and be at a certain price.

Game Tokens

Game tokens are tokens of game characters, items, or cards used in the game as explained in the Introduction section. As well as other tokens, game tokens can be sent and received outside the game.

Trades of game characters or game items can also be implemented on games that run by the server-client model. However, the trades will have to be done under a certain rule made by the developers of the game. For example, certain trade fee will be charged or trade between different games will be unavailable (or very limited). Having the game tokens on blockchain will provide the player’s control of their trades.

3.6 The Network of the Blockchain with PoA

The network of the PoA blockchain basically functions the same way as the PoI blockchains as explained in Fig. 1. Each player in the network delegates the mining process to special nodes, and the special nodes generate the blocks. Finally, the special nodes distribute the rewards to each node depending on their achievement scores.

4 Prototype System

4.1 Implementation

The game for the experiment was implemented with Android Java and Ruby on Rails. To make the implementation simpler, our system is implemented using the server/client model instead of the actual blockchain system. However, there is no difference in UI. Therefore, using the server/client does not affect the evaluation result.

4.2 Basic System

The game for the experiment is a trading card game originally created for the experiment. To start a battle, the players select the opponent from the menu (Fig. 3). There are two types of battle, player battle and CPU battle. The difference between the two types is that for player battle, the player battles against the card deck other players have created. On the other hand, for CPU battle, the player battles against a deck the developer has created beforehand (5 different difficulties).

Fig. 3.
figure 3

Screenshot for choosing an opponent (Left: CPU or player, Right: difficulty)

However, every battle in the game is played against computer AI. The player and the opponent played cards in turn until the hit point of either of the player reaches 0. The screenshot is shown in Fig. 4.

Fig. 4.
figure 4

Screenshot of battle

4.3 Gacha System

Gacha is a well-used way of getting characters or cards in Japanese smartphone games. To get characters or cards from the gacha, players use in-game points. A Japanese smartphone game often have 2 types of gachas in the game. One type of gacha uses points you can get free in the game, and the other uses points you buy with actual money (or sometimes given free in the game).

In our system, two types of gachas are implemented as well as many of the Japanese smartphone games. One is “normal gacha”, a gacha you use points you can get free in the game (we called the points “gacha points”). The other is “rare gacha”, a gacha you use points you buy with actual money (and given in the game for doing difficult tasks. The points were called the “stones”). The cards that can be obtained from the “rare gacha” is often more powerful than the cards that can be obtained from the “normal gacha”. However, in the experiment, the participants could not actually buy stones. Instead, the rewards from the blockchain were automatically converted to stones and could be used as in-game currency. The actual gacha in the game is shown in Fig. 5. The amount of points or stones needed to get cards once (5 cards) was 100 points for normal gacha and 50 stones for rare gacha.

Fig. 5.
figure 5

Screenshot of “normal gacha”

4.4 Tasks

There are 2 types of tasks in the game. The tasks are as follows.

Daily tasks: Daily tasks are tasks that can be done each day. Once you do the task, you will not be able to do the same task again until next morning (5 a.m.).

The daily tasks are as follows,

  1. 1.

    Play player battle 3 times.

  2. 2.

    Play player battle 5 times.

  3. 3.

    Play player battle 7 times.

  4. 4.

    Play player battle 10 times.

  5. 5.

    Play CPU battle 3 times.

  6. 6.

    Play CPU battle 7 times.

  7. 7.

    Play CPU battle 10 times.

The reward for each task is 100 gacha points for task 1, 2, 3, 5, 6, 7 and 50 stones for task 4 and 8. In addition, for each task, the player gets 1 achievement point.

One-time Tasks: One-time tasks are tasks that can be done only once throughout the experiment. The one-time tasks are as follows.

  1. 1.

    Defeat CPU of difficulty “very easy”

  2. 2.

    Defeat CPU of difficulty “easy”

  3. 3.

    Defeat CPU of difficulty “medium”

  4. 4.

    Defeat CPU of difficulty “hard”

  5. 5.

    Defeat CPU of difficulty “very hard”

By completing each task, the player get 100 stones and 10 achievement points.

4.5 Amount of Reward Paid from the Blockchain

How much reward should be paid to the players in the experiment? This is very difficult to determine considering the following 2 points.

The price of the cryptocurrency: We need to first determine how much the blockchain will reward the players. However, because of the high volatility of cryptocurrencies today, it is very difficult to determine how much the price of the currency tokens should be. For example, the price of NEM was about 0.4 dollars on May 1, 2018, while the price was about 0.07 dollars on December 30, 2018 [4].

The number of players: The number of players must also be determined to determine how the reward from the blockchain should be distributed. 2 times more the players exist, half the reward for each player will be. However, it is very difficult to know how many players actually play the game (not the number of devices installed).

Considering these points, we decided to roughly estimate the amount of rewards and the number of active players. First, we decided to use the price of Lisk. This is because the consensus algorithm used in Lisk blockchain called DPoS is similar to PoI thus similar to PoA as well and has a fixed price of reward (4 Lisk for each block created). In addition, we supposed the number of players to be 1 million considering smartphone games in Japan with 5 top highest DAU (Daily Active User) reported by [8] (Fig. 6).

Fig. 6.
figure 6

Top 5 DAU of smartphone games in 2018 [17]

From these numbers, we calculated the amount of reward as below. (n:4[Lisk/block], y: 300[yen/Lisk (Sep 2018)], b: 8640[blocks/day], P: 1,000,000[players], p: 8[number of participants])

$$ {\text{n}} \times {\text{y}} \times {\text{b}} \div {\text{P}} \times {\text{p}} \approx 80[{\text{yen}}] $$

Therefore, 80 yen were distributed per day to the participants in Group A calculated by the achievement score of the user and automatically converted to gacha stones. The conversion between yen and stones was as below.

$$ 300{\text{ yen }} \to { 5}0{\text{ stones}} $$

We did research on a few Japanese smartphone games and found out that the price of getting a character or cards once from a gacha, costs approximately 300 yen [18,19,20].

However, as we have mentioned before, we must note that the amount calculated above is a rough amount and can range very widely. Therefore, in a further study, we need to do experiments with other amounts of reward.

4.6 Blockchain Menu

Figure 7 shows the blockchain menu and the leaderboard which only the participants in Group A can see. In the blockchain menu, the participants can see the information of the recent 5 blocks (achievement score and the actual amount of gacha stones obtained). The blocks were generated every hour. The leader board shows the achievement score of the player and other players. The name of other players is not shown on the leaderboard. Instead, the identifier of the players is shown. This is because, in actual blockchains, the data and the address is public to everyone, but the actual owner of the address cannot be known. From the leaderboard, the players can know how much achievement score other players have and the ranking.

Fig. 7.
figure 7

Screenshot of the blockchain menu (Left) and the leaderboard (Right)

4.7 Trade System

Trade system was implemented, and the players could buy and sell cards using stones. This system was aimed to increase the usage of stones. However, because of the low usability of the trade system, this system was never used throughout the experiment.

5 User Study

5.1 The Overview of the User Study

A user study was conducted using 8 participants (7 male and 1 female, average age: 22.5). The 8 participants were randomly split into 2 groups (Group A and Group B) with 4 participants each.

We developed a trading card game that can be played on Android smartphones, and had each participant play the game whenever they wanted to. The experiment was held for 15 days continuously. The groups differed in the following way,

Group A: The app included the system of PoA. The players earned rewards from the blockchain based on the PoA algorithm and could see the leaderboard.

Group B: The app did not include the system of PoA. The players earned no rewards from the blockchain and could not see the leaderboard.

The participants in both groups were not informed that two groups existed. Therefore, to make the participants in Group B appear on the leaderboards of the participants in Group A, achievement score for the participants in Group B were calculated in the same way (without the reward).

After the experiment, we did an interview to the participants in Group A and asked questions.

5.2 Results

The basic information of the participants

Table 1 shows the basic information of the participants. This includes the age and the average time of playing smartphone games per day. A1-4 are participants in group A and B1-4 are participants in group B.

Table 1. The basic information of the participants

However, 2 participants (A4 and B4) played the game only once throughout the experiment. Therefore, the 2 participants are excluded from the results.

Comparison between 2 groups

Figure 8 shows the comparison the of number of plays between group A and group B. However, the system did not count the number of plays which exceeded 10 times for each type of battle (player battle and CPU battle) because there are no tasks for playing more than 10 times. Therefore, the maximum number of plays per day per participant is 20 (10 for player battle and 10 for CPU battle). In addition, the dates are split into 5 sections, 3 days each (1/7-9, 1/10-12, 1/13-15, 1/16-18, 1/19-21). Throughout the study, the number of plays of group A exceeded group B.

Fig. 8.
figure 8

Number of plays of each group

Comparison between the top players from each group

Figure 9 shows the number of plays of the players which played the most in both groups (participant A3 and B3). From the graph, you can see that participant A3 kept motivated throughout the study while the motivation of participant B3 declined as the time passed. You can also see that the participant A3 was motivated by PoA from the interview which is explained in the later section.

Fig. 9.
figure 9

Number of plays of A3 and B3

Interview result

We asked th participants in group A the following questions.

  1. 1.

    What did you think about the amount of the reward from the blockchain?

  2. 2.

    Did the reward from the blockchain motivate you to play the game and why?

  3. 3.

    Did the leader board motivate you to play the game and why?

  4. 4.

    Do you have any comments about the experiment?

Table 2 shows the comments to the question, “What did you think about the amount of the reward from the blockchain?”.

Table 2. Comments to the question “What did you think about the amount of the reward from the blockchain?

Every participant answered that the amount of the reward from the blockchain was small. However, the total amount of stones the participants obtained from the blockchain is shown in Table 3. You can see that none of the participants reach the amount of stones required for 1 gacha (50 stones).

Table 3. Total amount of stones obtained from the blockchain

Table 4 shows the comments to the question, “Did the reward from the blockchain motivate you to play the game and why?”.

Table 4. Comments to the question “Did the reward from the blockchain motivate you to play the game and why?”

Only participant A3, who obtained the rewards the most, felt himself motivated by the blockchain. Other participants both mentioned that they were not motivated because the amount was too small.

Next, Table 5 shows the comments to the question, “Did the leader board motivate you to play the game and why?”

Table 5. Comments to the question, “Did the leader board motivate you to play the game and why?”

Participant A3 was motivated by the leaderboard as you can see from the comment above. However, participant A1 and A2 were not motivated by the leaderboard. They both mentioned that they could not understand the meaning of achievement score displayed on the leaderboard (The explanation was written in the manual). Participant A2 also mentioned that it would have been better if the actual name was displayed.

Finally, Table 6 shows the comments to the question “Do you have any comments about the experiment?”

Table 6. Comments to the question “Do you have any comments about the experiment?”

Every participant answered that it would have been better if there were more trades. They also commented that the usage of the trading system was not very good. Since no trades were done by the participants, the usage of the stones was limited to getting cards from the gacha. Therefore, obtaining stones were less attractive to participants.

6 Conclusion and Future Work

6.1 Conclusion

From the user study, we can see that the PoA algorithm succeeded to motivate one participant while it failed to motivate 2 others. The reason the 2 participants were not motivated mainly comes from the amount of the rewards. In addition, the usages of the rewards of the blockchain was very limited. This made the rewards less attractive to the participants.

6.2 Future Work

The amount in the user study is roughly calculated as explained in Sect. 4.1, we need a further study with different amount of rewards. In addition, in the user study, the rewards from the blockchain were automatically converted to gacha stones. However, in our proposal, the rewards are meant to be cryptocurrency with many usages (e.g. exchanging with legal tender, used for trading game items, get special bonus in games). Therefore, further studies using a system with these functions implemented may have results.