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 considers 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 quick 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.
I found a definition in this paper. 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.
Can we say that an adaptive adversary is a general term in security?
And if yes, what is the best and most precise definition?
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.