The rate limiter
The rate limiter is called from the LendingMarket
to limit the total rate of outflow of (real) funds. cTokens are not limited by the rate limiter. The limit is configurable by the administrator.
Rate limiting works by only allowing a certain amount of funds to leave during a time period. The time periods are discrete and fixed windows (and not a moving window). The amount of funds allowed out in a given period is based on a fixed limit and the amount of funds expected to leave the protocol in the remainder of the window. The expected amount of funds leaving is based on the amount of funds leaving during the previous period. An assumption is made that in the remainder of the current window, the average amount of funds leaving per unit time matches the average of the previous time period.