I’m reading (with much pleasure) the book Quantum Computing Since Democritus by Scott Aaronson. At some point the author claims that, while most most people believe that $ \mathbf{P} = \mathbf{BPP}$ in real life, it is very easy to construct an oracle $ O$ such that $ \mathbf{P}^O \neq \mathbf{BPP}^O$ . Frankly I don’t find this easy at all. Even more so I find it implausible sounding. I will explain my reasoning here.

My understanding from earlier parts of the book is that the *reason* people believe that $ \mathbf{P} = \mathbf{BPP}$ is that we believe in the existence of good pseudo-random generators (i.e. deterministic processes that generate random looking strings) and even have some plausible looking candidate pseudo-random generators. Now whenever we want to run a $ \mathbf{BPP}$ algorithm on a $ \mathbf{P}$ -machine we just run the algorithm as written, but replace every random bit the $ \mathbf{BPP}$ -machine would use by a pseudo-random bit generated by our pseudo-random generator.

You can see my problem now: we can just apply the same strategy in presence of the oracle. Whenever the $ \mathbf{BPP}^O$ -algorithm makes an ‘ordinary’ deterministic step we do the same thing in our $ \mathbf{P}^O$ algorithm. Whenever the $ \mathbf{BPP}^O$ -algorithm queries the oracle, we query the same oracle in our $ \mathbf{P}^O$ algorithm and whenever the $ \mathbf{BPP}^O$ -algorithm uses a random bit we use a bit from our pseudo-randomgenarator. What could go wrong, short of the oracle magically coming to life, taking physical form and smashing our pseudo-random generator with an axe? So my question is:

What is an example of an oracle $ O$ such that $ \mathbf{BPP}^O \neq \mathbf{P}^O$ and what problem is in the former but not the latter class?

**Update:** while typing the link the following question shows up that is essentially asking the same: Existence of suitable pseudo-random number generators to derandomize BPP to P

However I don’t see how the accepted answer answers my question. It seems to say that there are oracles that can distinguish the output of a *given* pseudo-random-generator from actually random data but

a) I can’t think of a problem where having access to truly random data would give an advantage over having access to only outputs of $ G$ to solve it and

b) What if the $ \mathbf{P}$ -machine fools the oracle by using a PRG *other* than $ G$ ?