This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Tree Representation, Growth Rate of Blockchain and Reward Allocation in Ethereum with Multiple Mining Pools

Quan-Lin Li, Yan-Xia Chang, Chi Zhang
School of Economics and Management
Beijing University of Technology, Beijing 100124, China
Abstract

It is interesting but difficult and challenging to study Ethereum with multiple mining pools. One of the main difficulties comes from not only how to represent such a general tree with multiple block branches (or sub-chains) related to the multiple mining pools, but also how to analyze a multi-dimensional stochastic system due to the mining competition among the multiple mining pools. In this paper, we first set up a mathematical representation for the tree with multiple block branches. Then we provide a block classification of Ethereum: Regular blocks (in the main chain), orphan blocks, uncle blocks, stale blocks, and nephew blocks, and give some key probabilities of generating the different types of blocks by applying the law of large numbers. Based on this, we further discuss the growth rate of blockchain, and the reward allocation among the multiple mining pools through applying the renewal reward theorem. Finally, we use some simulation experiments to verify our theoretical results, and show that the approximate computation approaches developed, such as the key probabilities, the long-term growth rate of blockchain, and the long-term reward allocation (rate) among the multiple mining pools, can have a faster convergence. Therefore, we provide a powerful tool for observing and understanding the influence of the selfish mining attacks on the performance of Ethereum with multiple mining pools. We believe that the methodology and results developed in this paper will shed light on the study of Ethereum with multiple mining pools, such that a series of promising research can be inspired potentially.


Keywords: Ethereum; selfish mining; multiple mining pools; tree representation; growth rate of blockchain; reward allocation; the law of large numbers; renewal reward theory.

1 Introduction

Bitcoin and blockchain have opened a new era of automatically processing and storing transactions since the pioneering work by Nakamoto [26]. The transactions can be automatically processed in the form of Bitcoin script through a language of Merkle tree in a P2P network. However, the Bitcoin language is not Turing-complete owing to robust concerns. On the other hand, Ethereum can break such a limitation by introducing Ethereum Virtual Machine featuring smart contract functionality, e.g., see [6, 7]. Note that Bitcoin and Ethereum are the two largest and most popular blockchain-based cryptocurrencies in the world. Ethereum has gained great attention in the development of blockchain technology. Interested readers are referred to Ethereum survey papers, for example, Wood [40], Vujičić et al. [35], Di Angelo et al. [10], Mohammed et al. [25]; Ethereum system security by Chen et al. [9] and Praitheeshan et al. [28]; and smart contracts by Wang et al. [36], Dika and Nowostawski [11], Wang et al. [37] and Atzei et al. [1]. At the same time, Ethereum has been developed into many practical applications from industry and academia, e.g., see sharing economy by Bogner et al. [5], healthcare by Sookhak et al. [34], IoT and logistics by Augusto et al. [2], emergency service by Aung and Tantidham [3], decentralized marketplace by Ranganthan et al. [29], and so forth.

Bitcoin and Ethereum applied the most widely used consensus mechanism: Proof-of-Work (PoW). In a PoW blockchain system, many miners (or mining pools) competitively mine each block which is generated by means of finding a nonce through solving a cryptographic puzzle of using all the foregoing information of that blockchain in front of this block, and then peg the block with the nonce to the blockchain. See Li et al. [20, 21] for more details. For the PoW blockchain system with two mining pools (honest and dishonest), Eyal and Sirer [12] found the selfish mining attacks and applied a simple Markov chain to study a few advantages of selfish mining. Li et al. [21] proposed the two-block leading competitive criterion, and set up a pyramid Markov (reward) process to analyze the operations efficiency and economic benefit of the blockchain selfish mining system. It is seen from [12] and [21] that the mining competition between the two mining pools can be described as a comparison of lengths of the two block branches, and the dishonest mining pool develops a selfish mining attack policy, see Figures 2 and 4 in Li et al. [21]. Clearly, the longest one of the two block branches is called the main chain, which is pegged on the blockchain; while another block branch is regarded as the chain of orphan blocks, which cannot be connected to blockchain and is returned to the transaction pool for reprocessing. Thus the orphan blocks generate a lot of waste of computing resources. Li et al. [21] applied the pyramid Markov (reward) process to give a detailed analysis for the orphan blocks and their waste of computing resources. Following the two block branches corresponding to the two mining pools, this paper analyzes the PoW blockchain system with multiple mining pools, and finds a general tree with multiple block branches where the dishonest block branches can fork at different positions of a honest block branch (see Section 3). Furthermore, under the two-block leading competitive criterion, this paper provides a mathematical representation of the general tree with multiple block branches, and shows that the main chain in the general tree can be determined easily by means of the longest chain principle. Note that here our general tree is different from that of the GHOST protocol given in Sompolinsky and Zohar [32, 33], since our general tree is directly built in the competing process of multiple mining pools, and the longest chain (main chain) can be easily determined by using the mathematical representation of the general tree with multiple block branches.

So far, only a few studies have been done on the PoW blockchain system with multiple mining pools. Important examples include the two different classes: (a) Simulation, and (b) extending the Markov chain method of Eyal and Sirer [12]. For (a) simulation, since the blockchain system with multiple mining pools is very complicated, the simulation method becomes effective and feasible. Leelavimolsilp et al. [17] used simulation to provide a preliminary investigation on the selfish mining strategy adopted by multiple miners, and analyzed the relative reward, the power threshold of selfish miners, and the safety level of the Bitcoin system. Under the assumptions of [17], Leelavimolsilp et al. [18] further studied the effectiveness of the selfish mining strategy. For (b) extending the Markov chain method of Eyal and Sirer [12], readers are referred to, for example, Liu et al. [22], Marmolejo-Cossío et al. [24], Bai et al. [4], Chang [15] and Xia et al. [41]. Note that Li et al. [21] indicated that the Markov chain given in Eyal and Sirer [12] has some deficiencies and defects compared to the theory of Markov processes.

The GHOST protocol was first introduced by Sompolinsky and Zohar [32, 33] in order to improve the security and throughput of the Bitcoin system by using the heaviest chain principle in a tree. On the other hand, Ethereum implements a simplified GHOST protocol which refers to orphan blocks when observing which chain is the longest. In this case, the referenced blocks are called the uncle blocks while the referencing blocks are called the nephew blocks. For the uncle and nephew blocks, the Ethereum system with multiple mining pools will be faced with two basic challenges. The first challenge is how to set up a tree structure with multiple block branches and forked positions, which expresses the competition process of multiple mining pools. The second challenge is how to design the rewards of uncle blocks and nephew blocks, which are used to increase the mining enthusiasm of the multiple mining pools, and especially when those mining pools cannot access the main chain. For the two challenging problems, so far there has not been a clear answer or a better research yet. This motivates us in this paper to explore both setting up the tree structure and designing the rewards of the uncle and nephew blocks. By finding the mathematical representation of a general Ethereum tree, this paper applies the law of large numbers and the reward renewal theorem to make some key and important progress in the study of Ethereum systems with multiple mining pools.

There have been a few works on the uncle and nephew blocks and their reward design in Ethereum up to now. Zhang et al. [43, 44] analyzed the benefits of selfish mining in Ethereum, and chose the maximum, 7/8 units as the uncle block reward, and 1/32 units as the nephew block reward. Lerner [19] found that the uncle block strategy may cause the deliberate increase in the supply of Ethereum, thus it indirectly reduces the value of Ethereum. Ritz and Zugenmaier [30] set up a Monte Carlo simulation platform to quantify how the uncle blocks affect the probability of selfish mining. Chang et al. [8] introduced the uncle block attacks to discuss the incentive compatibility among the different attacks. Werner et al. [39] formally reconstructed a Sybil attack to exploit the uncle block distribution policy in a queue-based mining pool. Chang et al. [8] and Werner et al. [39] provided the simulation analysis for the uncle blocks in Ethereum. Zhang [42] developed a Markov decision process model to analyze the profitability and threshold of the three-player attacks. In addition, the uncle block mechanism can improve the security of Ethereum systems with multiple mining pools. For the details of the two (honest and dishonest) mining pools, interested readers are referred to Feng and Niu [13], Grunspan and Pérez-Marco [14], Kang et al. [16], [23] and Wang et al. [38]. Comparing with the studies above, this paper proposes a new method with two consecutive rounds of mining competition for analyzing the uncle and nephew blocks, in which we set up a basic relation among the uncle and nephew blocks (see Figure 11) so that the rewards of the uncle and nephew blocks can be estimated easily (see Sections 4 and 8). Obviously, one key finding of this paper is to reveal that the uncle blocks and the nephew blocks must appear in two different rounds of mining competition. This is crucial and interesting in the research of Ethereum.

Based on the above analysis, we summarize the main contributions of this paper as follows:

  • 1.

    Under the two-block leading competitive criterion, we describe an Ethereum system with one honest mining pool and multiple dishonest mining pools, set up a general tree with multiple block branches where the multiple dishonest block branches can fork at different positions of the one honest block branch, and provide a mathematical representation of the general tree. By using the mathematical representation of tree, we provide an effective method to easily determine the main chain by means of the longest chain principle. (See Sections 2 and 3)

  • 2.

    By using the mathematical representation of tree, we propose a two-stage mechanism to find the uncle and nephew blocks and then design the uncle block and nephew block rewards in two consecutive rounds of mining competition. (See Sections 4 and 8)

  • 3.

    We apply the law of large numbers to study some key probabilities in the Ethereum system with multiple mining pools, and define and compute some key ratios: The main chain ratio, the orphan block ratio, the uncle block ratio, the stale block ratio, and the chain quality. Note that the key ratios are necessary and useful in the security analysis of Ethereum systems with multiple mining pools. (See Sections 5 and 6)

  • 4.

    On the one hand, we provide expression for the long-term growth rate of blockchain by using the renewal reward theory, which is one of the most important indicators for the Ethereum system, where the growth rate of blockchain is the block number in all the main chains increasing per unit time. (See Section 7). On the other hand, once the uncle and nephew block rewards are determined, we provide expressions both for the long-term reward allocation and for the long-term reward allocation rate to each mining pool by using the renewal reward theory. (See Sections 8 and 9)

  • 5.

    We use some simulation experiments to discuss the Ethereum system with one honest mining pool and two dishonest mining pools, verify how the key probabilities of Ethereum are obtained approximately by using the law of large numbers, and analyze the performance measures of the Ethereum system, for example, the long-term growth rate of blockchain, the long-term reward allocation and the long-term reward allocation rate to each mining pool. We show that the approximative computation of the performance measures of the Ethereum system can have a faster convergence. (See Section 10)

The remainder of this paper is organized as follows. Section 2 describes an Ethereum system with multiple mining pools and provides the mathematical representation of a general tree with multiple block branches. Section 3 gives some examples with one honest mining pool and two dishonest mining pools for analyzing the mathematical representation of the general tree. Section 4 introduces a classification of blocks, gives some conditions under which the orphan block can become an uncle block, and provides a two-stage mechanism to determine the uncle and nephew blocks. Section 5 studies some key probabilities of Ethereum by using the law of large numbers. Section 6 defines some key ratios for the general tree with multiple block branches. Section 7 applies the renewal reward theory to discuss the long-term growth rate of blockchain. Section 8 provides a long-term reward allocation to each mining pool by means of the renewal reward theory. Section 9 applies the renewal reward theory to study the reward allocation rates among the multiple mining pools. Section 10 conducts simulation experiments to analyze the performance measures of the Ethereum system. Section 11 provides some concluding remarks.

2 Model Description

In this section, we describe an Ethereum system with multiple mining pools. The mining competition among the multiple mining pools directly leads to a general tree forked at the different positions of the honest block branch by the multiple dishonest block branches. Based on this, one of our key findings is to provide a mathematical representation for such a tree with multiple block branches. In addition, we introduce some mathematical notations used in our later study.

In a PoW Ethereum with multiple mining pools, the mining competition among the multiple mining pools is a main way to build the blockchain by means of solving the PoW mathematical puzzles. In the process of mining competition, some transactions are first packaged as a block with finite sizes (see Li et al. [20]), and then the block needs a nonce which is found through solving the PoW mathematical puzzle among the multiple mining pools, in which the success of one mining pool is based on its mining power in proportion to the total mining power. Once the nonce is solved by one mining pool and is written into the block, then the block is successfully mined so that it can be pegged to the block branch of this mining pool.

In the multiple mining pools, when the last round of mining competition ends, it is easy to see the honest mining pool is major, so that it can begin to mine from the final block on the previous sub-chain. However, the first block mined by a dishonest mining pool can be connected to any position of the honest sub-chain, including the final block in the last round of mining competition, while it cannot be connected to one dishonest sub-chain mined by the other dishonest mining pools. Based on this, we describe the tree structure with multiple sub-chains. See Figure 1 for more details. Clearly, it is the key to provide a mathematical representation for the tree given in Figure 1.

Refer to caption
Figure 1: A tree with multiple sub-chains

Note that the two-block leading competitive criterion was first proposed in Li et al. [21] in order to discuss the blockchain selfish mining with two mining pools. In this paper, such a two-block leading competitive criterion is further extended to the selfish mining with multiple mining pools. Based on this, we can set up the termination rule of mining competition among the multiple mining pools.

Now, we provide model description for the PoW Ethereum system with multiple mining pools as follows:

(1) Structure of PoW Ethereum system: There are m+1m+1 mining pools in the PoW Ethereum system, where there are one honest mining pool and mm dishonest mining pools for m1m\geq 1. For simplicity, we regard the blocks or sub-chain mined by the honest mining pool as the honest blocks or sub-chain, and the blocks or sub-chains mined by dishonest mining pools as the dishonest blocks or sub-chains.

(2) Honest mining pool: The honest mining pool in Ethereum follows the PoW protocol with the two-block leading competitive criterion (also see 4-a below). Once a block is mined by the honest mining pool, the complete information of this block is immediately broadcasted to the entire P2P network so that each dishonest mining pool can monitor its block information. Thus, all the dishonest mining pools can learn about the length of the honest sub-chain in a timely manner.

(3) Dishonest mining pools: The dishonest mining pools in Ethereum follow the PoW protocol with the two-block leading competitive criterion (also see 4-b below), and they can carry out various selfish mining attacks. That is, when the dishonest mining pools launch selfish attack, the blocks mined by each dishonest mining pool may not be immediately broadcasted to the entire P2P network. In this case,only a part of the block branch mined by one dishonest mining pool may be pegged on the blockchain when this dishonest mining pool can set up the main chain; while another part of the block branch is left to keep the mining competitive advantage of this dishonest mining pool in the next round of mining competition. Thus, the honest mining pool and the other dishonest mining pools cannot know the accurate information of blocks mined by this dishonest mining pool.

