Understanding Bitcoin addresses

I see a lot of scams listing bitcoin addresses to pay money into, and I'm wondering how feasible it is to block some instances of spam based on these addresses, but I confess to having only a passing knowledge of Bitcoin.

Can anyone shine light on how difficult it is to create new bitcoin addresses, and how practical it is to do and manage this programatically on a large scale.

(At the risk of going off topic, if anyone knows of an updated list of "bad" actors addresses which I can incorporate, I would be greatful for the pointer, but this is very much secondary to my main question of "how viable is such a list)


It's absolutely trivial to generate billions of addresses if you want to. It's only slightly more than trivial to check all of these addresses to see if a payment has been received by any of them.