You are viewing a single comment's thread from:

RE: Establishing a reference for human vs bot team submission times in Splinterlands

in Splinterlands2 months ago

Excellent @Kalkulus ! I think it's a great post.

In the wild format it is evident that these peaks must correspond to certain bot algorithms. Not necessarily all accounts that send teams at that time are bots, but it is an abnormality and therefore suspicious of being bots.

In the modern format there are no obvious peaks, except for clusters 4 and 5, where
They are clearly observed when time is ending. To me, this behavior is quite suggestive, and I assume that it is most likely bot algorithms.

It is my opinion, therefore far from being a fact, bots that cheat are located in this zone where time is running out. If you read my post: At last! The best Splinterlands update in a long time that closed a backdoor published several months ago you will understand what I mean. Now what I haven't understood is why Splinterlands now automatically sends teams before the time runs out, it's like they want to give those algorithms another chance.

In any case, if it is the use of bots in modern, which violates the TOS, it is very likely that those spikes will begin to dilute along the timeline. That is, it is very likely that they decide to randomly alter the times in which they send their teams. But, that would be a clear demonstration that the spikes do correspond to bots, and a validation of your analysis methodology.

If you continue with your detective work you have the advantage that everything has been recorded in stone, well on the blockchain. Therefore, you can analyze how many accounts have been sending teams at exactly the same delta time. It would be interesting to see if they are always the same accounts, which makes them very good candidates to be considered bot users. Although, this is not necessarily proof, it is an important element.

Again, congratulations for an excellent post and for keeping Splinterlands part of my interests and entertainment.

Greetings...

Sort:  

Thanks again for your feedback. I went back and read the post you linked and you make some interesting points there. Based on the last five battles, it is possible to identify who your opponent is, there is no doubt about that. If there is some way to use that to see what team is submitted.. well, that's an exploit that should be closed.

Just out of curiosity I went and looked at this small spike in the modern data (blue spike directly behind the orange spike):

image.png
(submitting around 46-47 seconds precisely).
Indeed there was a few accounts that almost exclusively submitted at this time duration. That is clearly bot behavior. However, those accounts were in Bronze, and we do have liquidity bots in modern at the moment, so I will make a guess that that's what I'm seeing here.

Unfortunately, as I understand it, Splinterlands battle data is not submitted to hive, but just directly to/from the Splinterlands servers. Because of that, I can only go back 50 battles in each format for each account.

If the anomalous spike appears in both modern and wild, then there is no doubt that they are bots. That just means your analysis methodology is on track.

If, as you say, they are Splinterlands bots, they are not a problem, but at the end of the day they are bots, and it shows that good or bad bots can be identified with this methodology.

What can be very important is that the battle data you are using is updated, because the last 50 battles could include data from months ago when bots were still allowed in both formats.

Even if you can't pull battle data from the Splinterlands servers, you might want to create your own script to get that data firsthand.

It occurs to me that you could create your own version of a crawler and in this way obtain first-hand and permanently updated data. For example, you could create a trigger with your own account by starting a battle. Next, you read your battle history to find the name of the user you just battled. You use this user as a starting point for your crawler, reading the battle history of said user. Here you define what your analysis time window will be, let's say 24 hours. Thus, you get from that user's history the battles of the last 24 hours as well as the users with whom he battled. With each one of those user you repeat the same procedure and "Voilà", you get in theory all the players who have battled in that format during the last 24 hours.

The advantages of using a crawler is that you get completely updated data, which you can save in a database for future analysis. The disadvantage is that you need to keep the script running permanently or with a crontab that executes it at a specific time.

Finally, thinking about the spikes that occur at the end of the timeline, I realize that this data may be obfuscated because Splinterlands automatically submits the teams when the time ends. But even so, I am convinced that this area is where the bots are most likely to be found...