(4) The two-block leading competitive criterion and its modification:

(4-a) If the honest mining pool takes the lead in mining and as long as the number of blocks mined by the honest mining pool is 2 blocks ahead of the second-longest sub-chain mined by one of the dishonest mining pools, then the round of mining competition terminates immediately, and the longest sub-chain mined by the honest mining pool becomes the main chain which is pegged onto the blockchain, while all the other sub-chains mined by the dishonest mining pools become the chains of orphan blocks, all of which are returned to the transaction pool without any new transaction fee.

(4-b) If one dishonest mining pool takes the lead in mining and as long as the number of blocks mined by this dishonest pool is at least 2 blocks ahead of the second-longest sub-chain among the other mining pools, then the sub-chain mined by this dishonest mining pool becomes the main chain, while this dishonest pool may release only a part of the main chain into the blockchain under a basic condition that the part of the main chain is still at least 2 blocks ahead of the second-longest sub-chain, and another part of the main chain is reserved for the next round of mining competition in order to keep the mining competitive advantage of this dishonest mining pool. Once the part of the main chain begins to peg onto the blockchain, the round of mining competition terminates immediately, and all the other sub-chains become the chains of orphan blocks, all of which are returned to the transaction pool without any new transaction fee.

(5) A key mathematical representation for the m+1m+1 sub-chains of the tree:

Let L={L0,L1,L2,,Lm}L=\left\{L_{0},L_{1},L_{2},\ldots,L_{m}\right\} denote the tree with m+1m+1 sub-chains mined by one honest mining pool and mm dishonest mining pools, where L0L_{0} is the sub-chain mined by the honest mining pool and LiL_{i} is the sub-chain mined by the iith dishonest mining pool for i=1,2,,mi=1,2,\ldots,m. We write

L0={H1,H2,,Hv},L_{0}=\left\{H_{1},H_{2},\ldots,H_{v}\right\},

where HlH_{l} denotes the llth block mined by the honest mining pool for l=1,2,,vl=1,2,\ldots,v. That is, there are vv blocks in the sub-chain mined by the honest mining pool. Similarly, we write

Li={H1,H2,,Hki;Dki,1(i),Dki,2(i),,Dki,li(i)},L_{i}=\left\{H_{1},H_{2},\ldots,H_{k_{i}};D_{k_{i},1}^{(i)},D_{k_{i},2}^{(i)},\ldots,D_{k_{i},l_{i}}^{(i)}\right\},

where kik_{i} represents the number of honest blocks which have been mined by the honest mining pool before the iith dishonest mining pool begins to fork after the block Hki,H_{k_{i}}, such that a new sub-chain with lil_{i} blocks is mined by the iith dishonest mining pool, where Dki,l(i)D_{k_{i},l}^{(i)} denotes the llth block mined by the iith dishonest mining pool for l=1,2,,lil=1,2,\ldots,l_{i},. Figure 2 provides a more intuitive understanding for the m+1m+1 sub-chains of the tree.

Refer to caption
Figure 2: A mathematical representation for the tree with m+1m+1 sub-chains

(6) A mathematical expression for the mining terminative rules:

From L0={H1,H2,,Hv}L_{0}=\left\{H_{1},H_{2},\ldots,H_{v}\right\} and Li={H1,H2,,Hki;Dki,1(i),Dki,2(i),,Dki,li(i)}L_{i}=\left\{H_{1},H_{2},\ldots,H_{k_{i}};D_{k_{i},1}^{(i)},D_{k_{i},2}^{(i)},\ldots,D_{k_{i},l_{i}}^{(i)}\right\} for i=1,2,,mi=1,2,\ldots,m, we write

Ω={v}{(k1,l1),(k2,l2),,(km,lm)}.\Omega=\left\{v\right\}\cup\left\{\left(k_{1},l_{1}\right),\left(k_{2},l_{2}\right),\ldots,\left(k_{m},l_{m}\right)\right\}.

Further, we write

S={v,k1+l1,k2+l2,,km+lm},S=\left\{v,k_{1}+l_{1},k_{2}+l_{2},\ldots,k_{m}+l_{m}\right\},

where, vv is the length of sub-chain mined by the honest mining pool, and ki+lik_{i}+l_{i} is the generalized sub-chain mined by the iith dishonest mining pool for i=1,2,,mi=1,2,\ldots,m. Based on this, the elements of the set SS are sorted from the largest to the smallest as follows:

ω1ω2ωmωm+1.\omega_{1}\geq\omega_{2}\geq\cdots\geq\omega_{m}\geq\omega_{m+1}.

(6-a) If ω1\omega_{1} comes from the honest mining pool and ω1ω2=2\omega_{1}-\omega_{2}=2, then this round of mining competition terminates immediately; the sub-chain mined by the honest mining pool is the main chain and is pegged onto the blockchain, while all the sub-chains mined by the mm dishonest mining pools are returned to the transaction pool.

(6-b) If ω1\omega_{1} comes from the iith dishonest mining pool and ω1ω22\omega_{1}-\omega_{2}\geq 2, then this round of mining competition may terminate, the sub-chain mined by the iith dishonest mining pool is the main chain, and the part with φi\varphi_{i} blocks for ω2+2φiω1\omega_{2}+2\leq\varphi_{i}\leq\omega_{1} of the main chain mined by the iith dishonest mining pool begins to peg onto the blockchain, while another part with ω1φi\omega_{1}-\varphi_{i} blocks of the main chain is reserved for the next round of mining competition in order to keep the mining competitive advantage of the iith dishonest mining pool. In this case, all the sub-chains mined by the other (honest and dishonest) mining pools are returned to the transaction pool.

(6-c) If 0ω1ω210\leq\omega_{1}-\omega_{2}\leq 1, then this round of mining competition cannot terminate and the mining pools continue to mine until the two-block leading competitive criterion is satisfied.

(7) The mining rewards: When a round of mining competition terminates, the main chain is pegged onto the blockchain, and all the other sub-chains become orphan blocks which are returned to the transaction pool, waiting for the next round of mining competition.

(7-a) If the main chain comes from the honest mining pool and L0={H1,H2,,Hv}L_{0}=\left\{H_{1},H_{2},\ldots,H_{v}\right\}, then the honest mining pool obtains the rewards of vv blocks.

(7-b) If the main chain comes from the iith dishonest mining pool, and

Li={H1,H2,,Hki;Dki,1(i),Dki,2(i),,Dki,li(i)},L_{i}=\left\{H_{1},H_{2},\ldots,H_{k_{i}};D_{k_{i},1}^{(i)},D_{k_{i},2}^{(i)},\ldots,D_{k_{i},l_{i}}^{(i)}\right\},

then the honest mining pool obtains the rewards of kik_{i} blocks. Let ω1=ki+li\omega_{1}=k_{i}+l_{i}, then the iith dishonest mining pool obtains the rewards of φi\varphi_{i} blocks for ω2+2φiω1\omega_{2}+2\leq\varphi_{i}\leq\omega_{1}. Note that the ω1φi\omega_{1}-\varphi_{i} blocks of the main chain cannot be pegged onto the blockchain, thus they cannot lead to any reward for the iith dishonest mining pool.

In addition, the uncle block rewards and associated reference rewards will be assumed and discussed in Section 4.

3 Examples for the Tree Representation

This section provides some examples to analyze the mathematical representation of the general tree with one honest mining pool and two dishonest mining pools. Note that the mathematical representation of tree plays a key role in the study of PoW Ethereum systems with multiple mining pools.

In the PoW Ethereum system with multiple mining pools, the tree with multiple sub-chains expresses the mining competition process among the honest mining pool and the mm dishonest mining pools. The following theorem provides an essential feature of the tree with multiple sub-chains.

Theorem 1

In a round of mining competition and from the two-block leading competitive criterion, we have

(a) if the sub-chain of the iith dishonest mining pool is the first forked sub-chain among all the mm dishonest mining pools, then either ki=0k_{i}=0 or ki=1k_{i}=1; and

(b) if the sub-chain of the iith dishonest mining pool is not the first forked sub-chain among all the mm dishonest mining pools, then ki1k_{i}\geq 1.

Proof. (a) We provide the proof by contradiction. We assume that the sub-chain of the iith dishonest mining pool is the first forked sub-chain among all the mm dishonest mining pools, and ki2k_{i}\geq 2. In this case, by using the two-block leading competitive criterion, it is easy to see that the honest mining pool is at least 2 blocks ahead of the second-longest sub-chain among the other mining pools, the honest mining pool immediately terminates this round of mining competition. Obviously, it is impossible that the iith dishonest mining pool can fork at ki2k_{i}\geq 2. Therefore, this gives that either ki=0k_{i}=0 or ki=1k_{i}=1.

(b) If the sub-chain of the iith dishonest mining pool is not the first forked sub-chain among all the mm dishonest mining pools, then there must be a jjth dishonest mining pool who is the first one to fork at the tree for jij\neq i. By using (a), either kj=0k_{j}=0 or kj=1k_{j}=1. In this case, our discussion has two different cases as follows:

(i) When kj=0k_{j}=0, since the sub-chain of the iith dishonest mining pool is not the first forked sub-chain among all the mm dishonest mining pools, it is easy to see that the iith dishonest mining pool can fork at a later position than the dishonest pool jj, this gives ki>kj=0k_{i}>k_{j}=0, i.e., ki1k_{i}\geq 1. In this case, ki1k_{i}\geq 1.

(ii) When kj=1k_{j}=1, since the sub-chain of the iith dishonest mining pool is not the first forked sub-chain among all the mm dishonest mining pools, it is easy to see that the iith dishonest mining pool can fork at a later position than the dishonest pool jj, this gives ki>kj=1k_{i}>k_{j}=1, i.e., ki2k_{i}\geq 2. In this case, ki2k_{i}\geq 2.

From the above two cases, we get that ki1.k_{i}\geq 1. This completes the proof. \square

In the remainder of this section, we analyze some examples of the honest mining pool and one dishonest mining pool setting up the main chain, respectively.

3.1 The honest mining pool sets up the main chain

If the honest mining pool sets up the main chain in a round of mining competition, this subsection provides four different examples to express the tree with at most three sub-chains.

Tree one: The 11st and 22nd dishonest mining pools have not mined any block yet, while the honest mining pool has mined two blocks in a round of mining competition. Thus the round of mining competition is terminated immediately. See Figure 3.

Refer to caption
Figure 3: The first case

Tree two: The sub-chain lengths of the 11st and 22nd dishonest mining pools and the honest mining pool are l1l_{1}, 0 and vv, respectively. If k1=0k_{1}=0, then the round of mining competition ends due to l1=v2l_{1}=v-2. If k1=1k_{1}=1, then the round of mining competition ends due to l1+1=v2l_{1}+1=v-2. See Figure 4.

Refer to caption
Figure 4: The second case

Tree three: The sub-chain lengths of the two dishonest mining pools are not 0, and the two sub-chains fork at the same position. If k1=k2=0k_{1}=k_{2}=0, the round of mining competition ends at the condition under which either l1=v2,1l_{1}=v-2,1\leq l2v2l_{2}\leq v-2 or l2=v2,1l_{2}=v-2,1\leq l1v2l_{1}\leq v-2. If k1=k2=1k_{1}=k_{2}=1, the round of mining competition ends at the condition under which either l1+1=v2,2l_{1}+1=v-2,2\leq l2+1v2l_{2}+1\leq v-2 or l2+1=v2,2l_{2}+1=v-2,2\leq l1v2l_{1}\leq v-2. See Figure 5.

Refer to caption
Figure 5: The third case

Tree four: The sub-chain lengths of the two dishonest mining pools are not 0, and the two sub-chains fork at two different positions. If k1=0,k21k_{1}=0,k_{2}\geq 1, then the round of mining competition ends at the condition under which either l1=v2,2l_{1}=v-2,2\leq l2+k2v2l_{2}+k_{2}\leq v-2 or l2+k2=v2,1l_{2}+k_{2}=v-2,1\leq l1v2l_{1}\leq v-2. If k1=1,k22k_{1}=1,k_{2}\geq 2, then the round of mining competition ends at the condition under which either l1+1=v2,3l_{1}+1=v-2,3\leq l2+k2v2l_{2}+k_{2}\leq v-2 or l2+k2=v2,2l_{2}+k_{2}=v-2,2\leq l1+1v2l_{1}+1\leq v-2. See Figure 6.

Refer to caption
Figure 6: The fourth case

3.2 One dishonest mining pool sets up the main chain

If one dishonest mining pool sets up the main chain in a round of mining competition, this subsection provides four different examples to express the tree with at most three sub-chains.

Tree one: The sub-chain length of the 11st dishonest mining pool is at least 22, but the sub-chain lengths of the 22nd dishonest mining pool and the honest mining pool after the 11st dishonest mining pool forks are 0. See Figure 7.

Refer to caption
Figure 7: The first case

Tree two: The sub-chain lengths of the 11st dishonest mining pool and the honest mining pool after the 11st dishonest mining pool forks are positive, but the sub-chain length of the 22nd dishonest mining pool is 0. If k1=0k_{1}=0, then the round of mining competition ends at the condition under which l1v+2,v1l_{1}\geq v+2,v\geq 1. If k1=1k_{1}=1, then the round of mining competition ends at the condition under which l1+1v+2,v2l_{1}+1\geq v+2,v\geq 2. See Figure 8.

Refer to caption
Figure 8: The second case

Tree three: The 11st and 22nd dishonest mining pools fork at the same position, and l10,l_{1}\neq 0, l20l_{2}\neq 0; while the honest mining pool has a positive sub-chain length after the 11st and 22nd dishonest mining pools fork, thus, vk11v-k_{1}\geq 1. If k1=k2=0k_{1}=k_{2}=0, then the round of mining competition ends with the condition under which either l1max{v+2,l2+2}l_{1}\geq\max\left\{v+2,l_{2}+2\right\} or l2max{v+2,l1+2}l_{2}\geq\max\left\{v+2,l_{1}+2\right\}. If k1=k2=1k_{1}=k_{2}=1, then the round of mining competition ends at the condition under l1+1max{v+2,l2+3}l_{1}+1\geq\max\left\{v+2,l_{2}+3\right\} or l2+1max{v+2,l1+3}l_{2}+1\geq\max\left\{v+2,l_{1}+3\right\}. See Figure 9.

Refer to caption
Figure 9: The third case

Tree four: The two dishonest mining pools do not fork at the same position, and l10,l_{1}\neq 0, l20l_{2}\neq 0; while the honest mining pool has a positive sub-chain length after the 11st dishonest mining pool forks, i.e., vk11v-k_{1}\geq 1. Now, we consider two cases: k1=0k_{1}=0, k21k_{2}\geq 1 and k1=1k_{1}=1, k22k_{2}\geq 2. If the 11st dishonest mining pool sets up the main chain, then the round of mining competition ends at the condition under which either

