How do you plan to let IPv4 (32 bit address space) actually address and communicate with an IPv8 (64 bit address space) host? You don't have enough bits to identify the v8 host.
Something like 1:2:3:4:a:b:c:d where the most significant 32bits are a valid IPv4. The kernel figures out and keep all others the same (NAT etc). We extend the address space, not invent a new stack. The IPv6 critics shout out that this would be a viable solution.
Okay, so you've figured out how to make v4 addressable from v8. Good job. That lets v8 hosts address a v4 host via a v8 address.
How are you going to make v8 addressable from v4? Because you need to do this too for communication to work.
Also, you've made v4 addressable from v8, and you're about to explain how you make v8 addressable from v4... but that's just addressing, i.e. identifying the right host. How are you going to actually send packets from v8 to v4, and also from v4 to v8?
> The IPv6 critics shout out that this would be a viable solution.
But they never bother to understand enough of the problem to contribute anything useful. Either they can't come up with something that works, or they come up with something that they didn't realize v6 already did.
> How are you going to make v8 addressable from v4?
I expected this question and have thought about it. Here is an idea: all nodes (PCs, routers etc) run an updated stack, which sends/receives 64bit addresses. If it receives 1:2:3:4:0:0:0:0, that's v4 and continues as such. It's on the ISP when the switch happens because they deliver the addresses. The user notices nothing. Edge cases can arise and be handled accordingly.
The update from 32-to-64 will be massively pushed to all kernels and userspaces in a short time so to shorten outages.
At what point could I confidently publish the addresses 1:2:3:4:0:0:0:1 and 1:2:3:4:0:0:0:2 in DNS records for people to reach those two servers? After my ISP has switched, or after everybody's ISP has switched?