Why is a blockchain called a "deterministic" system, and what does that limitation cause?
Deterministic means every node, given the same inputs, must compute exactly the same output — which is essential for agreement but means the chain cannot generate randomness or read real-world data on its own.
Consensus only works if all honest nodes independently arrive at the identical state; if executing a contract could give different results on different machines, the network could never agree on one truth. So execution is deliberately deterministic — a walled garden with no access to anything unpredictable or external. The price of that guarantee is that a blockchain, by itself, cannot do two whole categories of thing: produce a genuine random number, and fetch or listen to data from the outside world. Both would break determinism because different nodes could see different answers. This single constraint is the root of the oracle problem and the reason oracle networks and special randomness mechanisms exist — they supply, in a controlled and verifiable way, exactly what determinism forbids the chain from producing internally.
Go deeper:
The blockchain oracle problem — Chainlink — why a deterministic chain can't read external data or generate randomness by itself.
Chainlink VRF — Chainlink docs — how verifiable randomness is supplied to a chain that cannot make it internally.