l1max{v+2,l2+k2+2},k1=0,k21;l_{1}\geq\max\left\{v+2,l_{2}+k_{2}+2\right\},k_{1}=0,k_{2}\geq 1;

or

l1+1max{v+2,l2+k2+2},k1=1,k22.l_{1}+1\geq\max\left\{v+2,l_{2}+k_{2}+2\right\},k_{1}=1,k_{2}\geq 2.

If the 22nd dishonest mining pool sets up the main chain, then the round of mining competition ends at the condition under which either

l2+k2max{v+2,l1+2},k1=0,k21;l_{2}+k_{2}\geq\max\left\{v+2,l_{1}+2\right\},k_{1}=0,k_{2}\geq 1;

or

l2+k2max{v+2,l1+3},k1=1,k22.l_{2}+k_{2}\geq\max\left\{v+2,l_{1}+3\right\},k_{1}=1,k_{2}\geq 2.

See Figure 10.

Refer to caption
Figure 10: The fourth case

4 The Uncle Blocks and Reward Design

In this section, we introduce a classification of blocks, and give some conditions under which the orphan block can become an uncle block. Furthermore, we provide a two-stage mechanism to determine the uncle blocks and the nephew blocks.

In the multiple sub-chains of the tree corresponding to the PoW Ethereum systems with multiple mining pools, we divide the blocks into five different types: Regular blocks, orphan blocks, uncle blocks, stale blocks, and nephew blocks. Also, the orphan blocks are further divided into the uncle blocks and the stale blocks, if any. See Figure 11 for an intuitive understanding.

Refer to caption
Refer to caption
Refer to caption
Figure 11: A classification of blocks

The regular block is a block of the main chain. The uncle block must satisfy a key condition under which the distance between the uncle block and the nephew block does not exceed 77 blocks. The nephew block is the first block in the next round of mining competition, and it is used to determine the uncle blocks from the sub-chains of the tree, as seen in Figure 11. The stale blocks follow from an uncle block in a sub-chain of the tree, or the stale blocks are all the blocks in each sub-chain of orphan blocks.

For the mining pools in Ethereum, their reward include 4 parts: A regular block reward is given by Ethereum, transaction costs (i.e. gas fee), an uncle block reward, and a nephew reference reward. In this paper, we take the unit of economic measure as “block”, in other words, the regular reward given by the Ethereum systems is assumed to be 1.

In the PoW Ethereum system with multiple mining pools, the main purpose of introducing the uncle blocks is to inspire the mining enthusiasm of each mining pool, especially for those mining pools who cannot set up the main chain. In this case, they cannot obtain any reward but have to cover some costs associated with the mining processes, such as electricity, equipment investment, maintenance costs, staff salary, management fees and so on. Thus, providing the uncle block reward and the nephew reference reward can be a necessary and valuable support for the multiple mining pools that take an active part in each round of mining competition.

To show how to allocate the uncle block reward and the nephew reference reward, we provide a two-stage reward allocation mechanism through analyzing the position among the uncle blocks and the nephew blocks. For simplicity of analysis, the uncle blocks are determined at the moment that a round of mining competition has been over, and a nephew block (or the first block) is just generated in the next round of mining competition. That is, to determine the uncle blocks, we first need to have the nephew block in order that we can judge that the distance between the uncle block and the nephew block does not exceed 77 blocks. Note that the nephew block comes from two different cases: (i) If all the blocks of the main chain are released at the ending moment of the last round of mining competition, then the nephew block is the first block mined by one of the m+1m+1 mining pools in the next round of mining competition. (ii) If there are some blocks of the main chain reserved at the ending moment of the last round of mining competition, then these reserved blocks must come from one dishonest mining pool, and the nephew block is the first one of the reserved blocks.

It is worthwhile to note that such a reward allocation is well related to the distance between the uncle block and the nephew block. Table 1 shows the uncle block rewards at some different distances.

Table 1: Table of uncle rewards at different distances
Distance 1 2 3 4 5 6
Uncle reward 7/8 6/8 5/8 4/8 3/8 2/8

In what follows we discuss some conditions under which the orphan block can become an uncle block. Our description contains two different cases as follows:

Case one: If the honest mining pool sets up the main chain, then one of the orphan blocks mined by the iith dishonest mining pool becomes an uncle block and must satisfy the following two conditions (a-1) and (a-2), also see (a) of Figure 11.

(a-1) The distance between the orphan block and its corresponding nephew block does not exceed 7 blocks; and

(a-2) the orphan block is the first block Dki,1(i)D_{k_{i},1}^{(i)} mined by the iith dishonest mining pool.

Case two: If the iith dishonest mining pool sets up the main chain, then either one of the orphan blocks mined by the jjth dishonest mining pool for jij\neq i or one of the orphan blocks mined by the honest mining pool becomes an uncle block and must satisfy the following two conditions (b-1) and (b-2), also see (b) and (c) of Figure 11.

(b-1) The distance between the orphan block and its corresponding nephew block does not exceed 7 blocks; and

(b-2) either the orphan block is the first block Dkj,1(j)D_{k_{j},1}^{(j)} mined by the jjth dishonest mining pool or the orphan block is the first block Hki+1H_{k_{i}+1} mined by the honest mining pool.

In addition to the uncle reward given in a round of mining competition, we still need to provide a reward to the nephew block, called the nephew reference reward, which is given in the next round of mining competition. A nephew block can obtain the nephew reference reward: NU/32N_{\text{U}}/32, where NUN_{\text{U}} is the number of uncle blocks in this round of mining competition. Note that, our above reward allocation is designed in two consecutive rounds of mining competition, and, thus, is called a two-stage reward allocation mechanism.

5 The Law of Large Numbers

In this section, we apply the law of large numbers to study some key probabilities, which are necessary and useful in our later study, such as the key ratios of Ethereum, the growth rate of blockchain, the reward allocation rates among the mining pools, and so forth.

In a round of mining competition, both the honest mining pool and one of the dishonest mining pools are possible to set up the main chain. Now, we provide an analysis for the number of main chains that can be set up by either the honest mining pool or the ζ\zetath dishonest mining pool. During the NN rounds of mining competition, we denote by NHN_{\text{H}} and NζN_{\zeta} the numbers that the honest mining pool and the ζ\zetath dishonest mining pool can set up the main chain, respectively. It is clear that 0NHN0\leq N_{\text{H}}\leq N, 0NζN0\leq N_{\zeta}\leq N, and NH+ζ=1mNζ=NN_{\text{H}}+\sum_{\zeta=1}^{m}N_{\zeta}=N. Thus we have

NHN+ζ=1mNζN=1.\frac{N_{\text{H}}}{N}+\sum_{\zeta=1}^{m}\frac{N_{\zeta}}{N}=1\text{.}

In the PoW Ethereum system with multiple mining pools, the competitively mining processes can be repeated round after round, as we repeat by the similar experiments round after round under the same conditions. Thus, we can apply the law of large numbers to study the frequencies: NH/NN_{\text{H}}/N and Nζ/NN_{\zeta}/N, and to show that they can steadily approach some fixed values for ζ=1,2,,m\zeta=1,2,\ldots,m. The following two theorems are obvious by the law of large numbers, and their proof are easy and omitted here for brevity.

Theorem 2

In the PoW Ethereum system with multiple mining pools, by using the law of large numbers, as NN\rightarrow\infty, we have

NHN𝐩H, a.s.,\frac{N_{\text{H}}}{N}\rightarrow\mathbf{p}_{\text{H}},\text{ \ a.s.,}

and for ζ=1,2,,m,\zeta=1,2,\ldots,m,

NζN𝐩ζ, a.s..\frac{N_{\zeta}}{N}\rightarrow\mathbf{p}_{\zeta},\text{ \ a.s..}

Also, it is clear that

𝐩H+ζ=1m𝐩ζ=1.\mathbf{p}_{\text{H}}+\sum_{\zeta=1}^{m}\mathbf{p}_{\zeta}=1.

When the honest mining pool sets up the main chain, during the NN rounds of mining competition, we denote by NH,H(N)N_{\text{H},\text{H}}^{\left(\text{N}\right)}, NH,i(N)N_{\text{H},i}^{\left(\text{N}\right)} and NH,i(U)N_{\text{H},i}^{\left(\text{U}\right)} the numbers that the honest mining pool and the iith dishonest mining pool can contain one nephew block, and the iith dishonest mining pool can contain one uncle block, respectively.

When the ζ\zetath dishonest mining pool sets up the main chain for ζ=1,2,,m\zeta=1,2,\ldots,m, during the NN rounds of mining competition, we denote by Nζ,ζ(N)N_{\zeta,\zeta}^{\left(\text{N}\right)}, Nζ,H(N)N_{\zeta,\text{H}}^{\left(\text{N}\right)}, Nζ,i(N)N_{\zeta,i}^{\left(\text{N}\right)}, Nζ,H(U)N_{\zeta,\text{H}}^{\left(\text{U}\right)} and Nζ,i(U)N_{\zeta,i}^{\left(\text{U}\right)} the numbers that the ζ\zetath dishonest mining pool, the honest mining pool, and the iith dishonest mining pool can contain one nephew block, and the honest mining pool and the iith dishonest mining pool can contain one uncle block, respectively.

Theorem 3

In the PoW Ethereum with multiple mining pools, by using the law of large numbers, as NN\rightarrow\infty, for i=1,2,,mi=1,2,\ldots,m,

NH,H(N)N𝐪H,H(N), a.s.,\frac{N_{\text{H},\text{H}}^{\left(\text{N}\right)}}{N}\rightarrow\mathbf{q}_{\text{H},\text{H}}^{\left(\text{N}\right)},\text{ \ a.s.,}
NH,i(N)N𝐪H,i(N), NH,i(U)N𝐪H,i(U), a.s.,\frac{N_{\text{H},i}^{\left(\text{N}\right)}}{N}\rightarrow\mathbf{q}_{\text{H},i}^{\left(\text{N}\right)},\text{ }\frac{N_{\text{H},i}^{\left(\text{U}\right)}}{N}\rightarrow\mathbf{q}_{\text{H},i}^{\left(\text{U}\right)},\text{ \ a.s.,}

and for iζi\neq\zeta and i=1,2,,mi=1,2,\ldots,m,

Nζ,ζ(N)N𝐪ζ,ζ(N), a.s.,\frac{N_{\zeta,\zeta}^{\left(\text{N}\right)}}{N}\rightarrow\mathbf{q}_{\zeta,\zeta}^{\left(\text{N}\right)},\text{ \ a.s.,}
Nζ,H(N)N𝐪ζ,H(N), Nζ,H(U)N𝐪ζ,H(U),\frac{N_{\zeta,\text{H}}^{\left(\text{N}\right)}}{N}\rightarrow\mathbf{q}_{\zeta,\text{H}}^{\left(\text{N}\right)},\text{ }\frac{N_{\zeta,\text{H}}^{\left(\text{U}\right)}}{N}\rightarrow\mathbf{q}_{\zeta,\text{H}}^{\left(\text{U}\right)},
Nζ,i(N)N𝐪ζ,i(N),Nζ,i(U)N𝐪ζ,i(U), a.s..\frac{N_{\zeta,i}^{\left(\text{N}\right)}}{N}\rightarrow\mathbf{q}_{\zeta,i}^{\left(\text{N}\right)},\frac{N_{\zeta,i}^{\left(\text{U}\right)}}{N}\rightarrow\mathbf{q}_{\zeta,i}^{\left(\text{U}\right)},\text{ \ a.s..}

It is clear that 0𝐪H,H(N),𝐪H,i(N)10\leq\mathbf{q}_{\text{H},\text{H}}^{\left(\text{N}\right)},\mathbf{q}_{\text{H},i}^{\left(\text{N}\right)}\leq 1 and 0𝐪H,i(U)10\leq\mathbf{q}_{\text{H},i}^{\left(\text{U}\right)}\leq 1 for i=1,2,,m;i=1,2,\ldots,m; and 0𝐪ζ,ζ(N),𝐪ζ,H(N),𝐪ζ,i(N)10\leq\mathbf{q}_{\zeta,\zeta}^{\left(\text{N}\right)},\mathbf{q}_{\zeta,\text{H}}^{\left(\text{N}\right)},\mathbf{q}_{\zeta,i}^{\left(\text{N}\right)}\leq 1 and 0𝐪ζ,H(U),𝐪ζ,i(U)10\leq\mathbf{q}_{\zeta,\text{H}}^{\left(\text{U}\right)},\mathbf{q}_{\zeta,i}^{\left(\text{U}\right)}\leq 1 for iζi\neq\zeta and i=1,2,,mi=1,2,\ldots,m.

6 Some Key Ratios of Ethereum

This section defines some key ratios of the PoW Ethereum system with multiple mining pools, and provides a detailed analysis for the key ratios by means of the mathematical representation of tree with multiple sub-chains.

In a round of mining competition, the multiple mining pools use their mined blocks to set up a tree with multiple sub-chains. From the tree, we can classify five different types of blocks: Regular blocks, orphan blocks, uncle blocks, nephew blocks, and stale blocks. Based on this, we can set up some key ratios of the PoW Ethereum system with multiple mining pools. To this end, we define some key ratios of Ethereum from two perspectives of efficiency and benefit, such as chain quality, main chain length ratio, orphan block ratio, uncle block ratio, and stale block ratio.

Definition 1

In a round of mining competition, we define

(a) The chain quality cQc_{\text{Q}}: It is defined as the ratio that some blocks on the main chain mined by the honest mining pool occupy all the blocks of the main chain.

(b) The main chain length ratio rMr_{\text{M}}: It is defined as the ratio that the number of blocks on the main chain over the number of blocks on the tree.

If the honest mining pool sets up the main chain, from L0={H1,H2,,Hv}L_{0}=\left\{H_{1},H_{2},\ldots,H_{v}\right\} and Li={H1,H2,,Hki;Dki,1(i),Dki,2(i),,Dki,li(i)}L_{i}=\left\{H_{1},H_{2},\ldots,H_{k_{i}};D_{k_{i},1}^{(i)},D_{k_{i},2}^{(i)},\ldots,D_{k_{i},l_{i}}^{(i)}\right\} for i=1,2,,mi=1,2,\ldots,m, we have

cQ,H=vv=1c_{\text{Q,H}}=\frac{v}{v}=1

and

rM,H=vv+i=1mli.\ r_{\text{M,H}}=\frac{v}{v+\sum\limits_{i=1}^{m}l_{i}}.

