As I said before, BlynkEdgent.run() (which in turn triggers Blynk.run()) triggers the Blynk library to perform a data exchange with the Blynk server. This is a two-way communication process, in which the device sends data to the server, and checks to see if there are any incoming messages from the server that need to be processed.
If you turn on BLYNK_DEBUG you’ll see these messages and be able to decipher them by taking a look at this topic…