Author: Steven Li (Hu Fei pupil)
Source: IPFS Force Zone
The Filecoin test network is running smoothly and the second phase of the journey is about to begin. Both miners, engineers, and investors are very interested in testing the data of the network. Of particular interest is the burst rate and hashrate ranking. Some people are also making block comparisons and computing power for comprehensive comparison. However, most people have entered a misunderstanding. Without clarifying the relationship, this article does some data perspective through simulation, hoping to provide some help.
- Listen to the Filecoin team respond to the core questions you need to know about testing online
- Why is FileCoin delayed again?
- Filecoin test network is about to go live, these changes need attention
- Why is it important to mine a Filecoin header?
- Free and easy week review 丨 Facebook studies how to prevent PoS protocol long-range attacks, Filecoin officially launches testnet
- Winklevoss brothers support Filecoin, how long will it take us to raise $ 257 million?
- Testnet / 2 does not fully achieve block rewards in proportion to the computing power. Testnet / 3 will make up this part.
- The burst rate is not directly proportional to the block reward
- Although the number of votes expected to win the election is set to 5, it does not mean that an average of 5 blocks are generated per round, in theory, only around 3.38
- Due to the existence of solitary blocks, the actual block explosion rate and block reward will be lower than expected
Note: The data collected in this article is a time period of the test network, which is mainly used for theoretical analysis. The data is not statistically significant, does not reflect the entire state of the test network, and does not indicate the efficiency of different miners. This article does not constitute investment advice and is not responsible for any investment decisions.
Number of bursts and burst ratio
The following picture is too familiar to everyone.
The large area in this figure is the number of blocks at each height in the recent period, and different colors are used to show which miners produced these blocks. On the right side of this graph is a list of average burst rate. The calculation of this ranking is based on the statistics of the burst data for nearly an hour.
Take the first miner as an example. The burst rate is 0.73, which indicates that at an altitude of 73%, the miner has a burst. In Testnet / 2, the block time is 45 seconds, so one hour contains a total of 60 * 60/45 = 80 epochs, that is, there are gains at about 58 heights-burst blocks and get zones Block reward.
Some people have noticed that the numbers on the right do not add up to 1. Yes, it is not equal to 1. This is because the number of blocks generated per round is not one. If we count the burst ratios of all miners, all these ratios should add up to the average of the number of bursts per round. This value is shown in the following figure:
Take the current example, it should be equal to 3.0. But in fact, if you count it, it is less than 3.0. The reason is that the leaderboard on the right in the first picture only lists the top miners.
Some investors or engineers who like research have problems. This burst rate brings rewards, so the high hash rate is understandable, but it seems that the burst rate is not proportional to the hash rate, especially for large miners. It seems that it is relatively low. What is going on?
Some people can get multiple rewards per block
In other words, different block rewards may be different. From a probability perspective, a large miner is likely to receive a double or triple reward on a mined block. But do not misunderstand. In terms of overall probability, in theory, everyone's income and computing power are directly proportional.
This seems a bit difficult to understand, whoever digs out a block will get a reward. Why should it be designed so that different block rewards can be different? Here is a guide to reviewing [Filecoin] Filecoin's block architecture-Tipsets .
Each round of Filecoin is a block set, which becomes a tipset. What is the purpose of this? The answer is to minimize the number of rounds without blocks (ie, empty block rounds). A simple way is to increase the number of blocks expected, which is currently set to 5. In other words, if the block is still produced in the original way, the probability of each miner producing a block per round increases to 5 times the original. However, in this way, there is bound to be a possibility that some miners may produce 2 or more blocks in a round. But this is superfluous, because as long as you make a block, this round will not jump out. Having multiples is a waste of space and bandwidth. But there are fewer rewards, isn't there less reward? It's not fair.
The solution is a compromise. If the miner has multiple block production rights in the same round, then one block is still produced, but there are several block production rights indicated in the block. As long as the verification is passed, rewards will be given according to the number of block rights. Perfect solution.
Because the block power is proportional to the computing power, the probability of obtaining the block power with a high computing power is high, and the probability of having multiple block powers in a round is also higher.
However, back to Testnet / 2, at present, the block reward is not actually given according to the block production right. This part of the implementation is put into Testnet / 3. That is to say, starting from Testnet / 3, you will see the block reward implementation basically consistent with the mainnet.
Block rewards are directly proportional to the votes won
From the above description, it can be understood that a miner must have at least one block production right (winning block production votes) to produce blocks. When there are multiple block production rights, only one block can be produced. Rewards are distributed based on the number of votes won.
In the current design, the average number of votes expected to be won by all miners in the entire network is set to 5. That's 5 votes per round, and whoever can get it can make a block.
Consider an ideal situation where everyone who gets a ballot can make a block, and all blocks can be received by the network and entered the main chain. So, what will the average number of blocks and rewards we see?
Let's simulate, according to the current operation of the test network, we assume:
- Expected to win 5 votes per round (in line with Testnet / 2 setting)
- Assume that the number of miners in the entire network is 11, which meets the binomial distribution (this is more in line with the current test network situation, and according to previous network simulations, this scale can simply reflect the situation of large networks)
- The network meets the ideal situation mentioned above, that is, all miners work normally, block production is normal, and there are no lone blocks
After calculation, we get the following table:
In this simulation, miner # 1 occupies 24.61% of the computing power of the entire network, which can basically reflect the number one miner in the current network. Its computing power accounts for: 758.47T / 3.110P = 24.39%.
The second column is the theoretical block probability of the first miner. Explain separately:
- Computing power ratio: 24.61%
- Probability of no block production: 29.13%, that is, the theoretical block explosion rate is 70.87% (1-29.13); compared with the first picture, it is in line with expectations
- The probability of bursts containing 1, 2, 3, 4, 5, 6, 7 block weights are:
- 36.02%, 22.18%, 9.07%, 2.77%, 0.67%, 0.14%, 0.02%
It can be seen that a miner with a computing power of 24.6% has a great chance to include multiple block production rights in a block, thereby obtaining a higher profit than the number of blocks.
Then let's look at it from another angle, and compare the relationship between the block explosion rate of each of the above 11 miners and the number of block production votes, as shown in the following table:
Let's look at the second column, that is, the case of the first miner. Although its theoretical block probability is only 70.87%, its actual block right voting rate is 123.05%. That is to say, the block reward obtained by its burst will be 123.05 / 70.87 ~ = 1.736 times of the block with only one vote.
So, don't simply look at the burst rate, if you don't analyze it further, you will be blinded.
More indicators: average number of blocks
Let's look back, can such a design meet the original vision? That is, the number of rounds of gaps has dropped to a very low level (it can't be completely absent, this is a question of probability).
According to the above model, through calculation, we get the following network theoretical data:
- Average number of blocks per round: 3.38233; Note that this number is not different from the expected average block weight per round (5) defined
- Probability of occurrence of empty block rounds: 0.006656; that is, in a thousand heights, there will be approximately 6-7 empty block rounds; not bad.
- The sum of block weights per round is average: 5; of course it is 5, at least theoretically.
Note that there is a very important piece of information that can correspond to the mean number of bursts per round in our previous article. First of all, don't expect this value to reach 5. A theoretical value of 3.38 is the best theoretical average. Compare it with the picture above. In fact, the value on the test network often fluctuates between 2.5 and 3.1, rarely to 3.2, and never to 3.38. What is going on? Without him, this is the difference between ideal and reality.
Reality is not that full: your block is lost
Because of the complexity of the network and the failure of the device, it may also be because you are slow to produce the block. Then, sorry, your block may be abandoned by the main chain. The abandoned blocks are called Orphan Blocks. Solitary blocks will not be rewarded, dug in vain.
There is always a certain solitary block rate in the network. We hope that the lower the solitary block rate in a good network, the better. However, it is also hoped that the network security will not be affected even when the solitary block rate is relatively high.
We simulate different network situations by setting different solitary block rates.
- Ideal case, when solitary block rate = 0
Average number of blocks: 3.38; Empty round rate: 0.6656%, block weight per round: 5
- When Solitary Block Rate = 10%
Average number of blocks: 3.044; Empty round rate: 1.4253%, block weight per round: 4.5
- Solitary block rate = 20%
Average number of blocks: 2.706; Empty round rate: 2.7669%, block weight per round: 4.0
- Solitary block rate = 30%
Average number of blocks: 2.368; Empty round rate: 4.9929%, block weight per round: 3.5
According to the above data, referring to the average block number value (3.0) of the current test network, we can initially determine that the current solitary block rate is slightly higher than 10%, which is a reasonable network condition.
Commonness and personality: Your solitary block rate may be very different
It can be imagined that the solitary block rate is not evenly distributed for each miner. Due to network, system stability, algorithms, etc., some miners may have a lower solitary block rate, and some may have a higher one.
Returning to our current test network again, the solitary block rate is currently slightly higher than 10%. Then let's take a closer look at a few miners, referring to the following table:
Take a look at the top ones, as mentioned earlier,
The first place: the proportion of computing power is about 24.3%, which basically meets the first place of the simulation scenario in this article
The second place: the computing power ratio is about: 14.94%, slightly higher than the fourth place of our analog network
Third place: the computing power ratio is about: 11.58%, which is basically equivalent to our fourth place
Fourth place: computing power ratio is about: 9.17%, slightly lower than the fourth place of our analog network
The bursting rate of these bits is 73%, 44%, 38%, 45%.
Theoretical indicators under ideal conditions: 70.87%, 44.42% + x, 44.42%, 44.42% -x
When the solitary block is equal to 10%: 63.79%, 39.98% + x, 39.93%, 39.98% -x
Here x ~ = 3%.
It can be seen that in this sampling, the first and fourth miners basically did not receive the impact of the solitary block rate. The second and third are slightly affected, but the degree of impact is basically in line with expectations. From this, it is conceivable that other miners may be affected more. However, this is very normal in the test network. Because the program is unstable, many people are still debugging, and new miners are constantly added, so that newly entered miners or miners who are debugging will naturally lower the average value.
Testnet / 3 needs more data
From the above analysis, we know that the block right is very important, and after getting the block right, it is also important to be able to complete the proof. This part is not yet fully implemented, so the official display board is not displayed completely.
Then in the upcoming Testnet / 3, this part is best to provide a visual display. Here is good news. According to reliable information, filscan.io, which is currently serving everyone, will add a block right display in the next stage to give you more analysis data.
One last question:
In the presence of orphan blocks, is Filecoin really halved in 6 years? Think about it.