If the iith dishonest mining pool sets up the main chain for i=1,2,,mi=1,2,\ldots,m, due to the part with φi\varphi_{i} blocks for ω2+2φiω1\omega_{2}+2\leq\varphi_{i}\leq\omega_{1} of the main chain are pegged on the blockchain, while the ω1φi\omega_{1}-\varphi_{i} blocks of the main chain cannot be observed by all the other mining pools in the P2P network, then

cQ,i=kiki+φi\ c_{\text{Q,}i}=\frac{k_{i}}{k_{i}+\varphi_{i}}

and

rM,i=φi+kiv+φi+j=1, jimlj.r_{\text{M,}i}=\frac{\varphi_{i}+k_{i}}{v+\varphi_{i}+\sum\limits_{j=1,\text{ }j\neq i}^{m}l_{j}}.
Definition 2

In a round of mining competition, we define

(a) The orphan block ratio rOr_{\text{O}}: It is defined as the ratio of the number of orphan blocks to the number of blocks on the tree.

(b) The uncle block ratio rUr_{\text{U}}: It is defined as the ratio of the number of uncle blocks to the number of blocks on the tree.

It is easy to see from Definitions 1 and 2 that

rM+rO=1r_{\text{M}}+r_{\text{O}}=1

and

rO=rU+rS.r_{\text{O}}=r_{\text{U}}+r_{\text{S}}.

In what follows, we first express the orphan block ratio rOr_{\text{O}}. To this end, our computation needs to consider two different cases: The honest mining pool sets up the main chain, and one dishonest mining pool sets up the main chain.

If the honest mining pool sets up the main chain, then

rO,H=i=1mliv+i=1mli.\ r_{\text{O,H}}=\frac{\sum\limits_{i=1}^{m}l_{i}}{v+\sum\limits_{i=1}^{m}l_{i}}. (1)

If the iith dishonest mining pool sets up the main chain for i=1,2,,mi=1,2,\ldots,m, due to the part with φi\varphi_{i} blocks for ω2+2φiω1\omega_{2}+2\leq\varphi_{i}\leq\omega_{1} of the main chain are pegged onto the blockchain, while the ω1φi\omega_{1}-\varphi_{i} blocks of the main chain cannot be observed by all the other mining pools in the P2P network, then

rO,i=(vki)+j=1, jimljv+φi+j=1, jimlj.\ r_{\text{O,}i}=\frac{\left(v-k_{i}\right)+\sum\limits_{j=1,\text{ }j\neq i}^{m}l_{j}}{v+\varphi_{i}+\sum\limits_{j=1,\text{ }j\neq i}^{m}l_{j}}. (2)

Now, we compute the uncle block ratio rUr_{\text{U}}. Note that such a computation is a little bit complicated.

To compute the uncle block ratio rUr_{\text{U}}, it is necessary to first determine how many orphan blocks can become uncle blocks. To this end, our computation also needs to consider two different cases: The honest mining pool sets up the main chain, and one dishonest mining pool sets up the main chain.

Case one: The honest mining pool sets up the main chain

In this case, from the tree with multiple sub-chains (e.g., see (a) of Figure 11), it is easy to determine the nephew block, and the uncle blocks and their number. Note that NU,HN_{\text{U,H}} is the number of uncle blocks in the tree in this round of mining competition, thus the uncle block ratio is given by

rU,H=NU,Hv+i=1mli.r_{\text{U,H}}=\frac{N_{\text{U,H}}}{v+\sum\limits_{i=1}^{m}l_{i}}. (3)

Case two: One dishonest mining pool sets up the main chain

In this case, we assume that the iith dishonest mining pool sets up the main chain, it is clear that ω1=ki+li\omega_{1}=k_{i}+l_{i}. We further assume that the part with φi\varphi_{i} blocks for ω2+2φiω1\omega_{2}+2\leq\varphi_{i}\leq\omega_{1} of the main chain are pegged onto the blockchain, while another part with ω1φi\omega_{1}-\varphi_{i} blocks of the main chain is left in the next round of mining competition. It is easy to see that Dki,φi+1(i)D_{k_{i},\varphi_{i}+1}^{(i)} is the first block in the next round of mining competition. Now, our first task is to use the block Dki,φi+1(i)D_{k_{i},\varphi_{i}+1}^{(i)} to determine which blocks of Hki+1H_{k_{i}+1} and Dkj,1(j)D_{k_{j},1}^{(j)} for jij\neq i can become uncle blocks. If Hki+1H_{k_{i}+1} is an uncle block, then for jij\neq i, Dkj,1(j)D_{k_{j},1}^{(j)} is not an uncle block for kjki+1.k_{j}\geq k_{i}+1.

From the tree with multiple sub-chains (e.g., see (b) and (c) of Figure 11), it is easy to determine the nephew block, and the uncle blocks and their number. Note that NU,iN_{\text{U,}i} is the number of uncle blocks in the tree, thus the uncle block ratio is given by

rU,i=NU,iv+φi+j=1, jimlj.r_{\text{U,}i}=\frac{N_{\text{U,}i}}{v+\varphi_{i}+\sum\limits_{j=1,\text{ }j\neq i}^{m}l_{j}}. (4)

In the remainder of this section, we apply the law of large numbers to discuss the key ratios of the Ethereum system.

In the rrth round of mining competition, we denote by cQ(r)c_{\text{Q}}^{(r)}, rM(r)r_{\text{M}}^{(r)}, rO(r)r_{\text{O}}^{(r)}, and rU(r)r_{\text{U}}^{(r)} the chain quality, the main chain length ratio, the orphan block ratio, and the uncle block ratio, respectively. We assume that the part with φi(r)\varphi_{i}^{\left(r\right)} blocks for ωi.2(r)+2φi(r)ωi,1(r)\omega_{i.2}^{\left(r\right)}+2\leq\varphi_{i}^{\left(r\right)}\leq\omega_{i,1}^{\left(r\right)} of the main chain mined by the iith dishonest mining pool are pegged onto the blockchain, where ωi.2(r)\omega_{i.2}^{\left(r\right)} and ωi,1(r)\omega_{i,1}^{\left(r\right)} are the first and second elements of the sorted set SS related to the iith dishonest mining pool, respectively.

Theorem 4

In the PoW Ethereum system with multiple mining pools, by using the law of large numbers, as NN\rightarrow\infty, we have

r=1NcQ(r)Nc¯Q, a.s., r=1NrM(r)Nr¯M, a.s.,\frac{\sum\limits_{r=1}^{N}c_{\text{Q}}^{(r)}}{N}\rightarrow\overline{c}_{\text{Q}},\text{ \ a.s., \ \ \ \ \ }\frac{\sum\limits_{r=1}^{N}r_{\text{M}}^{(r)}}{N}\rightarrow\overline{r}_{\text{M}},\text{ \ a.s.,}
r=1NrO(r)Nr¯O, a.s., r=1NrU(r)Nr¯U,a.s., \frac{\sum\limits_{r=1}^{N}r_{\text{O}}^{(r)}}{N}\rightarrow\overline{r}_{\text{O}},\text{ \ a.s., \ \ \ \ \ }\frac{\sum\limits_{r=1}^{N}r_{\text{U}}^{(r)}}{N}\rightarrow\overline{r}_{\text{U}},\ \text{a.s.,}\ \text{ }

where

c¯Q\displaystyle\overline{c}_{\text{Q}} =𝐩H+ζ=1m𝐩ζ×c¯Q,ζ, r¯M=𝐩H×r¯M,H+ζ=1m𝐩ζ×r¯M,ζ,\displaystyle=\mathbf{p}_{\text{H}}+\sum\limits_{\zeta=1}^{m}\mathbf{p}_{\zeta}\times\overline{c}_{\text{Q,}\zeta},\text{ \ \ \ \ }\overline{r}_{\text{M}}=\mathbf{p}_{\text{H}}\times\overline{r}_{\text{M,H}}+\sum\limits_{\zeta=1}^{m}\mathbf{p}_{\zeta}\times\overline{r}_{\text{M,}\zeta},
r¯O\displaystyle\overline{r}_{\text{O}} =𝐩H×r¯O,H+ζ=1m𝐩ζ×r¯O,ζ, r¯U=𝐩H×r¯U,H+ζ=1m𝐩ζ×r¯U,ζ.\displaystyle=\mathbf{p}_{\text{H}}\times\overline{r}_{\text{O,H}}+\sum\limits_{\zeta=1}^{m}\mathbf{p}_{\zeta}\times\overline{r}_{\text{O,}\zeta},\text{ \ \ \ }\overline{r}_{\text{U}}=\mathbf{p}_{\text{H}}\times\overline{r}_{\text{U,H}}+\sum\limits_{\zeta=1}^{m}\mathbf{p}_{\zeta}\times\overline{r}_{\text{U,}\zeta}.

Proof. The proof is easy. We only take the first one as a example. To do this, we need to consider two different cases:

Case one: If the the honest mining pool sets up the main chain in the rrth round of mining competition for r=1,2,3,Nr=1,2,3,\ldots N. In this case, we have cQ,H(r)=1c_{\text{Q,H}}^{(r)}=1, and

r=1NHcQ,H(r)N=NHN.\frac{\sum\limits_{r=1}^{N_{\text{H}}}c_{\text{Q,H}}^{(r)}}{N}=\frac{N_{\text{H}}}{N}.

This gives that as NN\rightarrow\infty,

r=1NHcQ,H(r)N𝐩H, a.s..\frac{\sum\limits_{r=1}^{N_{\text{H}}}c_{\text{Q,H}}^{(r)}}{N}\rightarrow\mathbf{p}_{\text{H}},\text{ \ a.s..}

Case two: If the ζ\zetath dishonest mining pool sets up the main chain in the rrth round of mining competition for r=1,2,3,,Nr=1,2,3,\ldots,N. In this case, it is worthwhile to note that kζ(r)k_{\zeta}^{(r)} is the number of honest blocks which have been mined by the honest mining pool before the ζ\zetath dishonest mining pool begins to fork to a new sub-chain with lζ(r)l_{\zeta}^{\left(r\right)} blocks, and note that the part with φζ(r)\varphi_{\zeta}^{\left(r\right)} blocks of the main chain are pegged onto the blockchain, thus we have

cQ,ζ(r)=kζ(r)kζ(r)+φζ(r).\ c_{\text{Q,}\zeta}^{\left(r\right)}=\frac{k_{\zeta}^{\left(r\right)}}{k_{\zeta}^{\left(r\right)}+\varphi_{\zeta}^{\left(r\right)}}.

Since the competitively mining processes of the multiple mining pools are repeated round after round, the random variable cQ,ζ(r)c_{\text{Q,}\zeta}^{\left(r\right)} can be repeated by the similar experiments round after round under the same conditions. Based on this, the random variable sequence {cQ,ζ(r),r=1,2,3,}\left\{c_{\text{Q,}\zeta}^{\left(r\right)},r=1,2,3,\ldots\right\} can be regarded as independent and identically distributed. When the number that the ζ\zetath dishonest mining pool can set up the main chain is NζN_{\zeta}, we obtain that as Nζ,N_{\zeta}\rightarrow\infty,

r=1NζcQ,ζ(r)Nζc¯Q,ζ,a.s.,\frac{\sum\limits_{r=1}^{N_{\zeta}}c_{\text{Q,}\zeta}^{\left(r\right)}}{N_{\zeta}}\rightarrow\overline{c}_{\text{Q,}\zeta},\ \text{a.s.},

which holds for each ζ=1,2,,m\zeta=1,2,\ldots,m. This gives that as NN\rightarrow\infty,

r=1NζcQ,ζ(r)N=r=1NζcQ,ζ(r)NζNζN=𝐩ζc¯Q,ζ, a.s..\frac{\sum\limits_{r=1}^{N_{\zeta}}c_{\text{Q,}\zeta}^{\left(r\right)}}{N}=\frac{\sum\limits_{r=1}^{N_{\zeta}}c_{\text{Q,}\zeta}^{\left(r\right)}}{N_{\zeta}}\cdot\frac{N_{\zeta}}{N}=\mathbf{p}_{\zeta}\cdot\overline{c}_{\text{Q,}\zeta},\text{ a.s.}.

From the above two cases, we get

c¯Q=𝐩H+ζ=1m𝐩ζc¯Q,ζ. a.s..\overline{c}_{\text{Q}}=\mathbf{p}_{\text{H}}+\sum\limits_{\zeta=1}^{m}\mathbf{p}_{\zeta}\cdot\overline{c}_{\text{Q,}\zeta}.\text{ a.s..}

This completes the proof. \square

7 The Growth Rate of Blockchain

In this section, we apply the renewal reward theory to study the long-term growth rate of blockchain in the PoW Ethereum system with multiple mining pools.

In the rrth round of mining competition, we denote by v(r)v^{\left(r\right)} the number of blocks on the main chain when the honest mining pool sets up the main chain, denote by ki(r)k_{i}^{\left(r\right)} and li(r)l_{i}^{\left(r\right)} the number of honest blocks first mined by the honest mining pool and the number of dishonest blocks mined by the iith dishonest mining pool after forked when the iith dishonest mining pool sets up the main chain, respectively. Note that the part with φi(r)\varphi_{i}^{\left(r\right)} blocks of the main chain is pegged onto the blockchain.

Lemma 1

In the PoW Ethereum system with multiple mining pools, by using the law of large numbers, as NN\rightarrow\infty, we have

r=1Nv(r)Nv¯, a.s.,\frac{\sum\limits_{r=1}^{N}v^{\left(r\right)}}{N}\rightarrow\overline{v},\text{ \ a.s.,}

for i=1,2,,m,i=1,2,\ldots,m,

r=1Nki(r)Nk¯i, a.s.,\frac{\sum\limits_{r=1}^{N}k_{i}^{\left(r\right)}}{N}\rightarrow\overline{k}_{i},\text{ \ a.s.,}
r=1Nli(r)Nl¯i, a.s.,\frac{\sum\limits_{r=1}^{N}l_{i}^{\left(r\right)}}{N}\rightarrow\overline{l}_{i},\text{ \ a.s.,}

and

r=1Nφi(r)Nφ¯i, a.s.,\frac{\sum\limits_{r=1}^{N}\varphi_{i}^{\left(r\right)}}{N}\rightarrow\overline{\varphi}_{i},\text{ \ a.s.,}

where v¯\overline{v}, k¯i\overline{k}_{i}, l¯i\overline{l}_{i} and φ¯i\overline{\varphi}_{i} are the means of four random variables v(r)v^{\left(r\right)}, ki(r),k_{i}^{\left(r\right)}, li(r)l_{i}^{\left(r\right)} and φi(r)\varphi_{i}^{\left(r\right)}, respectively.

