Untill now I have presented you two articles about the Benford's Law, the mathematical law which can detect the fraud and suspicious transactions in banking or the other financial system like taxes.
I promised in one of them that I will analyse the transactions people make on Steem blockhain to check if this system has any detectable abnormal behaviour.
You can view posts here for better understanding this topic:
- Criminals who don't know Benford's law will always be caught!
- Benford's Law - part 2, supplement and examples (does it apply to Steemit?)
Experiment methodology
Script wrote in php.
I have used the Sbds mysql database provided by a @privex.
$mysql_host = "sbds.privex.io";
$mysql_database = "steem";
$mysql_user = "steem";
$mysql_password = "steem";
The program analyse all the transfers users of Steem make in steem or sbd to each other, or to bots or markets. These data is provided in the table sbds_tx_transfers.
Mysql query:
select amount from sbds_tx_transfers order by timestamp desc limit 100000
Then I made a chart to visualise the data.
Results and conclusions
The program took last 100,000
transfers starting 2018-02-12 23:57:33
and ending 2018-02-14 11:24:12
.
The amount of SBD or Steem equals almost million: 962129.57100034
.
Benford's law
Basically what we want to know is how often the leading digit of the amount sent to another user appears in all transactions.
The law tells us the theoreticall distribution that appears correct to mature ecosystems:
Digit | Probability |
---|---|
1 | 30,1% |
2 | 17,6% |
3 | 12,5% |
4 | 9,7% |
5 | 7,9% |
6 | 6,7% |
7 | 5,8% |
8 | 5,1% |
9 | 4,6% |
Taking this into consideration I compared it to the data aquired from the database.
Clearly we can the see correct fit with more frequent digits 1 and 5
Exact numbers:
Digit | Theoretical probability | Actual frequency |
---|---|---|
1 | 30.1% | 50.8% |
2 | 17.6% | 13% |
3 | 12.5% | 8% |
4 | 9.7% | 5.6% |
5 | 7.9% | 13% |
6 | 6.7% | 2.7% |
7 | 5.8% | 2.7% |
8 | 5.1% | 2.1% |
9 | 4.6% | 2% |
I see two main reasons why the application of the law is not fully correct in steem financial ecosystem.
Too many digits 1?
Many micro transactions like 0.001 sbd are used for text messaging using memos on steem blockchain. Very often it is used by spammers and scammers asking for donation or sp delegation.
Too many digits 5?
This is very interesting and needs more studies. Leading 5 seems to emerge too often from nowhere. What is the reason?
My first thought was voting bots and the bidding amount 0.5. Many bots have minimum bidding amount of 0.5 or 0.1.
edit 16.02.2018:
I managed to list the transfers with leading 5, results are (only most frequent):
[5.000000] => 1073
[0.500000] => 4697
[0.050000] => 3190
[0.005000] => 681
The amount = 0.5 is most used.
This way I wanted to show you the power of math to detect unusual behaviors on the steem blockchain.
Follow and upvote for more!
Images:
- chart made with free library amcharts.com
Previously:
- Does it pay to believe in God? Math point of view on salvation.
- WHY New Year's Resolutions are pointless?
- Benford's Law - part 2, supplement and examples (does it apply to Steemit?)
- Would it be better to select politicians randomly in elections?!
- Criminals who do not know Benford's law will always be caught!
- Edge Sorting - design your game badly and I will win millions!
- How I won in Champions League betting contest with random picks ?!
- How to easy shuffle cards properly (in the matter of randomness)?
- My cryptographic ISAAC LOTTO generator wins more money than players!