> Every device that wants to be on the Internet should have a public IP address!
We don't need every network-connected device, with all their flaws accessible to the world. Unfortunately, IPv6 will not help us there.
That's what firewalls are for.
In a perfect world you'd get your ipv6 prefix from your ISP, and have your firewall white list specific outbound suffix addresses.
If you need topology privacy you'd shuffle your /64 every once in a while.
Which is, of course, how it's supposed to be. I used to host a website from my dorm room.
Every device on the Internet should have a public IP address!