It is worthwhile to note that in the PoW Ethereum system, the competitively mining processes of the multiple mining pools are repeated round after round, as we repeat the experiments under the same conditions. Thus, the moments that one round of mining competition is over and the next round of mining competition begins immediately are all renewal points. That is, let TkT_{k} be the kkth moment that the kkth round of mining competition is over and the (k+1)\left(k+1\right)th round of mining competition begins immediately. In fact, [Tk1,Tk)[T_{k-1},T_{k}) represents a time interval that the kkth round of mining competition is underway. For simplicity of analysis, we assume that T0=0T_{0}=0, i.e., the first round of mining competition begins at time T0=0T_{0}=0. Let N(t)=max{k,Tkt},N(t)=\max\{k,T_{k}\leq t\}, then {N(t),t0}N(t),t\geq 0\} is a renewal process.

We assume that there are MkM_{k} blocks of the main chain in the time interval [Tk1,Tk)[T_{k-1},T_{k}), and MkM_{k} is independent of the time interval [Tk1,Tk)[T_{k-1},T_{k}). Let M(t)M\left(t\right) be the number of blocks of all the main chains generated in the time interval [0,t)[0,t). Then, the following theorem provides the growth rate E[M(t)]/tE\left[M\left(t\right)\right]/t of blockchain in the PoW Ethereum system with multiple mining pools.

Theorem 5

In the PoW Ethereum system with multiple mining pools, if E[M1]<+E\left[M_{1}\right]<+\infty and E[T1]<+E\left[T_{1}\right]<+\infty, then as t+t\rightarrow+\infty, we have

M(t)tE[M1]E[T1], a.s.,\frac{M\left(t\right)}{t}\rightarrow\frac{E\left[M_{1}\right]}{E\left[T_{1}\right]},\text{ a.s.,} (5)
E[M(t)]tE[M1]E[T1],\frac{E\left[M\left(t\right)\right]}{t}\rightarrow\frac{E\left[M_{1}\right]}{E\left[T_{1}\right]}, (6)

where

E[M1]=𝐩Hv¯+i=1m𝐩i{k¯i+φ¯i}.E\left[M_{1}\right]=\mathbf{p}_{\text{H}}\cdot\overline{v}+\sum_{i=1}^{m}\mathbf{p}_{i}\cdot\left\{\overline{k}_{i}+\overline{\varphi}_{i}\right\}.

Proof. We give the proof for the equation 5 only. We write

M(t)t=k=1N(t)Mkt=k=1N(t)MkN(t)N(t)t.\frac{M\left(t\right)}{t}=\frac{\sum\limits_{k=1}^{N(t)}M_{k}}{t}=\frac{\sum\limits_{k=1}^{N(t)}M_{k}}{N(t)}\cdot\frac{N(t)}{t}.

Note that

Tk=(T1T0)+(T2T1)++(TkTk1)T_{k}=\left(T_{1}-T_{0}\right)+\left(T_{2}-T_{1}\right)+\cdots+\left(T_{k}-T_{k-1}\right)

is the time length of the kk renewal periods, and the random variables T1T0,T_{1}-T_{0}, T2T1,,TkTk1T_{2}-T_{1},\ldots,T_{k}-T_{k-1} are independent and identically distributed, E[TkTk1]=E[T1T0]=E[T1]E[T_{k}-T_{k-1}]=E[T_{1}-T_{0}]=E[T_{1}] for k1k\geq 1. At the same time, the random variables Mk,k1M_{k},k\geq 1 are also independent and identically distributed, E[Mk]=E[M1].E[M_{k}]=E[M_{1}].

Note that as t+,t\rightarrow+\infty, N(t)+.N(t)\rightarrow+\infty. By the strong law of large numbers, we obtain that as tt\rightarrow\infty

k=1N(t)MkN(t)E[M1].\frac{\sum\limits_{k=1}^{N(t)}M_{k}}{N(t)}\rightarrow E[M_{1}].

By using the elementary renewal theorem (Chapter 7 of [31]), we obtain that

N(t)t1E[T1], as t+.\frac{N(t)}{t}\rightarrow\frac{1}{E[T_{1}]},\text{ as }t\rightarrow+\infty.

Therefore, we obtain that as t+t\rightarrow+\infty

M(t)tE[M1]E[T1].\frac{M\left(t\right)}{t}\rightarrow\frac{E\left[M_{1}\right]}{E\left[T_{1}\right]}.

This completes the proof. \square

8 Average Reward Allocation among the Mining Pools

In this section, we propose a new method to compute the uncle block and nephew block rewards in two consecutive rounds of mining competition, and provide expressions for the long-term reward allocation and for the long-term reward allocation rate to each mining pool by using the renewal reward theory.

we provide a computational method of the reward allocation among the honest mining pool and the mmth dishonest mining pools.

To set up the reward allocation, it is easy to see that a regular block is paid the reward of 11 block; an uncle block is paid the reward of (8l)/8\left(8-l\right)/8 blocks for 1l61\leq l\leq 6, where ll is the distance between the uncle block and the nephew block; a nephew block is paid the reward of NU/32N_{\text{U}}/32 blocks, where NUN_{\text{U}} is the number of uncle blocks; and a stale block is paid no reward.

In the PoW Ethereum system with multiple mining pools, it is worthwhile to note that in the tree with multiple sub-chains, the main chain can be obtained by either the honest mining pool or one of the mm dishonest mining pools, thus our reward allocation is considered as the following two different cases.

Case one: The honest mining pool sets up the main chain

In this case, by observing (a) of Figure 11, we consider two different cases as follows:

(i) The reward of the honest mining pool is given by

RH,H=v+RH,H(N),R_{\text{H,H}}=v+R_{\text{H,H}}^{\left(\text{N}\right)},

where vv is the number of blocks in the main chain, RH,H(N)R_{\text{H,H}}^{\left(\text{N}\right)} is the reward of a nephew block which is the first block of the main chain. Note that the nephew block refers to the uncle blocks in the previous round of mining competition. Thus we obtain

