Nebulas Incentive Program Week 1 has successfully concluded! It’s amazing to see the community’s enthusiasm and creative ideas. We also noticed that there are some doubts about our Ranking Algorithm. Therefore, this article aims to help you better understand Nebulas Ranking Algorithm, to get clearer instructions and goals, and better compete for weekly and monthly rewards in the future.
1. The principles of Nebulas Ranking Algorithm
In the medium article “Details on the Smart Contract Ranking Algorithm”, we once mentioned that:
From a technical point of view, “excellent” has a variety of evaluation criteria, such as whether DApp’s interaction is smooth, whether the design is artistic, whether it can solve practical problems and so on. This incentive program aims at finding “excellent” DApps that are widely accepted, “popular” and “hot”.
This shows the basic principle of ranking, that is, we have no right to make any evaluation on the “excellent” code, the “excellent” product design, the “excellent” user interaction, the “excellent” creativity, or even a “practical” DApp. Instead, we think that only the calling of smart contracts in Nebulas can reflect whether a DApp is excellent or not.
We are not the inventor of this mechanism, but the optimizer. We have learned from preexisting research on network ranking algorithms, such as the famous Page Rank. In the process of ranking websites, Google relies largely on “which websites point to the corresponding websites”, rather than ranking websites according to their user interface, creativity and other elements. For example, Craigslist’s UI is not excellent from any aspect, but it is ranked with very high score. As it shown in many previous instances, it is very effective to judge whether the DApp is excellent by considering how many times it is “cited”. Therefore, we believe that the same mechanism will also be applied in the ranking algorithm of this Incentive Program.
2. Which factors are taken into consideration in our Ranking Mechanism?
Our Ranking Mechanism takes into consideration both how much NAS owned by an owner and how many times the smart contract is called. You can refer to the official documents for the details of Nebulas Ranking Algorithm: https://nebulas.io/incentive_spec.htm. The specific parameters used in the algorithm can be acquired from：
3. Analysis of cases
(1) Why do I still fail to win a prize even if my DApp has a great number of calling times?
Take the smart contract (n1ijYW3VatPQnJ9dznobsXPX26Xne7Fm6Su) for example, the calling time of it is over 3000 and there are more than 200 addresses calling it, which both far exceed the Week 1 champion. Why didn’t this smart contract win a prize? The reason is that the addresses calling the smart contracts hold very few NAS and there are very few valid transactions among these addresses. As a result, we believe calling this smart contract makes little contribution to Nebulas. Thus, the final score of this DApp israther low.
In conclusion, the number of calls has little effect to the final ranking of the smart contract.
(2) Why does an infrequently called DApp win a prize？
Take the Week 1 champion of NIP as an example. The DApp doesn’t have the most calling time, so why it can win the champion of Week 1? If you look at the addresses which called this smart contract, you will find that there is an address which holds 5,000 NAS for a long time before the end of the first week. Think about 5,000 NAS! Before the end of the first week, the number of NAS can be ranked into the top 0.7 %, which is among the top 20 on Nebulas mainnet. At the same time, the address is related to a large transaction record, with 5000 NAS imported. Therefore it contributes a great deal to Nebulas mainnet. In contrast, more than 90 calling addresses involve only about 10 NAS. Finally, the address with very high ranking score calls the corresponding smart contract, which leads to a fairly high final scores of the smart contract. Thus, it wins the champion of Week 1.
We think this is reasonable. In reality, there exists such a “star effect”. For example, a restaurant with a few customers may suddenly become very popular because of the patronage of a superstar. In the ranking of DApps, the same situation may also occur, that some seemingly inconspicuous DApp gets a high ranking score due to the call of some “star”.
(3) Why does a DApp win a prize while mine does not even if its quality is worse than mine?
As we have concluded before, we have no right to judge the quality of a DApp, which should be decided by the market.
(4) Will a DApp’s ranking score increase if the DApp is called frequently?
The answer is no because this parameter can be easily “gamed”. For example, some developers may write a script to call the DApp very often, so as to raise its ranking score. The detailed reason can be found from the rule of our ranking algorithm:
（5）Will it raise a DApp’s ranking score if frequent transfers occur?
Frequent transfers between different addresses can indeed raise the score of an address. However, multiple transfers between the same two accounts will no. More detailed is provided in the relevant rules in our ranking algorithm:
Merge all graphs above: for every pair of source and target, take the sum of top k (k≤3) valued transfers as the edge weight. And then the merged network is a directed simple graph.
That is to say, from the several transfers between two accounts, we only consider the transfers with top 3 highest amounts, and the rest will be ignored. Therefore, frequent transfers cannot raise the ranking scores too significantly.
4. In short, how can my DApp win a prize?
Basically, the key of a good DApp lies in its ability to attract more and more high-quality users!
However, maybe you want to know whether you can raise a DApp’s ranking score by scalping. For the ranking algorithm at this stage, we don’t distinguish whether it is scalping or not. Therefore, in order to raise the ranking of your DApp, please read carefully
Finally, remember to submit your DApp as soon as possible. The earlier you submit your DApp, the earlier you can acquire valid users. Don’t miss this opportunity, come on and join us!