It looks like the going rate per IP is between $20-$24 currently:
Rather than a date I think it would make sense to look at the traffic. When IPv4 hits, say, 1% it might make sense to turn it off. I would estimate that's decades away.
You might as well wonder whether google is actually going to stop crawling IPv6 addresses (are there any significant IPv6-only servers?)
At the same time, IANA has delegated 'future' (read: sometime in the past, but not until after those legacy allocations) responsibility to the RIRs (ARIN, RIPE, APNIC, LACNIC, AFRINIC).
Finally, how do you determine whether or not space is used? Ping? BGP announcements to the Internet of the space? Neither of those concludes that the space isn't used, and RIR policies permit for registration of globally unique addresses without any obligation to announce to the Internet.
Similar to eminent domain maybe.
The UK’s largest mobile provider now gives me an IPv6 only connection and I didn’t even notice.
Just means no hardcoded ipv4 or incompatible API calls. So that ipv6 to ipv4 gateways work.
So, the app is ready, but apple isn't dictating much about your backend.
The ingredient you are missing is while the clients only talk IPv6, the gateway they go through (must) have both IPv6 and IPv4 addresses. There is a well defined mapping from IPv4 to IPv6 addresses, so if the IPv6 clients need to communicate with a IPv4 only host they use it's mapped IPv6 address. The gateway then NAT's all those mapped IPv6 addresses to it's IPv4 address.
Which only leave the problem of does an IPv6 client know to use an mapped IPv4 address, given it is supposed to know nothing about the IPv4 world. The answer is you make it use a DNS server that lies. I'll leave it to you to figure out exactly how it lies, but it isn't hard to figure out given it has clients that only understand AAAA records, and some hosts (such as twitter) that only resolve to A records.
Right, then its not a pure v6 network, its got v4 somewhere patched in. When I'm on my pure v6 network at home, Twitter does not work.
Now it has to hide port numbers and IPV4 space will suddenly be multiplied by less than 2^16.
Source: Worked at Cisco.
I believe BGP tables are close to crossing a threshold. (768k entries) that breaks a bunch of routers, so they need to address that anyway.
If the current growth rate continues, it looks like it will reach 100% by about 2035.
Gave up on trying to figure out how to make it all just work. I'd rather take one public IP that works than 9223372036854775808 that doesn't.
Mainly there seems to be a big disconnect between how IPv6 is designed and intended to be used (according to modern RFCs), and how at least my ISP actually deploys it. For one they only give me a /64, which isn't compatible with modern IPv6 ways. In addition they do so using DHCPv6, which means my prefix changes every now and then. All those internal services that got their own IP needs separate DynDNS entries. All those firewall rules opening ports for those services? Yeah they need to be manually updated.
Local DNS resolution fails because the DHCP server in pfSense sends out the public IPv6 address as the primary DNS rather than the local IPv4 I added manually to try to override it, so now my devices try to contact a DNS server that doesn't exist.
I'm sure some day it'll actually just work for me...
In practice today IPv6 is a kind of high functionality NAT for consumer devices.
A more interesting statistic would be server-side adoption.
perhaps every 'body', but not at all every 'device'..
(Including, ahem, HN.)
It maybe shouldn't be a surprise that IPv6 has seen much faster consumer adoption comparatively, as consumer ISPs face much less steady/predictable device growth and sometimes much more complex routing scenarios (cell towers have much more complicated internet traffic routing needs than wired ethernet in an office park somewhere).
It's much more important to get rid of legacy v4-only clients, to make it possible to run v6-only servers.
The result? Facebook, Google, and Netflix still worked, but the entire rest of the internet would just disappear— poof.
Eventually they stop being enough traffic to make them uninteresting to the backbone, and the backbone becomes IPv6-only - but the v4 Internet still exists, in a sense, as a bunch of networks connected via IPv6 translation gateways. Perhaps for a century or more.
Right now if you're a large organisation it makes sense to go IPv6 only internally and translate at your border. All your address headaches vanish immediately (remember trying to figure out how to cut up groups of systems so they'd fit in neat binary subnets in IPv4? Not a problem in IPv6, any conceivable number of machines will go in a one-size-fits-all IPv6 /64 Ethernet subnet) and you now have no future IT transition problems, because internally transition is finished. You own some translation gateways to connect your IPv6 clients to anything from the legacy IPv4 Internet and over time the traffic through those decreases so that cost will diminish. Whether the rest of the world takes 50 years or 15 to upgrade it's just a tweak to the budget for the translation gateways, everything else stays the same for you.
As with anything IP related there’s a culture that’s just as important as the technical side. If your ISP gives you anything less than a /56 for your site (a VPS running multiple containers is a valid definition of site!) take your business elsewhere.
There’s a lot of hyperbole about v6 address space, but even taking account of its sparseness, IP rationing really is for v4 only.
For every /24 allocated to an LIR (NB 2 bits fewer than the subject of this RIPE bulletin) they can assign as many sites a /56 as there are current IPv4 addresses in total.
A lot of people don't really understand exactly what moving from 32bit to 128-bit addresses means.
Let's say that we waste 65535/65536, or about 99.9985% of IPv6 address space on pointless allocations, leaving only one /16 left. This still means there are 5 192 296 858 534 827 628 530 496 329 220 096 addresses left to allocate, or 5*10^30, or enough addresses that if we had to distribute them to a trillion people per planet living on a trillion planets, they'd still get 5 billion addresses per person.
Each ISP can have 65k customers who are big orgs with complex site needs and a /48, or 4 billion small customers getting a bundle of individual networks on their /56.
In the latter, each has address space for, say, 256 VLANs which allows network isolation of many internet enabled fridges.
And in theory the current scheme allows for 16 million ISPs to exist, though in practice not all the address space is available.
Edit: And prices going up:
$ dig news.ycombinator.com AAAA
I have been running dual stack at home for around five years now with only a couple of wobbles that I can point at my ISP losing their IPv6 and not noticing for a while.
$ ip -4 addr show | grep eth0
$ dig news.ycombinator.com AAAA +short
$ wget -6 https://news.ycombinator.com -O /dev/null
Resolving news.ycombinator.com (news.ycombinator.com)... 64:ff9b::d1d8:e6f0
Connecting to news.ycombinator.com (news.ycombinator.com)|64:ff9b::d1d8:e6f0|:443... connected.
HTTP request sent, awaiting response... 200 OK
[...] ‘/dev/null’ saved 
The wget forced to v6 does not work here. That's a bug somewhere. My eyes are no longer happy 8( ... 8) ... ahh, all OK now!
They will be once DoH breaks DNS64, unless Cloudflare invents a way to make it somehow work (perhaps hosting their own NAT64 gateway?).
Clients can also synthesize the DNS64 records themselves locally, or use 464xlat.
Literally like the difference between HTTP/1.1 and HTTP/2. Yeah not all sites use HTTP/2 yet but how often would you notice if you didn't go looking for it?
Another fact is gmail which supports IPv6 requires a PTR pointing back to the domain the mail is sending. Currently a lot of providers which gives IPv6 does not support adding PTR records for IPv6, because it is handled differently than IPv4. This has led to lot of people defaulting to IPv4 when sending mail.
But alas, no, that's not the state of things.
sneak@nostromo-2:~$ host -t aaaa news.ycombinator.com
news.ycombinator.com has no AAAA record
Lately I've been learning a lot more about IPv6 and there are a TON of subtle differences in the protocols that matter if you're operating a large network. Random example I recently read about: the way link-local addresses are generated. 
Not that this excuses inaction, but it does give me more empathy for orgs struggling with, or not doing, the transition to IPv6.
: Best doc I can find in 30 seconds that covers some of the differences: https://www.juniper.net/documentation/en_US/learn-about/ipv4...
If IPv6 was just IPv4 with extra addresses, the adoption rate would have been very quick.
Ironically the techs did complain about the addresses looking funny in the Firewall logging.
It could be cheaper to buy IPv4 than have a company-wide (dual-stack?) IPv6 rollout:
My boss: "why in the world would I figure out and enable ipv6 and have to configure everything twice and have twice the attack surface?"
Me: "umm... so that maybe 30 years in the future we can switch v4 off?"
It's a tough sell, even in IT :/ imo we should just plan time to do things properly instead of holding adoption back.
The last one is starting to not be true, but it was a long, long, time getting here.
If you watch cloud providers ip spaces they are growing very impressively.
When people say ipv4 has run out they should qualify this as free IPv4
Also the only way to reach an IPv6 target from a IPv4 source is through a CG-NAT, so dual stack IPv6+CG-NAT deployments should be the norm for many years to come.
Uhhh, they're not returning their IPv4 addresses to any kind of free pool. Those IPs that they have allocated remain with them.
Value of product that can be sold per IP address: $5 - $1000/month.
Having worked in an organisation that had millions of addresses, we opted to carry on having a long term sustainable business over selling our IPs for short term gains.
Eventually the addressable market on IPv6 will reach a critical mass. At that point, the value of IPv4 will become relevant to niche markets only.
One can hope. I wouldn’t be too surprised if some ISPs try to deploy just CG-NAT and punt on IPv6 deployment as long as they can.
One of the Perks of having Root on your countries ADMD - of and Super Root (level 7) on some of the systems
When RIPE is out, the only way to get more addresses is by buying or renting them from somebody else who has a commercial interest to sell or rent you IP addresses or to control what you are doing with them.
With RIPE running out, there is no more way to get an IP address without asking a commercial third party for permission to be a part of the internet.
This will lead to a further centralization of the internet as the owners of big blocks will make sure that their blocks get even bigger so they can ask for rent for what was previously available for (mostly) free.
This isn't about saying that this is the end of the internet and the end of the ability for people to get on the internet, but it's definitely a huge change in landscape that we are going to feel as time goes on and we still refuse to go IPv6
Which makes sense considering that the exact same companies who would need to do something to get IPv6 going are also the same companies who have the most to gain from address scarcity.
AFRINIC has not exhausted IPv4 yet, although they are coming close to the beginning of the end (when they're down to their last /11).
Nobody is returning addresses back to any pool. IPs are being allocated at a rate of over a million a month.
If each LTE terminal has a publicly routable IP, unless it's statefully firewalled, any random Internet user who can figure out my IP can run up my data bill, or packet me and inflict a Denial of Service. I remember long ago, some mobile operators in the U.S. were assigning public (non-firewalled) public IPv4 IPs to mobile devices... Attackers were literally scanning Sprint's mobile IP ranges for open port 22 and logging in over SSH as root/aspen to hack jailbroken iPhones!
Taken another way: it's easier to statefully filter incoming flows (FW) than it is to statefully map flows (NAT) both from an implementation and operation perspective.
Only yesterday I had to wheel out Wireshark to prove to a telephony services provider that their bod had forgotten to update a PBX with its changed WAN address.