In this Ethereum github page (Link to the page: https://github.com/ethereum/wiki/wiki/Sharding-FAQ#what-are-the-security-models-that-we-are-operating-under) there is a very brief definition of the adaptive vs. non-adaptive adversaries as follows:
an adversary is adaptive if they can quickly choose which portion of the validator set to "corrupt", and non-adaptive if they can only make that choice far ahead of time.
But this definition is not clear to me. And it also only consider Ethereum platform.
For example, What does it mean that an adversary choose quickly a portion of validator set to corrupt them ? How to say their choice was quickly or not ?
From my point of view, the definition is not clear and precise enough by which we could recognize if an adversary is adaptive or non-adaptive.
P.S. I found a definition in this paper (Link to the paper: https://arxiv.org/ftp/arxiv/papers/1206/1206.6400.pdf) as follow. But I am not sure if this definition is the same that in the above github page has been mentioned.
All adversary types are strategic and possibly malicious, have unlimited computational power, and are free to use random bits when choosing their loss functions. If the adversary is not restricted beyond the setting described above, he is called an adaptive adversary. Other adversary types are restricted in various ways.
Important note: Regarding to the paper that I added to my question (in P.S: arxiv.org/ftp/arxiv/papers/1206/1206.6400.pdf), can we say that adaptive adversary is a general term in security?
And if yes, what is the best and most precise and general definition?
Important Update (1): To the best of my knowledge, the term "adaptive adversary" is used in many scientific papers in computer security, but I could not find any clear and precise definition for this term yet.
As another example, I bring another quote here from another paper as follows: (there are many other similar examples.)
We note that some previous works like Algorand and Ouroboros consider a stronger fully-adaptive adversary that can freely choose controlled participants for each time window. Our take is that such a fully-adaptive adversary is interesting, and worth studying, but often not realistic. In practice, platform compromise is hard to detect and repair. Furthermore, a compromise of one computing platform does not mean that another is no longer in control of the adversary. For these reasons, we focus on non-adaptive adversaries in this work.
Important Update (2): I brought up this question in security.stackexchange and I received this answer: "An adaptive adversary can adapt to the environment and responses from the environment as part of the attack. A non-adaptive adversary cannot." (https://security.stackexchange.com/a/213278/187204) that could mean this term is a general term in security. I also found this term in many papers on computer security, and it is used in even non-blockchain-based fields. As a result, "adaptive adversary" seems to be a general term and is not used only for validator set.