Можно держать в памяти
фильтр Блума и проверять сначала возможную принадлежность адреса, и только в случае положительного результата лезть в базу и проверять его действительное наличие. Это в том случае, если запросов с незаблокированных адресов намного больше, чем с заблокированных (иначе смысл в подобной оптимизации пропадёт).