RH,H(N)={NU,H32,if the first block of the main chain is a nephew block,0,otherwise.R_{\text{H,H}}^{\left(\text{N}\right)}=\left\{\begin{array}[c]{ll}\frac{N_{\text{U,H}}}{32},&\text{if the first block of the main chain is a nephew block,}\\ 0,&\text{otherwise.}\end{array}\right.

(ii) Note that each of the mm dishonest mining pools may mine only the orphan blocks, that is, either the uncle blocks or the stale blocks. In addition, it has a nephew block either if the main chain of the previous round of mining competition is completitively pegged onto the blockchain, and this dishonest mining pool is the first one to mine a block, that is, the firstly mined block is the nephew block; or if this dishonest mining pool sets up the main chain in the previous round of mining competition, and a non-empty part of this main chain is left to this round of mining competition, that is, the nephew block is the first block of the non-empty part. Based on this, the reward of the iith dishonest mining pool is given by

RH,i=RH,i(U)+RH,i(N), i=1,2,,m,R_{\text{H},i}=R_{\text{H},i}^{\left(\text{U}\right)}+R_{\text{H},i}^{(\text{N})},\text{ \ }i=1,2,\ldots,m,

where RH,i(U)R_{\text{H},i}^{\left(\text{U}\right)} is the reward that if the iith dishonest mining pool has an uncle block, and

RH,i(U)=8l8R_{\text{H},i}^{\left(\text{U}\right)}=\frac{8-l}{8}

for 1l61\leq l\leq 6, where ll is the distance between the uncle block and the nephew block of the next round of mining competition; and

RH,i(N)=NU,i32,R_{\text{H},i}^{(\text{N})}=\frac{N_{\text{U,}i}}{32},

where NU,iN_{\text{U,}i} is the number of uncle blocks in the previous round of mining competition if the nephew block belongs to the iith dishonest mining pool. Based on this, we have

RH,i(U)={8l8,if the ith dishonest mining pool has an uncle block,0,otherwise;R_{\text{H},i}^{\left(\text{U}\right)}=\left\{\begin{array}[c]{ll}\frac{8-l}{8},&\text{if the }i\text{th dishonest mining pool has an uncle block,}\\ 0,&\text{otherwise;}\end{array}\right.

and

RH,i(N)={NU,i32,if the nephew block belongs to the ith dishonest mining pool,0,otherwise.R_{\text{H},i}^{(\text{N})}=\left\{\begin{array}[c]{ll}\frac{N_{\text{U},i}}{32},&\text{if the nephew block belongs to the }i\text{th dishonest mining pool,}\\ 0,&\text{otherwise.}\end{array}\right.

Case two: The ζ\zetath dishonest mining pool sets up the main chain

In this case, by observing (b) and (c) of Figure 11, we consider three different cases as follows:

(i) The reward of the ζ\zetath dishonest mining pool

Note that the ζ\zetath dishonest mining pool sets up the main chain, it is clear that ω1=kζ+lζ\omega_{1}=k_{\zeta}+l_{\zeta}. We assume that the part with φζ\varphi_{\zeta} blocks for ω2+2φζω1\omega_{2}+2\leq\varphi_{\zeta}\leq\omega_{1} of the main chain are pegged onto the blockchain, while another part with ω1φζ\omega_{1}-\varphi_{\zeta} blocks of the main chain is left to the next round of mining competition.

The reward of the ζ\zetath dishonest mining pool is given by

Rζ,ζ=φζ+Rζ,ζ(N),R_{\zeta,\zeta}=\varphi_{\zeta}+R_{\zeta,\zeta}^{(\text{N})},

where φζ\varphi_{\zeta} is the number of blocks in the part of the main chain, which is pegged onto the blockchain; and

Rζ,ζ(N)=NU,ζ32,R_{\zeta,\zeta}^{(\text{N})}=\frac{N_{\text{U},\zeta}}{32},

where NU,ζN_{\text{U},\zeta} is the number of uncle blocks in the previous round of mining competition if the nephew block belongs to the ζ\zetath dishonest mining pool. Based on this, we have

Rζ,ζ(N)={NU,ζ32,if the nephew block belongs to the ζth dishonest mining pool,0,otherwise.R_{\zeta,\zeta}^{(\text{N})}=\left\{\begin{array}[c]{ll}\frac{N_{\text{U},\zeta}}{32},&\text{if the nephew block belongs to the }\zeta\text{th dishonest mining pool,}\\ 0,&\text{otherwise.}\end{array}\right.

(ii) The reward of the honest mining pool

If the ζ\zetath dishonest mining pool sets up the main chain, then the honest mining pool can mine only the orphan blocks after the ζ\zetath dishonest mining pool forks, that is, either the uncle blocks or the stale blocks. In addition, it may have a nephew block if the honest mining pool is the first one to mine a block in this round of mining competition. In this case, the reward of the honest mining pool contains the reward of kζk_{\zeta} regular blocks, the reward of one uncle block and the reward of a nephew block. Based on this, the reward of the honest mining pool is given by

Rζ,H=kζ+Rζ,H(U)+Rζ,H(N),R_{\zeta,\text{H}}=k_{\zeta}+R_{\zeta,\text{H}}^{\left(\text{U}\right)}+R_{\zeta,\text{H}}^{\left(\text{N}\right)},

where Rζ,H(U)R_{\zeta,\text{H}}^{\left(\text{U}\right)} is the reward that if the honest mining pool has an uncle block, and

Rζ,H(U)=8l8R_{\zeta,\text{H}}^{\left(\text{U}\right)}=\frac{8-l}{8}

for 1l61\leq l\leq 6, where ll is the distance between the uncle block and the nephew block of the next round of mining competition; and

Rζ,H(N)=NU,H32,R_{\zeta,\text{H}}^{\left(\text{N}\right)}=\frac{N_{\text{U,H}}}{32},

where NU,HN_{\text{U,H}} is the number of uncle blocks in the previous round of mining competition if the nephew block belongs to the honest mining pool. Based on this, we have

Rζ,H(U)={8l8,if the honest mining pool has an uncle block,0,otherwise;R_{\zeta,\text{H}}^{\left(\text{U}\right)}=\left\{\begin{array}[c]{ll}\frac{8-l}{8},&\text{if the honest mining pool has an uncle block,}\\ 0,&\text{otherwise;}\end{array}\right.

and

Rζ,H(N)={NU,H32,if the nephew block belongs to the honest mining pool,0,otherwise.R_{\zeta,\text{H}}^{\left(\text{N}\right)}=\left\{\begin{array}[c]{ll}\frac{N_{\text{U,H}}}{32},&\text{if the nephew block belongs to the honest mining pool,}\\ 0,&\text{otherwise.}\end{array}\right.

(iii) The reward of the iith dishonest mining pool for iζi\neq\zeta

If the ζ\zetath dishonest mining pool sets up the main chain, then the iith dishonest mining pool can mine only the orphan blocks, that is, either the uncle blocks or the stale blocks. In addition, it has a nephew block either if the main chain of the previous round of mining competition is completely pegged onto the blockchain, and the iith dishonest mining pool is the first one to mine a block, that is, the firstly mined block is the nephew block that belongs to the iith dishonest mining pool; or if the iith dishonest mining pool sets up the main chain in the previous round of mining competition, and a non-empty part of this main chain is left to this round of mining competition, that is, the nephew block is the first block of the non-empty part. Based on this, the reward of the iith dishonest mining pool is given by

Rζ,i=Rζ,i(U)+Rζ,i(N), i=1,2,,m,R_{\zeta,i}=R_{\zeta,i}^{\left(\text{U}\right)}+R_{\zeta,i}^{\left(\text{N}\right)},\text{ \ }i=1,2,\ldots,m,

where Rζ,i(U)R_{\zeta,i}^{\left(\text{U}\right)} is the reward that if the iith dishonest mining pool has an uncle block, and

Rζ,i(U)=8l8R_{\zeta,i}^{\left(\text{U}\right)}=\frac{8-l}{8}

for 1l61\leq l\leq 6, where ll is the distance between the uncle block and the nephew block of the next round of mining competition; and

Rζ,i(N)=NU,i32,R_{\zeta,i}^{\left(\text{N}\right)}=\frac{N_{\text{U},i}}{32},

where NU,iN_{\text{U},i} is the number of uncle blocks in the previous round of mining competition if the nephew block belongs to the iith dishonest mining pool. Based on this, we have

Rζ,i(U)={8l8,if the ith dishonest mining pool has an uncle block,0,otherwise;R_{\zeta,i}^{\left(\text{U}\right)}=\left\{\begin{array}[c]{ll}\frac{8-l}{8},&\text{if the }i\text{th dishonest mining pool has an uncle block,}\\ 0,&\text{otherwise;}\end{array}\right.

and

Rζ,i(N)={NU,i32,if the nephew block belongs to the ith dishonest mining pool,0,otherwise..R_{\zeta,i}^{\left(\text{N}\right)}=\left\{\begin{array}[c]{ll}\frac{N_{\text{U},i}}{32},&\text{if the nephew block belongs to the }i\text{th dishonest mining pool,}\\ 0,&\text{otherwise.}\end{array}\right..

When the reward of each mining pool is regarded as random variables, we can apply the law of large numbers to further study the reward of each mining pool. In this situation, we obtain some interesting results, which can be applied to solving many practical problems owing to the fact that by using the law of large numbers, our experimental reward of each mining pool can steadily approach their corresponding fixed values. Such a statistical method is effective and useful in the study of the PoW Ethereum system with multiple mining pools, because analysis of the tree with multiple sub-chains always has a higher computational complexity.

In what follows, we apply the law of large numbers to study the reward obtained by each multiple mining pool in the PoW Ethereum system. Let RH(r)R_{\text{H}}^{(r)} and Ri(r)R_{i}^{(r)} be the reward obtained by the honest mining pool or the iith dishonest mining pool in the rrth round of competition for i=1,2,,mi=1,2,\ldots,m.

Theorem 6

In the PoW Ethereum system with multiple mining pools, by using the law of large numbers, as NN\rightarrow\infty, we have

r=1NRH(r)NR¯H, a.s.,\frac{\sum\limits_{r=1}^{N}R_{\text{H}}^{(r)}}{N}\rightarrow\overline{R}_{\text{H}},\text{ \ a.s.,}

and for i=1,2,,m,i=1,2,\ldots,m,

r=1NRi(r)NR¯i, a.s..\frac{\sum\limits_{r=1}^{N}R_{i}^{(r)}}{N}\rightarrow\overline{R}_{i},\text{ \ a.s..}

Proof. The proof is easy. We only take the first one as a proof example. Here, we also need to consider two different cases:

Case one: The honest mining pool sets up the main chain in the rrth round of mining competition for r=1,2,3,,Nr=1,2,3,\ldots,N. In this case,

RH,H(r)=v(r)+RH,H(N,r),R_{\text{H,H}}^{(r)}=v^{\left(r\right)}+R_{\text{H,H}}^{\left(\text{N},r\right)},

where in the rrth round of mining competition, v(r)v^{\left(r\right)} and RH(N,r)R_{\text{H}}^{\left(\text{N},r\right)} are the number of blocks in the main chain, and the reward of a nephew block which is the first block of the main chain, respectively. Note that the main chain is mined by the honest mining pool.

Note that the competitively mining processes of the multiple mining pools are repeated round after round, the random variables v(r)v^{\left(r\right)} and RH(N,r)R_{\text{H}}^{\left(\text{N},r\right)} (thus RH(r)R_{\text{H}}^{(r)}) can be repeated by the experiments round after round under the same conditions. Based on this, the random variable sequences {v(r),r=1,2,3,}\left\{v^{\left(r\right)},r=1,2,3,\ldots\right\} and {RH,H(N,r),r=1,2,3,}\left\{R_{\text{H,H}}^{\left(\text{N},r\right)},r=1,2,3,\ldots\right\} (thus {RH(r),r=1,2,3,}\left\{R_{\text{H}}^{(r)},r=1,2,3,\ldots\right\}) can be regarded as independent and identically distributed. Therefore, we obtain

r=1NHv(r)NHv¯, a.s.,\frac{\sum\limits_{r=1}^{N_{\text{H}}}v^{\left(r\right)}}{N_{\text{H}}}\rightarrow\overline{v},\text{ \ a.s.,}

and

r=1NHRH,H(N,r)NHR¯H,H(N), a.s..\frac{\sum\limits_{r=1}^{N_{\text{H}}}R_{\text{H,H}}^{\left(\text{N},r\right)}}{N_{\text{H}}}\rightarrow\overline{R}_{\text{H,H}}^{\left(\text{N}\right)},\text{ \ a.s..}

This gives

r=1NHRH,H(r)NH\displaystyle\frac{\sum\limits_{r=1}^{N_{\text{H}}}R_{\text{H,H}}^{(r)}}{N_{\text{H}}} =r=1NHv(r)NH+r=1NHRH,H(N,r)NH\displaystyle=\frac{\sum\limits_{r=1}^{N_{\text{H}}}v^{\left(r\right)}}{N_{\text{H}}}+\frac{\sum\limits_{r=1}^{N_{\text{H}}}R_{\text{H,H}}^{\left(\text{N},r\right)}}{N_{\text{H}}}
v¯+R¯H,H(N), a.s..\displaystyle\rightarrow\overline{v}+\overline{R}_{\text{H,H}}^{\left(\text{N}\right)},\text{ \ \ \ \ \ \ \ \ a.s..}

Case two: The ζ\zetath dishonest mining pool sets up the main chain in the rrth round of mining competition for r=1,2,3,r=1,2,3,\ldots.

In this case, the honest mining pool can mine only the orphan blocks, that is, either the uncle blocks or the stale blocks. In addition, it may have a nephew block if the honest mining pool is the first one to mine a block in a round of mining competition, that is, the firstly mined block is the nephew block. Thus, we have

Rζ,H(r)=kζ(r)+Rζ,H(U,r)+Rζ,H(N,r),R_{\zeta,\text{H}}^{(r)}=k_{\zeta}^{(r)}+R_{\zeta,\text{H}}^{\left(\text{U},r\right)}+R_{\zeta,\text{H}}^{\left(\text{N},r\right)},

where in the rrth round of mining competition, Rζ,H(U,r)R_{\zeta,\text{H}}^{\left(\text{U},r\right)} is the reward of 11 uncle block if the honest mining pool has an uncle block.

Note that the competitively mining processes of the multiple mining pools are repeated round after round, the random variables kζ(r),k_{\zeta}^{(r)}, Rζ,H(U,r)R_{\zeta,\text{H}}^{\left(\text{U},r\right)} and Rζ,H(N,r)R_{\zeta,\text{H}}^{\left(\text{N},r\right)} (thus Rζ,H(r)R_{\zeta,\text{H}}^{(r)}) can be repeated by the experiments round after round under the same conditions. Based on this, the random variable sequences {kζ(r),r=1,2,3,},\left\{k_{\zeta}^{(r)},r=1,2,3,\ldots\right\}, {Rζ,H(U,r),r=1,2,3,}\left\{R_{\zeta,\text{H}}^{\left(\text{U},r\right)},r=1,2,3,\ldots\right\} and {Rζ,H(N,r),r=1,2,3,}\left\{R_{\zeta,\text{H}}^{\left(\text{N},r\right)},r=1,2,3,\ldots\right\} (thus {Rζ,H(r),r=1,2,3,}\left\{R_{\zeta,\text{H}}^{(r)},r=1,2,3,\ldots\right\}) can be regarded as independent and identically distributed. Therefore, we obtain

r=1Nζkζ(r)Nζk¯ζ, a.s.,\frac{\sum\limits_{r=1}^{N_{\zeta}}k_{\zeta}^{(r)}}{N_{\zeta}}\rightarrow\overline{k}_{\zeta},\text{ \ a.s.,}
r=1NζRζ,H(U,r)NζR¯ζ,H(U), a.s.,\frac{\sum\limits_{r=1}^{N_{\zeta}}R_{\zeta,\text{H}}^{\left(\text{U},r\right)}}{N_{\zeta}}\rightarrow\overline{R}_{\zeta,\text{H}}^{\left(\text{U}\right)},\text{ \ a.s.,}

and

r=1NζRζ,H(N,r)NζR¯ζ,H(N), a.s..\frac{\sum\limits_{r=1}^{N_{\zeta}}R_{\zeta,\text{H}}^{\left(\text{N},r\right)}}{N_{\zeta}}\rightarrow\overline{R}_{\zeta,\text{H}}^{\left(\text{N}\right)},\text{ \ a.s..}

This gives

r=1NζRζ,H(r)Nζ\displaystyle\frac{\sum\limits_{r=1}^{N_{\zeta}}R_{\zeta,\text{H}}^{(r)}}{N_{\zeta}} =r=1Nζkζ(r)Nζ+r=1NζRζ,H(U,r)Nζ+r=1NζRζ,H(N,r)Nζ\displaystyle=\frac{\sum\limits_{r=1}^{N_{\zeta}}k_{\zeta}^{(r)}}{N_{\zeta}}+\frac{\sum\limits_{r=1}^{N_{\zeta}}R_{\zeta,\text{H}}^{\left(\text{U},r\right)}}{N_{\zeta}}+\frac{\sum\limits_{r=1}^{N_{\zeta}}R_{\zeta,\text{H}}^{\left(\text{N},r\right)}}{N_{\zeta}}
k¯ζ+R¯ζ,H(U)+R¯ζ,H(N), a.s..\displaystyle\rightarrow\overline{k}_{\zeta}+\overline{R}_{\zeta,\text{H}}^{\left(\text{U}\right)}+\overline{R}_{\zeta,\text{H}}^{\left(\text{N}\right)},\text{ \ \ \ \ \ \ \ \ a.s..}

Therefore, we can get that as NN\rightarrow\infty

r=1NRH(r)N\displaystyle\frac{\sum\limits_{r=1}^{N}R_{\text{H}}^{(r)}}{N} =r=1NHRH(r)N+ζ=1mr=1NζRζ,H(r)N\displaystyle=\frac{\sum\limits_{r=1}^{N_{\text{H}}}R_{\text{H}}^{(r)}}{N}+\frac{\sum\limits_{\zeta=1}^{m}\sum\limits_{r=1}^{N_{\zeta}}R_{\zeta,\text{H}}^{(r)}}{N}
=r=1NHRH(r)NHNHN+ζ=1mr=1NζRζ,H(r)NζNζN\displaystyle=\frac{\sum\limits_{r=1}^{N_{\text{H}}}R_{\text{H}}^{(r)}}{N_{\text{H}}}\cdot\frac{N_{\text{H}}}{N}+\frac{\sum\limits_{\zeta=1}^{m}\sum\limits_{r=1}^{N_{\zeta}}R_{\zeta,\text{H}}^{(r)}}{N_{\zeta}}\cdot\frac{N_{\zeta}}{N}
=𝐩H(v¯+R¯H,H(N))+ζ=1m𝐩ζ(k¯ζ+R¯ζ,H(U)+R¯ζ,H(N)), a.s..\displaystyle=\mathbf{p}_{\text{H}}\left(\overline{v}+\overline{R}_{\text{H,H}}^{\left(\text{N}\right)}\right)+\sum\limits_{\zeta=1}^{m}\mathbf{p}_{\zeta}\left(\overline{k}_{\zeta}+\overline{R}_{\zeta,\text{H}}^{\left(\text{U}\right)}+\overline{R}_{\zeta,\text{H}}^{\left(\text{N}\right)}\right),\text{ a.s..}

This completes the proof. \square

9 Reward Rates Allocated among the Mining Pools

In this section, we apply the renewal reward processes to study the long-term reward allocation rates among the multiple mining pools.

Note that the competitively mining processes of the multiple mining pools are repeated round after round, as we repeat the experiments under the same conditions. Thus, the moments that one round of mining competition is over and the next round of mining competition begins immediately are all renewal points. Let TkT_{k} be the kkth moment that the kkth round of mining competition is over and the (k+1)\left(k+1\right)th round of mining competition begins immediately. In fact, [Tk1,Tk)[T_{k-1},T_{k}) represents such a time interval that the kkth round of mining competition is underway. For simplicity, we assume that T0=0T_{0}=0. Let N(t)=max{k,Tkt},N(t)=\max\{k,T_{k}\leq t\}, then {N(t),t0}N(t),t\geq 0\} is a renewal process.

Let RH(k)R_{\text{H}}^{\left(k\right)} and Rζ(k)R_{\zeta}^{\left(k\right)} be the rewards allocated to the honest mining pool and the ζ\zetath dishonest mining pool in the time interval [Tk1,Tk)[T_{k-1},T_{k}), respectively. Meanwhile, RH(k)R_{\text{H}}^{\left(k\right)} and Rζ(k)R_{\zeta}^{\left(k\right)} are independent of the time interval [Tk1,Tk)[T_{k-1},T_{k}). Let RH(t)R_{\text{H}}\left(t\right) and Rζ(t)R_{\zeta}\left(t\right) be the rewards allocated to the honest mining pool and the ζ\zetath dishonest mining pool in the time interval [0,t)[0,t). The following theorem respectively provides the reward allocation rates to the honest mining pool and the ζ\zetath dishonest mining pool in the PoW Ethereum system with multiple mining pools.

Theorem 7

In the PoW Ethereum system with multiple mining pools, if E[RH(1)]<+E\left[R_{\text{H}}^{\left(1\right)}\right]<+\infty and E[T1]<+E\left[T_{1}\right]<+\infty, then as tt\rightarrow\infty,

RH(t)tE[RH(1)]E[T1], a.s.,\frac{R_{\text{H}}\left(t\right)}{t}\rightarrow\frac{E\left[R_{\text{H}}^{\left(1\right)}\right]}{E\left[T_{1}\right]},\text{ \ a.s.,} (7)
E[RH(t)]tE[RH(1)]E[T1];\frac{E\left[R_{\text{H}}\left(t\right)\right]}{t}\rightarrow\frac{E\left[R_{\text{H}}^{\left(1\right)}\right]}{E\left[T_{1}\right]}; (8)
Rζ(t)tE[Rζ(1)]E[T1], a.s.,\frac{R_{\zeta}\left(t\right)}{t}\rightarrow\frac{E\left[R_{\zeta}^{\left(1\right)}\right]}{E\left[T_{1}\right]},\text{ \ a.s.,} (9)
E[Rζ(t)]tE[Rζ(1)]E[T1],\frac{E\left[R_{\zeta}\left(t\right)\right]}{t}\rightarrow\frac{E\left[R_{\zeta}^{\left(1\right)}\right]}{E\left[T_{1}\right]}, (10)

where

E[RH(1)]=\displaystyle E\left[R_{\text{H}}^{\left(1\right)}\right]= 𝐩H(v¯+𝐪H,H(N)R¯H,H(N))\displaystyle\mathbf{p}_{\text{H}}\left(\overline{v}+\mathbf{q}_{\text{H},\text{H}}^{\left(\text{N}\right)}\overline{R}_{\text{H,H}}^{\left(\text{N}\right)}\right)
+ζ=1m𝐩ζ(k¯ζ+𝐪ζ,H(U)R¯ζ,H(U)+𝐪ζ,H(N)R¯ζ,H(N)),\displaystyle+\sum_{\zeta=1}^{m}\mathbf{p}_{\zeta}\left(\overline{k}_{\zeta}+\mathbf{q}_{\zeta,\text{H}}^{\left(\text{U}\right)}\overline{R}_{\zeta,\text{H}}^{\left(\text{U}\right)}+\mathbf{q}_{\zeta,\text{H}}^{\left(\text{N}\right)}\overline{R}_{\zeta,\text{H}}^{\left(\text{N}\right)}\right),
E[Rζ(1)]=\displaystyle E\left[R_{\zeta}^{\left(1\right)}\right]= 𝐩ζ(φ¯ζ+𝐪ζ,ζ(N)R¯ζ,ζ(N))\displaystyle\mathbf{p}_{\zeta}\left(\overline{\varphi}_{\zeta}+\mathbf{q}_{\zeta,\zeta}^{\left(\text{N}\right)}\overline{R}_{\zeta,\zeta}^{\left(\text{N}\right)}\right)
+𝐩H(𝐪H,ζ(U)R¯H,ζ(U)+𝐪H,ζ(N)R¯H,ζ(N))\displaystyle+\mathbf{p}_{\text{H}}\left(\mathbf{q}_{\text{H},\zeta}^{\left(\text{U}\right)}\overline{R}_{\text{H},\zeta}^{\left(\text{U}\right)}+\mathbf{q}_{\text{H},\zeta}^{\left(\text{N}\right)}\overline{R}_{\text{H},\zeta}^{\left(\text{N}\right)}\right)
+kζm𝐩k(𝐪k,ζ(U)R¯k,ζ(U)+𝐪k,ζ(N)R¯k,ζ(N)).\displaystyle+\sum_{k\neq\zeta}^{m}\mathbf{p}_{k}\left(\mathbf{q}_{k,\zeta}^{\left(\text{U}\right)}\overline{R}_{\text{k},\zeta}^{\left(\text{U}\right)}+\mathbf{q}_{k,\zeta}^{\left(\text{N}\right)}\overline{R}_{\text{k},\zeta}^{\left(\text{N}\right)}\right).

Proof. We give the proof for equation 7 only. To do this, we write

RH(t)t=k=1N(t)RH(k)t=k=1N(t)RH(k)N(t)N(t)t.\frac{R_{\text{H}}\left(t\right)}{t}=\frac{\sum\limits_{k=1}^{N(t)}R_{\text{H}}^{\left(k\right)}}{t}=\frac{\sum\limits_{k=1}^{N(t)}R_{\text{H}}^{\left(k\right)}}{N(t)}\cdot\frac{N(t)}{t}.

Note that

Tk=(T1T0)+(T2T1)++(TkTk1)T_{k}=\left(T_{1}-T_{0}\right)+\left(T_{2}-T_{1}\right)+\cdots+\left(T_{k}-T_{k-1}\right)

is the time length of the kk renewal periods, and the random variables T1T0,T_{1}-T_{0}, T2T1,,TkTk1T_{2}-T_{1},\ldots,T_{k}-T_{k-1} are independent and identically distributed, E[TkTk1]=E[T1T0]=E[T1]E[T_{k}-T_{k-1}]=E[T_{1}-T_{0}]=E[T_{1}] for k1k\geq 1. At the same time, the random variables RH(k),k1R_{\text{H}}^{\left(k\right)},k\geq 1 are also independent and identically distributed, E[RH(k)]=E[RH(1)].E[R_{\text{H}}^{\left(k\right)}]=E[R_{\text{H}}^{\left(1\right)}].

Note that t+,t\rightarrow+\infty, N(t)+.N(t)\rightarrow+\infty. By the strong law of large numbers, we obtain that as tt\rightarrow\infty

k=1N(t)RH(k)N(t)E[RH(1)].\frac{\sum\limits_{k=1}^{N(t)}R_{\text{H}}^{\left(k\right)}}{N(t)}\rightarrow E[R_{\text{H}}^{\left(1\right)}].

According to the elementary renewal theorem (Chapter 7 of [31]), we obtain that

N(t)t1E[T1], as t+.\frac{N(t)}{t}\rightarrow\frac{1}{E[T_{1}]},\text{ as }t\rightarrow+\infty.

Therefore, we obtain that as t+,t\rightarrow+\infty,

RH(t)tE[RH(1)]E[T1].\frac{R_{\text{H}}\left(t\right)}{t}\rightarrow\frac{E\left[R_{\text{H}}^{\left(1\right)}\right]}{E\left[T_{1}\right]}.

This completes the proof. \square

10 Simulation Experiments

In this section, we use some simulation experiments to discuss the Ethereum system with one honest mining pool and two dishonest mining pools, verify how the key probabilities of Ethereum are obtained approximately by using the law of large numbers, and analyze the performance measures of the Ethereum system by means of the renewal reward theorem.

10.1 An Experiment Design

In order to analyze the competitive mining processes of multiple mining pools, our simulation experiment is designed as follows:

(1) In our simulation, we take a round of mining competition as a sampling, and then we repeat such a sampling round after round.

(2) Under the two-block leading competitive criterion, one dishonest mining pool may release a part of its sub-chain into the Ethereum system. Here, our simulation experiments consider the mining rule: ω1ω2=2\omega_{1}-\omega_{2}=2. That is, the longest sub-chain length is 2 blocks longer than the second-longest sub-chain in the system.

Although ω1ω2=2\omega_{1}-\omega_{2}=2 is taken as a terminate rule to end a round of mining competition among the multiple mining pools, the dishonest mining pools can fork at any position of the sub-chain mined by the honest mining pool. Thus, the tree with multiple block sub-chains is still more complicated, and also represents the general practical mining structure of the PoW Ethereum system with multiple mining pools.

(3) For simplicity of simulation, our design is to consider the mining processes of the multiple mining pools. To do this, we take m+1m+1 random variables as

Xi=X(1αi+1γ),i=0,1,2,,m,X_{i}=X\cdot(\frac{1}{\alpha_{i}}+\frac{1}{\gamma}),i=0,1,2,...,m,

where, XiX_{i} is the block-generating and block-pegging time of the iith mining pool, αi\alpha_{i} is the mining power of the iith mining pool, and γ\gamma is the communication ability of the P2P network. Note that 1/αi+1/γ1/\alpha_{i}+1/\gamma is used to show the independence between the mining power and the communication ability. At the same time, it is easy to see that XiX_{i} decreases as αi\alpha_{i} or γ\gamma increases, this is consistent with our intuitive understanding on the mining times.

We assume that the random variable XX obeys an exponential distribution of the mean 1515 seconds, where the 1515 seconds are always chosen as the expected mining time of one block in the PoW Ethereum system. Let dd be a random number generated by the exponential distribution of XX, then we have

di=d(1αi+1γ),i=0,1,2,,m.d_{i}=d\cdot(\frac{1}{\alpha_{i}}+\frac{1}{\gamma}),i=0,1,2,...,m.

10.2 Simulation and results

In this subsection, we describe and analyze some interesting simulation results.

(1) The law of large numbers

Note that the probability that each mining pool wins the mining competition plays a key role in our research on the key ratios, the growth rate of blockchain, the reward allocation rates and so on. Here, it is necessary to verify how this probability is obtained approximately by using the law of large numbers. To this end, we take N[10000,40000]N\in\left[10000,40000\right] and γ=10.\gamma=10.

Refer to caption
(a) αH=0.6,α1=0.3,α2=0.1\alpha_{\text{H}}=0.6,\alpha_{1}=0.3,\alpha_{2}=0.1
Refer to caption
(b) αH=0.7,α1=0.2,α2=0.1\alpha_{\text{H}}=0.7,\alpha_{1}=0.2,\alpha_{2}=0.1
Figure 12: The probabilities are approximately computed by the law of large numbers.

From Figure 12, it is easy to see that the three probabilities: 𝐩H,\mathbf{p}_{\text{H}}, 𝐩1,\mathbf{p}_{1},and 𝐩2\mathbf{p}_{2} fluctuate around a certain value. This shows that the laws of large numbers is well applied to determine these probabilities.

From the left part of Figure 12, it is seen that 𝐩1>𝐩H,\mathbf{p}_{1}>\mathbf{p}_{\text{H}}, while 𝐩1<𝐩H\mathbf{p}_{1}<\mathbf{p}_{\text{H}} in the right of the Figure 12. It shows that as αH\alpha_{\text{H}} increases, there exists a αH,\alpha_{\text{H}}^{\ast}, such that 𝐩1=𝐩H.\mathbf{p}_{1}=\mathbf{p}_{\text{H}}. Furthermore, it is observed that as αH\alpha_{\text{H}} increases, the probability 𝐩1+𝐩2\mathbf{p}_{1}+\mathbf{p}_{2} of the dishonest mining pools decreases. Thus, the influence of the dishonest pools decreases as αH\alpha_{\text{H}} increases.

In order to observe the interesting value αH,\alpha_{\text{H}}^{\ast}, we use a special experiment. Let N=20000,γ=10,α2=0.1,N=20000,\gamma=10,\alpha_{2}=0.1, αH[0.55,0.8],\alpha_{\text{H}}\in\left[0.55,0.8\right], α1=1αHα2.\alpha_{1}=1-\alpha_{\text{H}}-\alpha_{2}. Each of our simulations with 2000020000 rounds of mining competition is repeated 100100 times to calculate the average of the approximate probabilities 𝐩H\mathbf{p}_{\text{H}} and 𝐩1.\mathbf{p}_{1}. We denote the two average values by 𝐩¯H\overline{\mathbf{p}}_{\text{H}} and 𝐩¯1\overline{\mathbf{p}}_{1}. The results are shown in Figure 13.

Refer to caption
Figure 13: The average probabilities and the mining power threshold.

From Figure 13, it is seen that as αH\alpha_{\text{H}} increases, the average probability 𝐩¯H\overline{\mathbf{p}}_{\text{H}} increases, and the average probability 𝐩¯1\overline{\mathbf{p}}_{1} decreases. Also, it is observed that there exists a αH,\alpha_{\text{H}}^{\ast}, when αH<αH\alpha_{\text{H}}<\alpha_{\text{H}}^{\ast}, 𝐩¯1>𝐩¯H\overline{\mathbf{p}}_{1}>\overline{\mathbf{p}}_{\text{H}}; and when αH>αH\alpha_{\text{H}}>\alpha_{\text{H}}^{\ast}, 𝐩¯1<𝐩¯H\overline{\mathbf{p}}_{1}<\overline{\mathbf{p}}_{\text{H}}. In our simulation experiments, we obtain that the 95%95\% confidence interval of the mining power αH\alpha_{\text{H}}^{\ast} is [0.6662,0.6731]\left[0.6662,0.6731\right]. This shows that when the mining power of the 11st dishonest mining pool exceeds the mining power threshold 23.38%23.38\%, the 11st dishonest pool has the biggest probability of setting up the main chain. Based on this, the dishonest mining pool with a smaller mining power can have the same probability of setting up the main chain as the honest mining pool. This is why the dishonest mining pool may fork at any position of the honest sub-chain.

In the remainder of this subsection, we explore how the performance measures of the Ethereum system depend on the mining powers of the three mining pools. To this end, we take the parameters as follows: The mining power of the honest mining pool αH[0.51,0.82],\alpha_{\text{H}}\in\left[0.51,0.82\right], the mining power of the 22nd dishonest mining pool α2=0.13,\alpha_{2}=0.13, and the mining power of the 11st dishonest mining pool α1=1αHα2,\alpha_{1}=1-\alpha_{\text{H}}-\alpha_{2}, the rate at which the block is pegged to the corresponding sub-chain γ=10\gamma=10, and the numbers of mining competition rounds are N1=15000,N_{1}=15000, N2=18000,N3=20000,N4=25000,N5=30000N_{2}=18000,N_{3}=20000,N_{4}=25000,N_{5}=30000.

(2) Some key probabilities vs. αH\alpha_{\text{H}}

From Figure 14, it is seen that each of the probabilities is stably close to a certain value. This shows that the law of large numbers is successfully applied in our computation. See Theorem 3 for a comparison.

Refer to captionRefer to captionRefer to caption
Refer to captionRefer to captionRefer to caption
Figure 14: Some probabilities that each main chain contains uncle or nephew blocks.

(3) Some key ratios vs. αH\alpha_{\text{H}}

From Figure 15, it is observed that for some different values of N,N, the key ratios c¯Q\overline{c}_{\text{Q}}, r¯M,\overline{r}_{\text{M}}, r¯O\overline{r}_{\text{O}}, r¯U\overline{r}_{\text{U}}, and r¯S\overline{r}_{\text{S}} are all approximately stable in our computation by means of the law of large numbers. Also, the chain quality c¯Q\overline{c}_{\text{Q}} increases as αH\alpha_{\text{H}} increases, while the uncle block ratio r¯U\overline{r}_{\text{U}} decreases as the αH\alpha_{\text{H}} increases. For the main chain length ratio r¯M,\overline{r}_{\text{M}}, it first decreases and then increases as the αH\alpha_{\text{H}} increases. For the stale block ratio r¯S\overline{r}_{\text{S}} (resp. r¯O\overline{r}_{\text{O}}), it first increases and then decreases as αH\alpha_{\text{H}} increases. It shows from r¯M,\overline{r}_{\text{M}}, r¯O\overline{r}_{\text{O}} and r¯S\overline{r}_{\text{S}} that when the mining power of the honest mining pool is close to 0.70.7, the mining competition among the three mining pools is the most intense, so that a lot of mining resources are wasted.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 15: The key ratios of blockchain.

(4) The growth rate of blockchain vs. αH\alpha_{\text{H}}

From Figure 16, we can see that for some different values of NN, the growth rate of the blockchain limt+M(t)/t=E[M1]/E[T1]lim_{t\rightarrow+\infty}M\left(t\right)/t=E\left[M_{1}\right]/E\left[T_{1}\right] can be effectively computed by means of the law of large numbers and the renewal theorem. In addition, there exists a value α0(0,1)\alpha_{0}\in\left(0,1\right) such that when αH<α0\alpha_{\text{H}}<\alpha_{0}, the growth rate of blockchain decreases as αH\alpha_{\text{H}} increases; while when αH>α0\alpha_{\text{H}}>\alpha_{0}, the growth rate of blockchain almost unchanged as αH\alpha_{\text{H}} increases. It indicates that the growth rate of blockchain reaches the lowest level once the honest mining pool masters the major mining power of the entire network. Also, it shows from the Figure 16 that the total mining power of the Ethereum system is dispersed into the multiple mining pools benefits the growth rate of blockchain.

Refer to caption
Figure 16: The growth rate of blockchain.

(5) The reward of the honest mining pool vs. αH\alpha_{\text{H}}

Figure 17 shows the reward of the honest mining pool. For some different values of NN, the reward R¯H\overline{R}_{\text{H}} can be approximately computed by means of the law of large numbers. Also, the reward R¯H\overline{R}_{\text{H}} increases as αH\alpha_{\text{H}} increases, which is consistent with the fact that the reward of the honest mining pool is positively correlated with its mining power.

Refer to caption
Figure 17: The reward obtained by the honest mining pool.

(6) The reward allocation rate of the honest mining pool vs. αH\alpha_{\text{H}}

Figure 18 shows the reward allocation rate of the honest mining pool. For different values of NN, the reward allocation rate of the honest mining pool limt+RH(t)/t=E[RH(1)]/E[T1]lim_{t\rightarrow+\infty}R_{\text{H}}\left(t\right)/t=E\left[R_{\text{H}}^{\left(1\right)}\right]/E\left[T_{1}\right] can be effectively computed by using the law of large numbers and the renewal theorem. Also, the reward allocation rate increases as αH\alpha_{\text{H}} increases, which is also consistent with the fact that the reward allocation rate of the honest mining pool is positively correlated with its mining power.

Refer to caption
Figure 18: The reward allocation rate of the honest mining pool.

11 Concluding Remarks

The growth of the PoW Ethereum system with multiple mining pools has created the need for not only development of blockchain technology but also setting up a general mathematical representation of tree and dealing with the multi-dimensional stochastic systems related to the multiple block branches of tree. In general, the research on such a tree and associated mathematical analysis is very difficult and challenging. It is worthwhile to note that our mathematical representation of tree is the first one in the study of blockchain with multiple mining pools, and it is different from that tree of the GHOST protocol given in Sompolinsky and Zohar [32, 33].

For a blockchain system with two mining pools, Eyal and Sirer [12] found the selfish mining and constructed a simple tree with two block branches. Following the tree with two block branches, Li et al. [21] established the two-dimensional Markov (reward) processes to analyze the efficiency and benefit of blockchain. However, so far a little research has worked on the blockchain systems with multiple mining pools although we need to answer questions such as how to mathematically represent a general tree with multiple block branches and how to analyze a complicated multi-dimensional stochastic system running on the general tree. It is obvious that the study of PoW Ethereum system with multiple mining pools will need to apply the multi-dimensional stochastic processes on a general tree, even simply, the fluid and diffusion approximations on a general tree.

In this paper, we described a PoW Ethereum system with multiple mining pools, which is controlled by the two-block leading competitive criterion proposed in Li et al. [21]. Here, a block branch will be generated by only one mining pool, Thus the mining competition among the multiple mining pools can generate a general tree with multiple block branches. When observing the general tree, one of our key findings is to learn that the block branches of the multiple dishonest mining pools can be forked at any (different) positions of the block branch of one honest mining pool. Based on this, we can provide a mathematical representation for the general tree with multiple block branches. Also, we can easily determine the main chain by means of the principle of longest chain, e.g., see Li et al. [21] for the blockchain with multiple mining pools.

By using the tree representation and observing multiple rounds of mining competitions, we can provide a block classification of Ethereum: Regular blocks (i.e., the main chain), orphan blocks, uncle blocks, stale blocks, and nephew blocks, and set up an approximate computation for the key probabilities of generating the different types of blocks by applying the law of large numbers. Based on the key probabilities, together with the tree representation, we develop an economic framework for computing the rewards allocated to the multiple mining pools. This is one of our key theoretical findings in the study of PoW Ethereum system with multiple mining pools.

By applying the renewal reward theorem, we further discuss the growth rate of blockchain, the reward allocation among the multiple mining pools, and the reward rates allocated among multiple mining pools, three of which become the key performance measures of PoW Ethereum system with multiple mining pools. Furthermore, we use simulation experiments to verify our theoretical results, and shows that our approximate computation is fast and effective for dealing with the three performance measures. Therefore, this paper provides a powerful tool for the performance evaluation of the PoW Ethereum system with multiple mining pools.

To the best of our knowledge, this paper is the first one to provide the mathematical representation of general tree, and to analyze the PoW Ethereum system with multiple mining pools through applying the law of large numbers and the renewal reward theorem. Therefore, we hope that our methodology and results given in this paper are applicable to the study of more general PoW Ethereum system with multiple mining pools. Along the research line, there are still a number of interesting directions for future research:

  • Setting up a new tree representation for the PoW Ethereum system with multiple honest mining pools and multiple dishonest mining pools. In the more complicated case, how to determine the main chain from such a tree? How to give the performance evaluation of the PoW Ethereum systems?

  • Developing some more effective simulation techniques in the study of PoW Ethereum system with multiple (honest and dishonest) mining pools through applying the law of large numbers and the renewal reward theorem.

  • Developing fliud approximation and/or diffusion approximation to analyze the PoW Ethereum system with multiple (honest and dishonest) mining pools.

  • Providing optimal methods and dynamic control (e.g., Markov decision processes and stochastic game) in the study of PoW Ethereum system with multiple (honest and dishonest) mining pools.

Acknowledgements

Quan-Lin Li was supported by the National Natural Science Foundation of China under grants No. 71671158 and 71932002.

References

  • [1] Atzei, N., Bartoletti, M., & Cimoli, T. (2017). A survey of attacks on ethereum smart contracts (sok). In: International conference on principles of security and trust, Springer, pp. 164-186.
  • [2] Augusto, L., Costa, R., Ferreira, J., et al. (2019). An application of ethereum smart contracts and IoT to logistics. In: 2019 International Young Engineers Forum, IEEE, pp. 1-7.
  • [3] Aung, Y. N., & Tantidham, T. (2019). Ethereum-based emergency service for smart home system: smart contract implementation. In: The 21st International Conference on Advanced Communication Technology, IEEE, pp. 147-152.
  • [4] Bai, Q., Zhou, X., Wang, X., Xu, Y., Wang, X., & Kong, Q. (2019). A deep dive into blockchain selfish mining. In: International Conference on Communications, pp. 1-6.
  • [5] Bogner, A., Chanson, M., & Meeuw, A. (2016). A decentralised sharing app running a smart contract on the ethereum blockchain. In: Proceedings of the 6th International Conference on the Internet of Things, pp. 177-178.
  • [6] Buterin, V. (2013). Ethereum whitepaper. https://github.com/ethereum/wiki/wiki/White-Paper.
  • [7] Buterin, V. (2014). A next-generation smart contract and decentralized application platform. pp. 1-36. [Online]. Available: https://github.com/ethereum/wiki/wiki/White-Paper.
  • [8] Chang, S. Y., Park, Y., Wuthier, S., & Chen C. W. (2019). Uncle-block attack: Blockchain mining threat beyond block withholding for rational and uncooperative miners. In: International Conference on Applied Cryptography and Network Security, pp. 241-258.
  • [9] Chen, H., Pendleton, M., Njilla, L., et al. (2020). A survey on ethereum systems security: vulnerabilities, attacks, and defenses. ACM Computing Surveys, 53(3), 1-43.
  • [10] Di Angelo, M., & Salzer, G. (2019). A survey of tools for analyzing Ethereum smart contracts. In: 2019 IEEE International Conference on Decentralized Applications and Infrastructures. IEEE, pp. 69-78.
  • [11] Dika, A., & Nowostawski, M. (2018). Security vulnerabilities in ethereum smart contracts. In: 2018 IEEE International Conference on Internet of Things and IEEE Green Computing and Communications and IEEE Cyber, Physical and Social Computing and IEEE Smart Data. IEEE, pp. 955-962.
  • [12] Eyal, I., & Sirer, E. G. (2018). Majority is not enough: Bitcoin mining is vulnerable. Communications of the ACM, 61(7), 95-102. ‘A early version of this paper was given in International Conference on Financial Cryptography and Data Security, 2014, Springer, pp. 436-454.’
  • [13] Feng, C., & Niu, J. (2019) Selfish mining in ethereum. In: The 39th IEEE International Conference on Distributed Computing Systems. IEEE, pp. 1306-1316.
  • [14] Grunspan, C., & Pérez-Marco, R. (2020). Selfish mining in ethereum. Mathematical Research for Blockchain Economy, Springer, 65-90.
  • [15] Jain, P. (2019). Revenue generation strategy through selfish mining focusing multiple pools of honest miners. Bachelor of Technology, Computer Science & Applied Mathematics, Indraprastha Institute of Information Technology, New Delhi, India.
  • [16] Kang, H., Chang, X., Yang, R., et al. (2021). Understanding Selfish Mining in Imperfect Bitcoin and Ethereum Networks with Extended Forks. IEEE Transactions on Network and Service Management, 18(3): 3079-3091. doi: 10.1109/TNSM.2021.3073414.
  • [17] Leelavimolsilp, T., Tran-Thanh, L., & Stein, S. (2018). On the preliminary investigation of selfish mining strategy with multiple selfish miners. arXiv preprint, arXiv:1802.02218, pp. 1-20.
  • [18] Leelavimolsilp, T., Nguyen, V. H., Stein, S., & Tranthanh, L. (2019). Selfish mining in Proof-of-Work blockchain with multiple miners: An empirical evaluation. In: International Conference on Principles and Practice of Multi-Agent Systems. Lecture Notes in Computer Science, volume 11873, Springer, pp. 219-234.
  • [19] Lerner, S. D. (2016). Uncle mining, an Ethereum consensus protocol flaw. [Online]. Available: https://bitslog.wordpress.com/2016/04/28/uncle-mining-an-ethereum-consensus-protocol-aw.
  • [20] Li, Q. L., Ma, J. Y., & Chang, Y. X. (2018). Blockchain queue theory. In: International Conference on Computational Social Networks. Springer, pp. 25-40.
  • [21] Li, Q. L., Chang, Y. X., Wu, X., et al. (2021). A new theoretical framework of pyramid markov processes for blockchain selfish mining. Journal of Systems Science and Systems Engineering, 30(6), December 2021, pp. 667–711.
  • [22] Liu, H., Ruan, N., Du, R., & Jia, W. (2018). On the strategy and behavior of Bitcoin mining with NN-attackers. In: Proceedings of Asia Conference on Computer and Communications Security, pp. 357-368.
  • [23] Liu, Y., Hei, Y., Xu, T., & Liu, J. (2020). An evaluation of uncle block mechanism effect on Ethereum selfish and stubborn mining combined with an eclipse attack. IEEE Access, 8, 17489-17499.
  • [24] Marmolejo-Cossío, F. J., Brigham, E., Sela, B., et al. (2019). Competing (semi-) selfish miners in bitcoin. In: Proceedings of the 1st ACM Conference on Advances in Financial Technologies. pp. 89-109.
  • [25] Mohammed, A. H., Abdulateef, A. A., & Abdulateef, I. A. (2021). Hyperledger, Ethereum and blockchain technology: A short overview. In: The 3rd International Congress on Human-Computer Interaction, Optimization and Robotic Applications. IEEE, pp. 1-6.
  • [26] Nakamoto, S. (2008). Bitcoin: a peer-to-peer electronic cash system. https://bitcoin.org/bitcoin.pdf.
  • [27] Pinzón. C., Rocha, C., & Finke, J. (2020). Algorithmic analysis of blockchain efficiency with communication delay. In: Fundamental Approaches to Software Engineering. Springer, pp. 400-419.
  • [28] Praitheeshan, P., Pan, L., Yu, J., et al. (2019). Security analysis methods on ethereum smart contract vulnerabilities: a survey. arXiv preprint, arXiv:1908.08605, pp. 1-21.
  • [29] Ranganthan, V. P., Dantu R., Paul A., et al. (2018). A decentralized marketplace application on the Ethereum blockchain. In: 2018 IEEE 4th International Conference on Collaboration and Internet Computing. IEEE, pp. 90-97.
  • [30] Ritz, F., & Zugenmaier, A. (2018). The impact of uncle rewards on selfish mining in ethereum. In: 2018 IEEE European Symposium on Security and Privacy Work-shops, EuroS&\&P Workshops, London, United Kingdom, pp. 50–57.
  • [31] Ross, S. . (2014). Introduction to Probability Models. Academic press.
  • [32] Sompolinsky, Y., & Zohar, A. (2013). Accelerating bitcoin’s transaction processing. Fast money grows on trees, not chains. Cryptology ePrint Archive: Report 2013/881.
  • [33] Sompolinsky, Y., & Zohar, A. (2015). Secure high-rate transaction processing in bitcoin. In: International Conference on Financial Cryptography and Data Security. Springer, pp. 507-527.
  • [34] Sookhak, M., Jabbarpour, M. R., Safa, N. S., et al. (2021). Blockchain and smart contract for access control in healthcare: a survey, issues and challenges, and open issues. Journal of Network and Computer Applications, 178, 102950.
  • [35] Vujičić, D., Jagodić, D., & Randić, S. (2018). Blockchain technology, bitcoin, and Ethereum: A brief overview. In: The 17th International Symposium Infoteh-Jahorina. IEEE, pp. 1-6.
  • [36] Wang, S., Yuan, Y., Wang, X., et al. (2018). An overview of smart contract: architecture, applications, and future trends. In: 2018 IEEE Intelligent Vehicles Symposium. IEEE, pp. 108-113.
  • [37] Wang, Z., Jin, H., Dai, W., Choo, K. K. R., & Zou, D. (2021). Ethereum smart contract security research: survey and future research opportunities. Frontiers of Computer Science, 15(2), 1-18.
  • [38] Wang, Z., Liu, J., Wu, Q., Zhang, Y., Yu, H., & Zhou, Z. (2019). An analytic evaluation for the impact of uncle blocks by selfish and stubborn mining in an imperfect Ethereum network. Computers &\& Security, 87, 101581.
  • [39] Werner, S. M., Pritz, P. J., Zamyatin, A., & Knottenbelt, W. J. (2019). Uncle traps: Harvesting rewards in a queue-based ethereum mining pool. In: Proceedings of the 12th EAI International Conference on Performance Evaluation Methodologies and Tools, pp. 127-134.
  • [40] Wood, G. (2017). Ethereum: A secure decentralized generalised transaction ledger EIP-150 revision. Ethereum project yellow paper, 1-34.
  • [41] Xia, Q., Dou, W., Xi, T., et al. (2021). The impact analysis of multiple miners and propagation delay on selfish mining. In: 2021 IEEE 45th Annual Computers, Software, and Applications Conference (COMPSAC). IEEE, pp. 694-703.
  • [42] Zhang, S. (2020). Analyzing the success of selfish mining with multiple players. Master of Science, School of Computer Science, McGill University, Canada.
  • [43] Zhang, S., Zhang, K., & Kemme, B. (2020). A simulation-based analysis of multiplayer selfish mining. In: 2020 IEEE International Conference on Blockchain and Cryptocurrency. IEEE, pp. 1-5.
  • [44] Zhang, S., Zhang, K., & Kemme, B. (2020). Analysing the benefit of selfish mining with multiple players. In: 2020 IEEE International Conference on Blockchain. IEEE, pp. 36-44.