The global IPv6 unicast address space must start with 001 (binary) so that’s correct yes:
In other words, it has to start with 2000::/3. That covers everything in this range:
That’s 42535295865117307932921825928971026432 addresses in total.
For each person on the planet we get:
42535295865117307932921825928971026432 / 7615097670 (world population) = 5.5856534e+27
So, that’s a crazy number of IPv6 addresses only from the 2000::/3 range
Here you can find the complete IPv6 allocation from IANA:
And here’s the IANA global unicast address space:
In RFC7249 we can read something about the allocation:
The vast bulk of the IPv6 address space (approximately 7/8ths of the
whole address space) is reserved by the IETF [RFC4291], with the
expectation that further assignment of globally unique unicast
address space will be made from this reserved space in accordance
with future needs.
0000::/8 and 0100::/8 are reserved for other purposes so that’s why we start with 2000:: for global addresses. It still feels like a waste to reserve an entire /8 that is probably never used but with this address space, we probably never run out.
Here’s a funny website I ran into when I was looking some stuff up: